Welcome to 10.009 - Digital World!

Site Navigations:

  1. Class Calendar
  2. Courseware
  3. 1D Projects
  4. 2D Design Challenge
  5. Resources
  6. Grading
  7. Instructors
  8. Learning Objectives


An introduction to computational thinking and computer programming. We assume no prior background in programming and we begin with a basic framework for problem solving technique. We start from basics of representation of data and move to a more abstract types. We emphasize general patterns and abstraction as well as apply methods of object-oriented programming for clarity and reusability of software. Examples to be drawn from the four pillars of SUTD society.

Class Time:

Three sessions per week (S1, S2, S3):
  • S1: 1.5 hour
  • S2: 1.5 hour
  • S3: 2.0 hour

Refer to Class Calendar for more detail.


Wentworth, Elkner, Downey, and Meyers, How to think like a computer scientist: Learning with Python 3, 3rd Edition


Yue Zhang, An Introduction to Python and Computer Programming, Springer, 2015
Y. Daniel Liang, Introduction to Programming Using Python, 2013
Charles Dierbach, Introduction to Computer Science Using Python: A Computational Problem-Solving Focus, 2013
The Digital World, 2013 Notes