Learn Computer Science with MIT OpenCourseWare (OCW)

I just turned 35 last month. I have a wife and a 9 month old baby. I’m not going to be going to MIT to get another degree (I graduated from Loyola University New Orleans in 2004 with a Psychology degree). I know a pretty good amount about computer programming (I have an app in the appstore called backupbox that’s a tool for people who want an easy way to physically backup their photos and videos offline and I have a freelance website for Virtual Reality developers (VR/AR Developers called redVR), but as much as I’ve learned on my own about computer science over the years I feel there are holes and that bugs me. The problem is I don’t know what I don’t know so I’m going to start at the beginning. I understand there will always be backend and creation tool software to learn (like cPanel, iTunes Connect, Unity3D, and WHM) that might not be covered by MIT courses, but I’m going to see how much I already know and fill in some holes by using the free OpenCourseWare content (here is a link to all the courses for a BS in Computer Science and Engineering) so generously provided by Massachusetts Institute of Technology. This will be my living document to serve as a placeholder and quick reference to links for me. Feel free to use it yourself as well. -J

Course 1: Introduction to Computer Science Programming in Python

Textbook: Guttag, John. Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press, 2016. ISBN: 9780262529624.

Link to lectures

Link to slides and code


The text starts with a preface basically stating the following goals for the reader:

-Overview of computational problem solving

-Learn to apply computational modes of thought

*******UPDATE 3/22/17:

I’m 3 days into my adventure and I’m surprised at how far ahead the book and instructor have started. This is supposed to be an introduction to Programming. If someone has never programmed before I really kind of feel for them because no one even explains about text editors or anything, lol. Anyway, I’m going to start at the very beginning for people because it’s totally ridiculous not to. I’m using the 2013 version of the book, which requires the use of Python 2 instead of the newer Python 3. If you want to follow along with me and are using the same book you can use the steps (I’m using a Macbook Pro) I list and not pull your hair out trying to figure out what to do because no one is going to tell you. I guess they assume you can just Google it, but you can just Google anything. The point is to get PROFESSIONAL advice so there aren’t any holes. This is my biggest pet peeve about learning to program.

STEP 1: Download Python 2.7.13 here

STEP 2: Go to Launchpad and find the program called IDLE. This is the Integrated Development Environment described in the book. It’s basically a text editor and a shell. The shell shows the results of the code you put in the text editor. You can type directly in the shell too, but that’s kind of pointless unless you just want to play around. Here is a picture of what it looks like when it’s opened up.

IDLE shell and text editor
IDLE shell and text editor

You can see the editor on the left and the shell is on the right. I typed into the shell at the very top and then I clicked “File” and then “New File” and made a new project called firstproject.py (Python files end with extension py) where I told the computer to add 2 and 5 together and then to print the result. I then clicked “Run” and then “Run Module”. The result is what you see on the right. This all seems really simple and it is, but it still needs to be discussed in an introductory course. Lots of people probably watch the video of the lecture or read the first part of the book and then quit because no one explains how the hell to enter any code. Drives me crazy. It doesn’t matter how smart someone is they can’t just intuitively know how to do something if you don’t explain it to them. Ugh. Anyway, I’ll be back later 🙂 and probably start a new post for each “class” day/new topic.

EDIT: Okay, my bad. There is a handout that talks about downloading the software in Problem Set 0. At least I found this the same day as my rant. I’ve decided to buy the new version of this book and download the newer software and just do things the right way (lol) this time.


Leave a Reply

Your email address will not be published. Required fields are marked *