My last exam was yesterday from 9 – 11:30. It was for CS 3110, the traditional “weeder” CS course at Cornell. Rumor has it that it’s less difficult compared to previous years, which makes sense as more students are taking it, which would increase the overall range of scores and could very likely lower means. The CS department is blowing up though, doubling, tripling in size, so there’s not much that can be done about class demand.
There has also been occasional mention of a possible honors course, CS 3112, but not only does 3112 seem like an awkward number, it seems counter intuitive to further divide up the CS majors. My fear is that if there would be an honors course, the regular CS 3110 would be even more easy and would not properly prepare students for JaneStreet interviews and the (cough) many uses of OCaml you will find in the real world.
I have to say though, CS 3110 was my favorite course this semester, although it tied with Graphics as the main factor of things to stress about. It really changed the way I thought about programming, when I had foolishly thought after taking CS 2112 that I was even somewhat close to grasping a full understanding of what programming is.
The Cornell CS department uses OCaml as the primary programming language. I’ve become very attached to it over the course of the semester, loving the pattern matching, the module/functor design, the strongly typed checking, the elegant look of the code (provided you style the code in a visually appealing way, that is).
The final project, which was making a Pokemon game framework and a bot to run on it, was quite fun (though tedious) and it really threw me into a large scale software design project that I haven’t had since the likes of CritterWorld.
Overall, I’m sad to be finishing the semester, but relieved that finals are over and that I can finally relax and sleep obnoxious numbers of hours if I so desire. I’m thinking of looking into Haskell, as my friend Hunter suggested it. It’s purely functional, which would be loads of fun.