Course Description
Students will dive in into the world of computing and data. The course is a continuation of Computational Thinking for Design (Term 1) and is designed as a project-based course. It introduces students to data structures, algorithm, and introductory machine learning algorithm in a practical way. In the first half, students learn to analyse and design programs revolving around data and algorithms. In the second half, students learn how algorithms can learn from data to make smart predictions that empowers today’s Artificial Intelligence and Data Science applications. Students will undertake various mini-projects where they apply what they have learnt to develop web applications. The course requires both programming skills from Computational Thinking for Design as well as mathematical thinking from SUTD’s other freshmore courses.
Learning Objectives
By the end of this course, students should be able to:
- Analyse different algorithms’s complexity in terms of computation time using Python computational model
- Identify recursive structure in a problem and implement its solution in Python
- Explain UML diagrams and design software using basic UML diagrams
- Apply appropriate data structure and implement them using object oriented design
- Implement algorithm to find coefficients for linear regression by minimizing its error
- Implement algorithm to classify categorical data using logistic regression for binary category and above
- Analyse and evaluate linear regression using mean square error and correlation coefficient
- Analyse and evaluate logistic regression using confusion matrix, its accuracy and recall
Delivery Format
5-0-7 (5 hours in class sessions and 7 hours of learning outside of class)
Grading Scheme
Students are graded continuously through cohort exercises, homeworks, mini projects and final project as well individual exam and quizzes.
Prior to AY2020, it was 10.009 The Digital World