“Do not waste time being jealous: sometimes you’re ahead, sometimes behind. Race is long and in the end you see that you are only competing with yourself”.
The reason I switched from Mechanical Engineering to Computer Science after my first undergrad year, to be short: it was extremely boring. I did not want to wait for the 3rd year to come in order for the stuff to get more interesting. From the first two “project” courses in my undergrad I learnt zilch.
However, one aspect was missing from my experience in all of my project / group CS courses: we were never taught to make real decisions about our own project_._ Surely, we were awarded better marks for cleaner code. But as an example, in my second year we weren’t allowed to:
- Write your own socket writeln/readln methods in C. Rational: too complicated, you can’t get it, it’ll be hard for us [TA] to test it. Nobody cared that the provided methods were buggy 🙂
- Design your own plugin system for your game: too complicated, you won’t get it, it’ll be hard for us to mark it. Well, assignment’s implementation wasn’t good at all.
- Come up with your own GUI: whaaat? are you insane? you have screenshots in your assignments 😛
Looks like a list of trivial tasks, but how much thinking, discussion, interaction can each single one of those promote? I’d never thought I’d have a chance to do those things at this university, but I am glad to know that I was wrong.
Not only UCOSP gave me a chance to meet my future colleagues in the field, but it also gave me a taste of what the real world responsibility is like. In short 2.5 days of the sprint I felt a lot of support both from the “old survivors” of the project and the new members like myself. I felt a healthy mix of responsibility and support.
I think UofT should consider making this course mandatory for students in CS specialist/major programs. I am sure UofT can do that. If the don’t want to, here is my why: I can confidently say that this year I learnt and will learn more about human interaction, project management, responsibility, code practices than in my 4 years of undergrad at UofT. I think that’s worth something . It’d be definitely a better investment than a second reading week in December. I don’t read on vacations.
Kudos to all organizers, mentors, TAs, and students for making UCOSP possible!
If you read until here, you are a hero 🙂
Short summary of the work done during UCOSP & plans:
- I concentrated on the Tickets page of Basie and on the random-data tool over these three days. I worked on & closed: 95, 90, 82, 73
- Started converting Alex into Linux faith.
- I am planning to continue working on random-data, but I will give priority to the tickets assigned to me for 0.6 Final (96, 126, 74)