6.00x: 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.

Course Staff

  • Eric Grimson

    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).

  • John Guttag

    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.

  • Chris Terman

    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

    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.

  • 4 February 2013, 17 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb


No reviews yet. Want to be the first?

Register to leave a review

Included in selections:
Csci52 Информатика и программирование
1 курс МИЭМ ВШЭ, 10 кредитов
More on this topic:
Large-icon Computer Architecture
In this course, you will learn to design the computer architecture of complex...
6.00.2x_computational_thinking_course_tile262x136_verified 6.00.2x: Introduction to Computational Thinking and Data Science
An introduction to using computation to understand real-world phenomena. About...
Saltzman_2 Frontiers of Biomedical Engineering
The course covers basic concepts of biomedical engineering and their connection...
6.sfmx_streetfighting_course_tile262x136 6.SFMx: Street-Fighting Math
Teaches, as the antidote to rigor mortis, the art of educated guessing and opportunistic...
Res-8-001s09 Applied Geometric Algebra
László Tisza was Professor of Physics Emeritus at MIT, where he began teaching...
More from 'Computer Science':
9395b535-1fa7-4ed4-9fd8-98b86ba682d9-98e1ff5caeec.small UX Research
In this MOOC you will learn how to connect with users at every step of a digital...
61be438f-28b9-4339-9437-21c34b3c3dd6-e9ecfcecaf58.small UX Prototyping
Become a prototyping virtuoso! Master the ability to propel your creative team...
Df0769a9-8b89-44ae-b223-4e9de3905b38-b5f92c09ad8d.small UX Data Analysis
Become a UX data scientist! From qualitative data analysis to big data Web analytics...
0b33df59-ff43-4433-8c99-b3defeca1ad8-1c29cdafeead.small UX Management
Be a UX advocate! Lead the gamut of user-centered design activities, while sharing...
Developers-logo Google's Python Class
Welcome to Google's Python Class -- this is a free class for people with a little...
More from 'edX':
9395b535-1fa7-4ed4-9fd8-98b86ba682d9-98e1ff5caeec.small UX Research
In this MOOC you will learn how to connect with users at every step of a digital...
61be438f-28b9-4339-9437-21c34b3c3dd6-e9ecfcecaf58.small UX Prototyping
Become a prototyping virtuoso! Master the ability to propel your creative team...
B42ba0d8-08b2-48a4-904e-851a800f0c0e-9d260507a74e.small Digital platforms in performance: radio drama, podcasts, video games, YouTube, and other online platforms
Advance your digital story-telling prowess and learn how to create interactive...
3dbb7e34-528e-4bf9-a64a-f021c4161fdd-c667d1f604b0.small Supply Chains for Manufacturing: Inventory Analytics Course
Learn about effective supply chain strategies for companies that operate globally...
E435bd5b-8843-40c8-b260-ce34433d9a0e-a3897f869072.small Global Business Strategy
Learn how to capitalize on opportunities, and manage the challenges of the global...

© 2013-2019