Introduction to Computer Science and Programming Using Python

Massachusetts Institute of Technology, , Prof. John Guttag 0.0 ( Reviews) 33248 Students Enrolled

FVL is learner-supported. When you buy through links on our site, we may earn an affiliate commission

Updated On 02 Feb, 19


An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5.

Course Description

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. This run features lecture videos, lecture exercises, and problem sets using Python 3.5. Even if you previously took the course with Python 2.7, you will be able to easily transition to Python 3.5 in future courses, or enroll now to refresh your learning.

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.

What you will learn

  • A Notion of computation

  • The Python programming language

  • Some simple algorithms

  • Testing and debugging

  • An informal introduction to algorithmic complexity

  • Data structures


High school algebra and a reasonable aptitude for mathematics. Students without prior programming background will find there is a steep learning curve and may have to put in more than the estimated time effort.



comment person image


Sed sollicitudin risus eget nisl accumsan, nec gravida metus fringilla accumsan magna a lorem auctor sagittis.

comment person image


Etiam volutpat, orci quis vulputate sodales, metus diam scelerisque ligula, sit amet conggaugue orci ut leo. Sed mattis suscipit urna sed finibus.