High school algebra and a reasonable aptitude for mathematics.
Introduction to Computer Science and Programming Using Python
About this Course
This course is the first of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems. Some of the people taking the two courses will use them as a stepping stone to more advanced computer science courses, but for many it will be their first and last computer science courses.
Since these courses may be the only formal computer science courses 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, they are not "computation appreciation" courses. They are challenging and rigorous courses in which the students spend a lot of time and effort learning to bend the computer to their will.
Introduction to Computer Science and Programming Using Python covers the notion of computation, the Python programming language, some simple algorithms, testing and debugging, and informal introduction to algorithmic complexity, and some simple algorithms and data structures.
Recommended textbook. The recommended textbook for this course is: Introduction to Computation and Programming Using Python, Revised and Expanded edition, by John Guttag (MIT Press, 2013). Professor Guttag’s book is priced at an affordable $25.00 and is available in both print and e-book editions wherever books are sold.
Special offer for edX students. The MIT Press is offering enrolled students of 6.00x a special price of $17.50 (a 30% discount) on books ordered directly through the publisher’s website. To take advantage of this offer, please use promotion code guttag30.
Ways to take this edX course:
Simply Audit this Course
Audit this course for free 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.
Pursue a Verified Certificate of Achievement
Plan to use your completed coursework for job applications, promotions or school applications? Then you may prefer to work towards a verified Certificate of Achievement to document your accomplishment.
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.
Ana Bell is a lecturer in the Computer Science and Electrical Engineering Department at MIT.
Professor Bell received her Bachelor in Applied Science from the University of British Columbia in Vancouver, Canada. She received her MA and PhD from Princeton University. Her research was in computational biology, specifically using computational techniques to answer the questions: what do genes do, and how do genes interact with each other and other small molecules?
She discovered her passion for teaching after being appointed as a teaching assistant for two semesters for Introduction to Computer Science, at Princeton University. Since then, she has sought any opportunity to introduce students to the wonderful world of computer science!
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.
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.
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.