Digital World

Undergraduate course, SUTD, 2019

Digital World is a freshmore (i.e. Term 3) module that is taught at SUTD. In that module, we teach programming to every SUTD student. The language used is Python

Official Description

In “The Digital World”, students will learn to use the principles of modularity and abstraction, two fundamental ideas in many areas of design. Modularity is the notion that simple components can be reused to build larger, more complex components. Abstraction is the idea that after a module is built, details on its internal workings can largely be ignored and a simpler description can be used to characterize its function. These two techniques will be taught in terms of constructing systems that interact with and control an external environment. Students will learn object-oriented programming (OOP) in the Python programming language. OOP is a style of software engineering that applies the principles of modularity and abstraction to both code execution and data representation. The course will also cover how to model state machines using abstraction provided in OOP.


Digital World has been a unique experience, as we teach every group of students as a team of two faculties. The module is overall very hands-on with many small projects that allow students to build something with both hardware and software. It is is a style of teaching I greatly enjoy.