|
|
|
|
Selecting My Uni Dessert (Before I've Had Entree) Again cometh the time to re-enrol, only this time I get some choice in what to do. That's all good and fine, but I have to go in tomorrow and I'm still not really sure what Computer Science elective to take. Having already worked for a year, with a fair bit of confidence and a massive project looming over all of next year, the need to learn more of the same and really push my programming ability might take a back seat. Choosing Object-Oriented Software Design, Software Architecture and Software Requirements Engineering as my Software Engineering electives was quick. It's the final CS elective to close out the course (alongside my year-long SE project) that has proved harder to select. I was going to do Computational Science but it's mysteriously disappeared from our eligible elective list. File Structures also came highly commended by a guy in my current job who was doing it earlier this year but that also disappeared. What's left is a few design courses, some web-related courses, some system admin stuff and some more "out there" options. Surprisingly I'm investigating the latter. I guess in my final year it feels like a backward step to do database, networking or system (basically non-programming) stuff, even though that's not strictly true. The first subject to grab my attention was Web Development Technologies. C#, .NET, database back end, sounds good. I've done zero C# or .NET and while I'm assured C# isn't so different from the familiar C++ and C, so I can pick it up easily, it'd still be good to learn it at uni and be tested. The turnoffs with this subject are the heavy workload and large group work aspect. A friend from uni, J, did it last year and while I think he enjoyed it, I got the impression it was a lot of work. As for group work, despite the apparent spread of work across the team, I've come to loathe it as it simply requires so much management. I also don't like a portion of my grade being outside of my control when I don't know or have confidence in the team I'm working with. Other options include Agent-Oriented Programming And Design. This'll be like starting a whole new language and set of fundamentals again and I'm not sure if that's what I want or not. Generally it will be lower stress to help with the learning curve. There's just one semester-long group project and no exam, so that's appealing! AO programming piqued my interest about 6 months ago, but when I was told it's barely used, my interest waned. I don't see a lot of use in learning unpractical languages anymore, as I feel I'm done with the "learning" languages. So if I'm going for relevancy (and particularly immediate relevancy), I'd go with Web Dev over this one. Josh pointed out two more into the mix, Parallel Computing, which deals with programming for multi-core machines. It may be the future, but it sounds very hardware oriented and that's generally not my area of expertise, if I have one. There's a fine line between broadening the scope of your knowledge and boosting your resume to learning stuff that you'll never use anytime soon because of my ideal career path. The other is Evolutionary Computing which deals with genetic algorithms and swarm intelligence, which just sounds whack to me. Very rarely have I thought that I needed "simulated biological evolution" to solve problems. I don't plan to work in a research center. I'll work it out by tomorrow. I don't have much of a choice in that. At least I checked all my fees are paid...didn't enjoy when that happened and was basically told that if they don't get paid and you get back within the hour, you can't enrol. Although it did force me to remember my keycard PIN after that! Previous Soapbox: It's The News Wrap! |