Situation: I work at a fairly new international university and I am putting together a proposal for them to implement a kind of student notification system. The problem to remedy is that because the entire student body is comprised of international students, email has not been sufficient for communicating time sensitive information. Often, the students who ignore email or never check their university email are also the very same students who need to do something or go somewhere for their own benefit. Faculty resort to going to the student's class and talking to them in the hallway directly which is just plain inefficient.
The Program: It would work like this: Professor logs into his classroom computer (running Windows XP) before class starts. At that time(either integrated with Windows or a stand-alone program which he must start/log-in to), he is presented with a short list of his classes. He clicks his current class. He then has a list of those students in his class. Next to each student would be a space for alerts/notifications. If a student had an alert it would be a short message typed in by another faculty/staff member who had tried emailing that student but had not seen any action on the student's part. Professor yells at student, students takes action, the message originator deletes the alert next to that student's name. Other benefits to the class list would be mouse-over for student photo, audio for student name pronunciation, etc.
My question: About how much would this cost to make and any suggested programming platforms? A ballpark figure is fine, just want something to give the management a general idea of cost when presenting them with the idea.
I'm ignorant of such things, so please excuse any lack of needed information or inaccuracies.
Posts
First, it's unclear why you'd want such an application integrated with Windows in a "thick client" style. A Web-based system is much more realistic today, running on the school's intranet.
The biggest technical challenge is probably integrating this system with the school's existing course registration management system. You obviously want to be able to pull a class roster automatically without having someone sit down and have to copy all the data manually. It's likely that there is some integration possible, but what that looks like and how complex it is depends almost entirely on how the existing course records are kept electronically.
You also have a potential privacy and security issue here - you're dealing with personally identifiable information (PII) of a sort, and your university or local laws may restrict who can see class rosters or student information, for example. You'd want to clear that with appropriate people before proceeding.
A secondary challenge is integrating with your school's existing authentication infrastructure. Keeping a separate username and password database for every professor is really very 1990s. Today, you'd want to have people authenticate against the existing single sign-on infrastructure that you've got at the university, or at least some existing source of username and password data (e.g., an LDAP directory). This all depends on how and whether you have those things set up already at your school, and so it's another unknown.
You can program this in any Web-based back-end programming environment you want. Java with JSPs or equivalent, PHP, Python, you name it. It's a very small app. It's also got a very strange purpose. You might be able to use the same infrastructure to accomplish the same goal with less manual intervention by adding some additional notification capability by integrating straightforwardly with a service like Twilio, which would let you send text messages to students instead of emailing them (though I'm not sure whether or how this works with international phones).
As for cost, that's a thorny question. Because it's a small app, you could just have something hacked together quite cheaply, or you could have something properly engineered. Having something properly engineered is always more expensive. Given the significant unknowns in integrating with your existing systems, if you wanted to "do it right" I'd allocate probably 160-240 person-hours (4-6 person-weeks) by an experienced developer or development staff for this project. That's a gut feel assuming you already have a student directory and authentication system to interface with and there are no significant privacy/legal issues. If these assumptions don't hold, then the costs could be wildly different.
I appreciate the comprehensiveness of your reply. I agree that the program is basic. Can you give me a ballpark monetary cost estimate?
I mean, like he said, that's a great capstone project. But if you wanted full fledged developers and a company with support behind it, You're probably in the $5,000-10,000 without knowing any other information.
10K is what you'd get from a company that has people full time. And lots of projects, and probably has a 1 year development period.
Obviously there'll be someone who'll bid lower and devalue their time. And then you'll get people in India quoting you $100 on those freelance websites.
Best bet, what do you think your budget will be? And, another important bit, when do you need this?
e: Note, 100 hours is just the Rails part of it. Any integration with secondary systems, or having to use a technology base without the rapid development practices of Rails would up that hour estimate considerably.
Did I accidentally navigate to TDWTF?
That said I also tend to align with Frylock's estimate regarding vendor integration. I've been out of the educational sphere for a few years now, but when I was there small-shop custom solutions were the order of the day, particularly at the college rather than university level. Even if you can figure out who actually did the work, the shop's liable to have closed its doors in the meantime.
I couldn't imagine something like this working at a U.S. University, but maybe in Korea things work differently. At every school I've attended, it's been a student's responsibility to check his email for announcements and as adults/almost adults, they should be able to handle, or need to learn to be able to handle, a simple responsibility like that.
This does seem weird. I'm pretty sure every professor I've ever had would be offended at the idea that they were supposed to be babying their students even for the class they were teaching, let alone completely different classes.
This is a much better idea.