What is the difference between the skill set taught to computer science students and the skill set one needs in the workplace?
Another great question from a friend of mine. In fact, I thought a lot about this when I first started learning at MIT.
My Introduction to Programming
The first software engineering class I took at MIT (which doesn’t exist in the same form any more) was 6.001, Structure and Interpretation of Computer Programs.
For those of you who aren’t familiar with MIT course numbers, the first number (6) tells you what department the course is in, in this case, the Department of Electrical Engineering and Computer Science (EECS). The numbers after the decimal are determined by the department, but most people get used to just saying “I’m taking 6.170” or “I’m taking 10.250” or “I’m taking 8.139”, and a lot of people will understand — unless you aren’t in that department in which case you’ll have to ask for clarification.
I was excited to dive right into the world of software development, as I had dabbled in it when I was growing up. Much to my surprise, the first few weeks of the class had us learning a language I had never even heard of called Scheme. It is a variant of Lisp, a language that uses parentheses to denote data structures and functions…