Home

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.

Textbook:

How to Think Like a Computer Scientists, Interactive edition

References:

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

https://docs.python.org/3

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