Subject Description
Computational Thinking for Design is an introductory programming course that combines programming both in the design and computing contexts targeted at novice programmers. It introduces students to programming and design computing skills essential for their studies at SUTD regardless of pillar preference.
Number | 10.014 |
Pillar | ASD & ISTD |
Subject | Core |
Grading | Pass / Fail |
Credits | 12 |
Learning Objectives
- Acquire conceptual knowledge and skills for visual and python programming.
- Acquire basic knowledge of computational geometry concepts.
- Develop hands‐on experience with applying computational thinking approaches to explore solutions to design and engineering problems.
- Gain skills in programming the Raspberry pi micro-controller.
- Learn and practice effective technical communication skills for formal written reports.
Measurable Outcomes
- Implement a working visual/textual program to generate variations of a 3‐dimensional model in accordance to a given geometric problem
- Develop python programs that meet a set of specifications to solve computational problems.
- Produce a physical artefact as the final outcome of a computational process for a design project.
- Develop and deliver a written report on time that describes the results of the design project.
Course Structure
The first half of this course is led by faculty of Architecture and Sustainable Design [ASD], while the second half is led by faculty of Information Systems Technology and Design [ISTD]. This site contains contents regarding the first part of the term.
The first six weeks focus on computational design using the visual programming paradigm [>]. The following six weeks, after recess week, introduce programming using Python. Contents taught in both parts of the course complement one another.

Course Overview
Computational Design Thinking takes place twice a week. Each session is 2.5 hours long, split into two circa one hour segments. The first segment is typically theory oriented while the second aims towards practice and applications. The content is organised thematically into 3 parts: Generative Design, Parametric Design and Simulateion. The table below captures the overall organization content in further details.
_
_
_
_
Theme
Generative Design
Parametric Design
Simulated Design
Session A
1A – Course Overview
Introduction and administrative matters
Orientation Activities
No cohort session
2A – Visual programming
Introduction to Grasshopper
2A – Associative modelling
Symbolic expressions to epicycles
3A – Spatial Geometry
Points and vector algebra
3A – Curve geometry
Tangent, normal and curvature
4A – Information nesting
Lists, grids, tables
4A – Data landscapes
Scalar fields
5A – Space and time
Clock and persistence
5A – Modelling Entities
Projectile physics
6A – Hybrid programming I
Projectile physics
6A – Hybrid progamming II
N-bodies
Session B
1B – Computer Aided Design
Introduction to Rhinoceros
1B – Ranges and expressions
Spreadsheet programming
2B – Logical patterns
Conditionals and control flow
2B – Generative design
Assignment 1 workshop
3B – Surface geometry
Tangent, normal and curvature
3B – Parametric modelling
Spiral Bridge
4B – Mesh geometry
Topology , visualisation and subdivision
4B – Parametric design
Assignment 2 workshop
5B – Multibody Dynamics
Planetary motion
5B – Swarm Intelligence
Actors and behaviours
Concluding session
Discussion and review
Documentation
Course evaluation
Course Instructors
Cohort 01

Faculty Fellow
Heong Kheng Boon
Xin Wang
Lee Song Lin
Teaching Assistants
Cohort 05

Lecturer (Course Lead)
Xin Wang
Xie Jiacheng
Teaching Assistants
Cohort 09

Adjunct Lecturer
Heong Kheng Boon
Sruti Niranjan
Mari Jaelle Salas
Teaching Assistants
Cohort 02

Faculty Fellow
Nurul Nazeera
Melvin Wong
Jeff Neo
Teaching Assistants
Cohort 06

A. Professor
Heong Kheng Boon
Xin Wang
Teaching Assistants
Cohort 1
Cohort 03

Lecturer (Course Lead)
See Toh Jo Wee
Ng Yun Shu
Teaching Assistants
Cohort 07

Adjunct lecturer
Jeff Neo
Tseng Yun Ching
Nurul Nazeera
Teaching Assistants
Cohort 04

Adjunct Lecturer
Heong Kheng Boon Sruti Niranjan
Mari Jaelle Salas
Teaching Assistants
Cohort 08

A. Professor
Looi Siao Si
Xie Jiacheng
Lee Song Lin
Teaching Assistants
Grading Components
The table below summarizes grading components. Assignments 1 and 2 will be handed out in the first ASD half of the course (weeks 1 to 6). Coursework comprises quizes and short exercises that are given out throughout the course. The 1D project and final exam components are part of the second ISTD half of the course (weeks 8 to 14). Finally, the 2D Project is a common project that involves all freshmore courses in week 10.
Week | Component | Weight |
---|---|---|
1 – 6 | Coursework (Visual programming) | 9% |
2 – 4 | Assignment 1 | 15% |
4 – 6 | Assignment 2 | 20% |
8 – 13 | Coursework (Python programming) | 9% |
8 – 13 | 1D Project | 10% |
10 | 2D Project | 10% |
14 | Final Examination | 25% |
Evaluation Survey & Course Participation | 2% | |
Total | 100% |
Course Policies
Coursework submitted within seven days after the deadline will have a 50% penalty on the score, thereafter will have a 100% penalty. Students may only miss formal assessments (quizzes, exams) due to the following reasons: (1) medical leave, (2) family emergencies, (3) other matters beyond their control, with documentary proof.
During class sessions all personal communication devices should be switched to silent mode. The use of social media unrelated to classroom activities (such as for private mail, instant messaging, surfing the internet, reading the news, or playing games) is considered inappropriate and distracting to other people.
Copying from someone else’s assignments or other class content is considered cheating and is not tolerated in this class. Signing an attendance sheet in place of another student is also considered cheating. You are expected to attend all classroom sessions.
Please remember that attempting to dishonestly influence or manipulate an academic evaluation, grade, or record is considered a breach of course rules and will be taken very seriously by the instructors, leading to undesirable results for the students conducting these actions.