About
About Data Driven World (DDW)
This course provides fundamentals for students with the necessary skills in a data driven world. The first half of the course focuses on providing students with algorithmic thinking and different paradigms of computation such as procedural, object-oriented design and state machine. The second half of the course focuses on a basic introduction to machine learning for categorical and continuous data. Students will be able to apply both algorithms and basic machine learning techniques to solve real-world problems driven by data and computation.
Prerequisite
10.014 Computational Thinking for Design (Term 1)
Learning Objectives
By the end, 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
- Design state machine and implement it using object oriented paradigm
- Fix syntax errors and debug semantic errors using print statements
Text References
Instructors will provide reading materials for each week. The references for this course include:
- How to Think Like a Computer Scientist
- Cormen, Thomas H., et al. Introduction to Algorithms, Third Edition, MIT Press, 2009. ProQuest Ebook Central
- James, Gareth et al. An Introduction to Statistical Learning: With Applications in R. Vol. 103. New York: Springer, 2013. Web
- Murphy, Kevin P.. Machine Learning : A Probabilistic Perspective, MIT Press, 2012. ProQuest Ebook Central
Instructional Methods and Expectations
The course will be run using a project-based and flipped-classroom strategy. Students are expected to do pre-class activities before coming to class. In-class hours are used to discuss and solve problems as well as to do projects. Each week there are mini-projects related to the topics just introduced in that week and it culminates in one open project at the end.
Students are expected to do their pre-reading and homework on their own while discussing the cohort sessions and projects with the instructors in class. There will be hands-on programming activities for all cohort sessions.
Lesson Format
Each week we allocate 5 hours of cohort lessons. You are recommended to spend 1.5 hours for pre-class activities and 5.5 hours for homework and mini projects weekly as well.