Teaching Experiences

Ongoing courses

50.039 Theory and Practice of Deep Learning (SUTD, Jan 2021 – ongoing, as Course Leader)

The course objective is to familiarize students with the mathematical foundations of deep learning, deep learning for vision and natural language applications, and reinforcement learning.

The course includes coding a subset of approaches for vision (so to avoid overlap with the computer vision class), approaches for sequential data such as 1D‐CNNs, temporal causal networks and recurrent neural networks, multimodal approaches, attention models, explainable AI, generative adversarial neural networks and graph convolutional neural networks.

The coding covers the whole chain, namely data loading, model training, parameter tuning and performance evaluation. The course will also focus on important practical aspects which are required to make the training part of deep learning work on smaller datasets such as transfer learning, various forms of data augmentation, different optimizers and learning rate tuning, etc.

This course was conducted in 2021 and will be reconducted in 2022.

More information: https://istd.sutd.edu.sg/undergraduate/courses/50-039-theory-and-practice-of-deep-learning

Summer School Program (SSP) ILP on Computing (SUTD, 2020 – ongoing, as Course Leader)

From July 2020 to August 2020, I conducted the Special Summer Program on Computing. This summer school program is specially designed to provide basic programming skills to students.

This year, things were a bit different as the course was entirely conducted online via Zoom, and oriented towards games. By doing so, we hoped to help the students learn coding in a much more enjoyable and interactive way.

The SSP program was reconducted in 2021 and is planned to be reconducted in 2022.

More details here: https://www.sutd.edu.sg/SSP

10.014 Computational Thinking for Design (SUTD, September 2020 – ongoing, as Cohort Leader)

Computational Thinking is a problem-solving process that is essential for successfully carrying out computational tasks. Computational Thinking For Design aims to introduce the ideas of computational thinking, and its applications to design, using visual programming and python programming.

I have taught this course in 2020 and will be teaching it again in 2021.

More details here: https://asd.sutd.edu.sg/programme/bachelor-of-science-architecture-and-sustainable-design/courses/10014-computational-thinking-for-design


Previous teaching experiences

50.002 Computation Structures (SUTD, September 2020 – December 2020)

This course introduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. Topics include Multilevel implementation strategies; definition of new primitives (e.g., gates, instructions, procedures, and processes) and their mechanisation using lower-level elements. Analysis of potential concurrency; precedence constraints and performance measures; pipelined and multidimensional systems; instruction set design issues; architectural support for contemporary software structures.

More details here: https://istd.sutd.edu.sg/undergraduate/courses/50002-computation-structures

50.039 Theory and Practice of Deep Learning (SUTD, Jan 2020 – April 2020, as Course Co-Leader)

The course objective is to familiarize students with the mathematical foundations of deep learning, deep learning for vision and natural language applications, and reinforcement learning.

The course includes coding a subset of approaches for vision (so to avoid overlap with the computer vision class), approaches for sequential data such as 1D‐CNNs, temporal causal networks and recurrent neural networks, multimodal approaches, attention models, explainable AI, generative adversarial neural networks and graph convolutional neural networks.

The coding covers the whole chain, namely data loading, model training, parameter tuning and performance evaluation. The course will also focus on important practical aspects which are required to make the training part of deep learning work on smaller datasets such as transfer learning, various forms of data augmentation, different optimizers and learning rate tuning, etc.

More information: https://istd.sutd.edu.sg/undergraduate/courses/50-039-theory-and-practice-of-deep-learning

10.009 Digital World (SUTD, Jan 2019 – May 2019, as Cohort Leader)

During this computer science class, we introduce Python programming, to students who have never done any programming before. We follow an active learning approach, where students must study materials and answer quizzes, every week, before coming to class. Lectures and exercise sessions are provided, and weekly lab sessions are used to introduce notions of robotics, data science, and machine learning. Finally, the students will have to conduct a semester-long project on a topic of their choice, involving machine learning, databases and robotics/sensors.

More information: https://acad.sutd.edu.sg/10-009/

10.007 Modeling the Systems World – Retakers class (SUTD, Jan 2018 – May 2018, as Cohort Leader)

During this class, a small number of retakers were given a third chance to pass the Modeling the Systems World class. We first went through the class materials again, at a slow pace, by focusing specifically on being as clear as possible for the students having difficulties. Multiple practice sessions and exam rehearsals were then given, before the students got a second chance at taking the final exam.

10.007 Modeling the Systems World – Bootcamp class (SUTD, Aug 2017, as Cohort Leader)

During this two weeks bootcamp, retakers were given a second chance to pass the Modeling the Systems World class. We first went through the class materials again, at a fast pace, by focusing specifically on being as clear as possible for the students having difficulties. Multiple practice sessions and exam rehearsals were then given, before the students got a second chance at taking the final exam.

10.001 Advanced Mathematics I (SUTD, May 2017 – Sep 2017, as Teaching Assistant)

The main objective of this mathematics class was to provide firm foundations of single variable calculus. It aims to motivate students on why math is important and to demonstrate mathematics in action. Students learn the basic concepts, techniques, and applications of two branches of calculus – differentiation, and integration.

More information: https://www.sutd.edu.sg/Education/Unique-Academic-Structure/Freshmore-Subjects/10-001-Advanced-Mathematics-I

10.007 Modeling the Systems World (SUTD, Jan 2017 – May 2017, as Teaching Assistant):

Modeling introduced the basics of mathematical modeling. Students also learned how to solve ordinary differential equations (first and second order) and the Laplace Transform method. Systems Optimization introduced students to mathematical tools for constrained/unconstrained optimization, convex optimization, numerical solution algorithms, and networks. Throughout the course, we discussed several applications that require modeling of real-world systems.

This mathematics class was divided into two parts – Systems Modeling and Systems Optimization. Systems

More information: https://www.sutd.edu.sg/Education/Unique-Academic-Structure/Freshmore-Subjects/10-007-Modelling-the-Systems-World


Teaching Philosophy

Learn more about my teaching philosophy here: https://www.matthieu-de-mari.fr/teaching-philosophy/.