MSE-305: Introduction to atomic-scale modelingThis course provides an introduction to the modeling of matter at the atomic scale, using interactive Jupyter notebooks to see several of the core concepts of materials science in action.
MICRO-511: Image processing IIntroduction to the basic techniques of image processing. Introduction to the development of image-processing software and to prototyping using Jupyter notebooks. Application to real-world examples in
CS-452: Foundations of softwareThe course introduces the foundations on which programs and programming languages are built. It introduces syntax, types and semantics as building blocks that together define the properties of a progr
MICRO-512: Image processing IIStudy of advanced image processing; mathematical imaging. Development of image-processing software and prototyping in Jupyter Notebooks; application to real-world examples in industrial vision and bio
MATH-251(a): Numerical analysisThis course presents numerical methods for the solution of mathematical problems such as systems of linear and non-linear equations, functions approximation, integration and differentiation, and diffe
MATH-504: Integer optimisationThe course aims to introduce the basic concepts and results of integer optimization with special emphasis on algorithmic problems on lattices that have proved to be important in theoretical computer s