High school algebra and a reasonable aptitude for mathematics.
Introduction to Computer Science and Programming
6.00x is an Introduction to computer science as a tool to solve real-world analytical problems.
About this Course
Introduction to Computer Science and Programming
6.00x is an introduction to using computation to solve real problems. The course is aimed at students with little or no prior programming experience who have a desire (or at least a need) to understand computational approaches to problem solving. Some of the people taking the course will use it as a stepping stone to more advanced computer science courses, but for many, it will be their first and last computer science course.
Since the course will be the only formal computer science course many of the students take, we have chosen to focus on breadth rather than depth. The goal is to provide students with a brief introduction to many topics so they will have an idea of what is possible when they need to think about how to use computation to accomplish some goal later in their career. That said, it is not a "computation appreciation" course. It is a challenging and rigorous course in which the students spend a lot of time and effort learning to bend the computer to their will.
Those who earn a passing grade will get an honor code certificate from MITx. Please see the edX FAQ for more information about certificates.
The required textbook for this course is Introduction to Computation and Programming Using Python (Spring 2013 edition) by John Guttag. The MIT Press has generously provided free access for MITx students to an online version of the required textbook for the duration of the course. The open, online version offers the full text of the book in a static, read-only format (not searchable or downloadable for use offline). The book will also be published in both print and e- book editions in January 2013 by the MIT Press. Both editions of the book are priced at $25.00 and are now available from retailers.
Limited-time offer! The MIT Press is offering MITx students a special price, through March 22, 2013 only, of $17.50 (a 30% discount). To take advantage of this offer, please use promotion code ICPUP30 at http://mitpress.mit.edu/books/introduction-computation-and-programming-using-python.
Note to students who purchased the Fall 2012 edition of this textbook: If you already own a copy of the Fall 2012 version of Introduction to Computation and Programming Using Python by John Guttag, please be aware that the newly released Spring 2013 edition of the book reflects numerous corrections and minor revisions throughout. You may use the Fall 2012 edition for this Spring course but you are strongly advised to regularly compare its text against the open online edition of the Spring 2013 edition (which will be freely posted within the Spring 6.00x courseware). Alternatively, you may wish to purchase the Spring 2013 edition if you are able.
In the meantime, if you're interested in reading more on Python, check your local library for Python textbooks or search online for a free Python text, such as this one.
Note: This is a past/archived course. Certain features of this course may not be active, but we still invite you to explore the available materials. Disabled materials include: the discussion forum and downloadable textbook.
Ways to take this edX course:
Simply Audit this Course
Can't commit to all of the lectures, assignments, and tests? Audit this course and have complete access to all of the course material, tests, and the online discussion forum. You decide what and how much you want to do.
W. Eric L. Grimson is the Chancellor of the Massachusetts Institute of Technology, a professor of computer science and engineering, and the Bernard M. Gordon Professor of Medical Engineering. He was named Chancellor of MIT in 2011. A member of the MIT faculty since 1984, Professor Grimson previously served as head of the Department of Electrical Engineering and Computer Science, as its associate department head, and as its education officer. Professor Grimson is internationally recognized for his research in computer vision, especially in applications in medical image analysis. He and his students have developed techniques for activity and behavior recognition, object and person recognition, image database indexing, image guided surgery, site modeling, and many other areas of computer vision. Professor Grimson has been actively engaged with students throughout his career. For 25 years he lectured subject 6.001 Structure and Interpretation of Computer Programs, and is now engaged in teaching 6.00 Introduction to Computer Science and Programming and 6.01 Introduction to EECS. He has also taught undergraduate subjects in computer architecture, software engineering, and signal processing. In all, Professor Grimson has taught more than 10,000 MIT undergraduates and served as the thesis supervisor to almost 50 MIT PhDs. Professor Grimson is a native of Saskatchewan, Canada. He received the BSc (Hons) degree in mathematics and physics from the University of Regina in 1975 and his PhD in mathematics in 1980 from MIT. He is a recipient of the Bose Award for Excellence in Teaching in the School of Engineering at MIT. He is a fellow of the Association for the Advancement of Artificial Intelligence (AAAI) and a fellow of the Institute of Electrical and Electronics Engineers (IEEE).
Professor Guttag is the Dugald C. Jackson Professor of Computer Science and Electrical Engineering at MIT. He leads the Computer Science and Artificial Intelligence Laboratory’s Data Driven Medical Research Group. The group works on the application of advanced computational techniques to medicine. Current projects include prediction of adverse medical events, prediction of patient-specific response to therapies, non-invasive monitoring and diagnostic tools, and tele-medicine. He has also done research, published, and lectured in the areas of data networking, sports analytics, software defined radios, software engineering, and mechanical theorem proving.
Professor Guttag received his bachelors degree in English and his master's in applied mathematics from Brown University. His doctorate is from the University of Toronto.
From January of 1999 through August of 2004, Professor Guttag served as Head of MIT’s Electrical Engineering and Computer Science Department. He is a Fellow of the ACM and a member of the American Academy of Arts and Sciences.
Senior Lecturer in the Department of Electrical Engineering and Computer Science at MIT. He has taught computer science courses in the department for many years and won many awards for his teaching. His research has been in the areas of programming languages, compilers, computer-aided design tools and educational technologies.
Larry Rudolph is a researcher at the MIT Computer Science and Artificial Intelligence Laboratory. Larry received his PhD also in Computer Science in 1981 from the Courant Institute at NYU. He was on the faculty at University of Toronto, Carnegie-Mellon University, and The Hebrew University, before joining MIT as a principal research scientist, in 1995. Way back in 1978, he helped start the Ultracomputer, a high performance parallel computer architecture, many ideas of which can be found in current multi-core computer chips. Through the lens of parallel processing, Larry's research took a new look at most aspects of computer systems, from algorithms and programming languages down to computer architecture, switching networks, as well as free-space optical interconnection networks. His research focused switched from high to low performance computing, that is, mobile systems and applications. He took a break from MIT to launch the mobile virtualization project at VMware whose code can be found with the Android OS on Verizon phones. He also founded a used marketplace for digital goods.
On-line and distance learning has been of interest to Larry since teaching a "pervasive computing" course as part of the Singapore-MIT Alliance where students were sitting in classrooms either in Cambridge or Singapore; the 12 hour time difference was a fun challenge. Larry's interest in Python is exemplified in his book "Bluetooth For Programmers" which uses Python to explain how to control Bluetooth functionality.
High school algebra and a reasonable aptitude for mathematics.
You need to have a computer running one of the following operating systems:
- Microsoft Windows, version XP or greater (XP, Windows Vista, or Windows 7)
- Apple OSX, version 10.2 or greater
- Linux - most distributions that have been released within the past two years should work
In addition, you will need the ability to download, install, and run software on your computer.
We strongly recommend that you use the Chrome browser while visiting the edX site. This site is optimized for viewing in Chrome. If you cannot use Chrome, you should use the Firefox browser. Be advised you may have trouble with site functionality if you choose to use an alternate browser. Particularly, Internet Explorer (IE) does not support many of the features of modern Web sites that the edX courseware contains, so you are cautioned against using this browser.
6.00x will be using the Python programming language, version 2.7. You are not expected to have any prior programming knowledge - this course is intended for students who have little to no experience with any programming language.
The class will consist of lecture videos, which are broken into small chunks, usually between eight and twelve minutes each. Some of these may contain integrated "check-yourself" questions. There will also be programming assignments and standalone exams/quizzes, which are not part of the video lectures.
We strongly recommend that you use the Chrome browser while visiting the edX site. This site is optimized for viewing in Chrome. If you cannot use Chrome, you should use the Firefox browser. Be advised you may have trouble with site functionality if you choose to use an alternate browser. Particularly, Internet Explorer (IE) does not support many of the features of modern Web sites that the edX courseware contains, so you are cautioned against using this browser
Please watch the video on this page that we recorded especially for this offering of the course.
Yes, transcripts of the course will be made available.
No. You can watch the lectures at your leisure - you do not need to watch the lectures at any set time.
Nothing: the course is free. An open, online version of the required textbook will be available on the course site for read-only use (that is, not searchable, or downloadable for offline use). The book will also be published in both print and e-book editions in January 2013 by the MIT Press. Both editions of the book are priced at $25.00 and will be generally available from retailers starting in early January 2013. Please see more about the textbook under "About 6.00" above.
Yes. Online learners who achieve a passing grade in a course can earn a certificate of achievement. These certificates will indicate you have successfully completed the course, but will not include a specific grade. Certificates will be issued by edX under the name of MITx, designating the institution from which the course originated. For the courses in Spring 2013, honor code certificates will be free.
If you have any questions about edX generally, please see the edX FAQ.