Most computer science classes these days require you to work in groups these days. This means that at some point you will have agree on the interfaces, and merge the code. At MSU this is usually done by sending out angry emails, knocking your group members on the head with dull objects, and rewriting large portions of the code because some idiot does not read his email.
But it doesn’t have to be this way. All we need is to set up some nice source code repository and make it available to students. This would not only make our life easier, but it would also teach students important skills for the future. These few hours wasted fighting with cvs, subversion or even sourcejammer could really pay off once the students get out there and start working in the industry.
And of course, the instructors could monitor the progress of their students. All version control tools keep track of the history of revisions. All you need to do is peek at the project history and you would know which student did the most work, when was the project started, and who contributed which part. There would be no more need to force student to keep a work log, or to expect them to fairly evaluate their team mates at the end of the semester.
A cvs does not lie, and it does not need to uphold the unspoken student honor code. It would truthfully log everything. The logs would easily identify all the lazy slackers without forcing moral dilemmas on poor students
Of course someone would have to maintain that software. And this is where my little dream falls over and dies. No one would take on this responsibility. OIT would wash their hands – we do not have enough students for them to even think about this. The CSAM support crew would be the next choice… But they wouldn’t do it either. They are to busy removing spyware and trying to keep the network in RI from falling apart. They would need to be dragged kicking and screaming into this – and even then, we would only get a half assed support.
The only hope would be to do this in house. Put a graduate assistant on this, and delegate some faculty member to mentor the whole project. Unfortunately GA’s come and go, and faculty is overloaded as it is. No one is going to take on this responsibility.
So it’s never going to happen. But it would be a really cool thing to have!
Update Thu, February 09 2006, 10:41 PM
Uh! Some people do read this blog after all. I got quoted at Gigant Robots so I better clarify this stuff here.
I guess I did not elaborate enough in my complaints about lack of support. This is what happens when you post in a hurry. “Removing spyware” was oversimplification. They don’t clean student computers – that’s helpdesk’s job. From what I know they do maintain the two labs in RI and at least one of them gets ravaged by 109 students who like to download and install crap. These are CSAM funded I think, so they are out of scope for IT.
They also maintain faculty and staff desktops/laptops, the classroom computers, research machines, the smartboard systems and bunch of other things. They also maintain pegasus/freddie and assorted machines which host mailservers, login servers, and bunch of other services. Most cs users have shell accounts on pegassus/freddie they can use for development and other course related work. I bet they do some more important stuff on top of that. So it is a bundle and a half right there :) I guess my main complain was – their turnaround time is really slow most of the time. Most of the faculty complains about them all the time.
CS decided to maintain their own webserver (cs.montclair.edu). It was fully maintained by Dr. Koeller and grad assistants, who designed the page and wrote all the assorted apps from scratch. One woud think that stuff like that would be something that could be delegated to the CSAM IT staff. But for one reason or another they were not able to provide the department with a the level of support, and speed of response they needed. I’m not saying that there were no other reasons behind it, but I guess this just illustrates how CS dept does not like to completely “rely” on CSAM in critical matters.
I guess now you know why this blog has “incoherent” in the name. I tend to ramble without much thinking sometimes :P
All of that said, I will mention it to the faculty. Of course I will have to explain to most of them what a version control system is (sad, I know). Seriously, I get blank stairs most of the time when I mention the little sourcejammer server I use for my research stuff. But maybe if I could reach some of the more cluefull people…