Course Overview

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.

Number10.014
PillarASD & ISTD
SubjectCore
GradingPass / Fail
Credits12

Learning Objectives

  1. Acquire conceptual knowledge and skills for visual and python programming. 
  2. Acquire basic knowledge of computational geometry concepts.
  3. Develop hands‐on experience with applying computational thinking approaches to explore solutions to design and engineering problems.
  4. Gain skills in programming the Raspberry pi micro-controller.
  5. Learn and practice effective technical communication skills for formal written reports.

Measurable Outcomes

  1. Implement a working visual/textual program to generate variations of a 3‐dimensional model in accordance to a given geometric problem
  2. Develop python programs that meet a set of specifications to solve computational problems.
  3. Produce a physical artefact as the final outcome of a computational process for a design project.
  4. 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 Simulated Design. 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

Orientation Activities
No Cohort Session


2A – Visual Programming
Introduction to Grasshopper

2A – Associative Modelling
Symbolic expressions to epicycles


3A – Curve Geometry
Tangent, Normal and Curvature

3A – Parametric Modelling
Spiral Bridge


4A – Information Nesting
Lists, Grids, Tables

4A – Data Landscapes
Scalar Fields


5A – Modeling Entities
Projectile Physics

5A – Multibody Dynamics
Planetary Motion Tutorial


6A – Form-Finding I
Minimal Surfaces

6A – Form-Finding II
Pressurised Surfaces

Session B

1B – Computer Aided Design
Introduction to Rhinoceros

1B – Ranges and Expressions
Spreadsheet programming


2B – Generative Design
Assignment 1 Workshop

2B – Spatial Geometry
Points and Vector Algebra


3B – Surface Geometry
Tangent, Normal and Curvature

3B – Logical Patterns
Conditionals and Control Flow


4B – Parametric Design
Assignment 2 Workshop

4B – Space and Time
Clock and Persistence


5B – Material Elasticity
Particles and Springs

5B – Mesh Geometry
Subdivision Tutorial


6B – Simulated Design
Assignment 3 Workshop

Concluding Session
Discussion and review


Course Instructors

Cohort 01

Pamela Chua
Adjunct Lecturer

Chia Sheng Wei
Valent Tan
Janice Yong

Teaching Assistants

Cohort 05

Jason Lim
Lecturer (Course Lead)

Chin Kee Ting
Yeo Kai Lin
Sean Yap
Teaching Assistants

Cohort 09

Zheng Kai
Faculty Fellow

Chia Sheng Wei
Kwang Kai Jie
Julius Ang

Teaching Assistants

Cohort 02

Sam Conrad Joyce
Assist. Professor

Benedict Tan
Kwang Kai Jie

Teaching Assistants

Cohort 06

Yehezkiel Wiliardy
Adjunct Lecturer

Heong Kheng Boon
Kat Yong Jie
Teaching Assistants

Cohort 10

Zheng Kai
Faculty Fellow

Chia Sheng Wei
Kwang Kai Jie

Teaching Assistants

Cohort 03

Jason Lim
Lecturer (Course Lead)

Valent Tan
Janice Yong

Tay Jing Zhi
Teaching Assistants

Cohort 07

Rachel Tan
Adjunct lecturer

Tay Jing Zhi
Wong Siong Min
Jovin Lim
Teaching Assistants

Cohort 11

Jason Lim
Lecturer (Course Lead)
Online

Chia Sheng Wei
Teaching Assistant

Cohort 04

Yehezkiel Wiliardy
Adjunct Lecturer

Kwang Kai Jie
Benjamin Lim
Julius Ang
Teaching Assistants

Cohort 08

Rachel Tan
Adjunct Lecturer

Tay Jing Zhi
Aaron Soares
David Chung
Teaching Assistants

Grading Components

The table below summarizes grading components. Assignments 1, 2 and 3 will be handed out in the ASD led half of the course (weeks 1 to 6). The 2D Project will be a common project that involves all freshmore courses. The remaining components are part of ISTD led weeks 8 to 14.

WeekComponentWeight
1 – 2Assignment 114%
3 – 4Assignment 215%
5 – 6Assignment 315%
8 – 13Coursework9%
8 – 131D Project10%
102D Project10%
12Quiz5%
14Final Examination20%
Evaluation Survey &
Course Participation
2%
Total100%

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.