While not on the level of 6.001 at MIT (Structure and Interpretation of Computer Programs) or CS 323 at Yale, my last elective course for the Computer Information Systems minor, CIS 330 (Database Management) gave me some experience with “traditional” programming, a skill I had previously lacked. Although many people do not consider XHTML and its related languages as programming, I always approached it like that as a way of problem solving. I should mention in addition to this that the usual prerequisite for the course (CIS 200 – Intro to Programming) was waived in order so that I could enroll in a section of 330, one of only two potential CIS courses offered for the Spring ’09 semester. That course’s emphasis on high level programming concepts (Taught in Visual Basic) serves to provide a basic understanding that is built upon in order to create and manipulate databases. Although I probably won’t be writing correlated subqueries for Oracle anytime soon, a “B” in the course makes me feel as though I’ve accomplished something and had the opportunity to work at almost all levels that would be involved in web production – something I look forward to continuing in the future.
For those who may not know, my comparison to 6.001 and CS 323 gives at least some indication to the challenge that this course represented for me: stepping outside of my comfort zone into an area that I was completely unfamiliar with. The relative difficulty of 6.001 and CS 323 has been described by some (Joel Spolsky in particular) as “astonishing” and they are widely recognized as some of the most difficult programming-intensive CS courses on the planet. The other major difference that comes to mind from those courses and my experience is the context in which they are taught. At MIT, the focus of CS curriculum is clearly engineering-based, Rider approaches it as a way to support business processes. Both approaches are valid, although it usually needs to clarified during job interviews to make sure that all those involved understand the type of coursework that was done.
By sheer luck, my attempts to return the textbook for 330 (The 10th edition of Kroenke’s Database Processing) were unsuccessful and it now serves as a subtle reminder of how I spent many Monday nights during my Spring ’09 semester.