By Joe Pickett, OCW Publication Director
One of the great strengths of OCW as an educational resource is its extensive list of course sites from MIT’s Department of Electrical Engineering and Computer Science. You might think, with so many courses published from the EECS curriculum, that OCW’s work for this department has reached a plateau.
But OCW continues to climb higher, augmenting and refreshing the course list, and two new publications present superb cases in point.
Learning to Think Like a Programmer
6.0001 Introduction to Computer Science and Programming in Python represents MIT’s evolving approach to this core subject, in which students with little or no programming experience learn how to write small programs that accomplish useful goals. 6.0001 is a six-week module using the Python 3.5 programming language.
The course site, showing the Fall 2016 class, has full video lectures featuring Dr. Ana Bell and Professor Eric Grimson. Slides and code for each lecture are also provided, as are interactive in-class questions with videos showing the answers to those questions. The textbook for the course was written by Professor John Guttag, who is well known to OCW fans for his popular OCW Scholar course, 6.00SC Introduction to Computer Science and Programming. The 6.0001 assignments page has helpful links to the 6.0001 Style Guide and a handy list of programming resources, including the Python Tutor.
Learning to Construct Software
Students who have developed some programming skill might then move on to 6.005 Software Construction, as taught in Spring 2016 by Professor Rob Miller and Dr. Max Goldman. As the instructors say in the syllabus, the course “introduces fundamental principles and techniques of software development, i.e., how to write software that is safe from bugs, easy to understand, and ready for change.”
An advocate of active learning, Professor Miller has his MIT students read a carefully structured textbook before coming to class so that most time can be spent doing exercises. The OCW site includes the full set of class readings, along with problems sets and a project, the ABC Music Player.
6.005 uses the Java programming language, for which help is available via the 6.005 Getting Started page and OCW’s popular course on Java, 6.092 Introduction to Programming in Java.
Reblogged this on Untitled Project 2017.
I would like to learn how to program but need to update skills. What level of mathematics is needed? It has been 20 years since I took a calculus class.
Not to worry! Programming doesn’t require advanced mathematics skills, just the curiosity and desire to bring logical thinking to solving problems. Get started with our 6.0001 Introduction to Computer Science and Programming in Python, and please let us know how it goes!