Pick a full-time course
Check out art electives
Come and play
Machine learning greatest hits
ML is a young field that has reimagined itself during our lifetimes. With the amount of ongoing research, it's easy to see the forest for the trees if you haven't been keeping up for a few years.
In this course, we'll go through the major, often on the face unintuitive results in ML like the lottery tickets hypothesis or Deep Q-Learning and implement the choice papers to get a thorough up-to-date intuition on what's up in the field and how to make sense of the current research.
Coq is to proving theorems what MATLAB is for numeric computing.
We'll explore using Coq recreationally, as a way to play with math interactively and comprehensively; and pivot to synthesising high-assurance high-performance code with it.
Modeling & model checking
Model checking is essentially constructing and tearing down prototypes of your system in code as you keep refining your design, enabled by easier-to-prototype-in languages than normal PLs.
We'll broadly cover modeling tools of various shapes ranging from those you'd use to design an algorithm to those used in financial modeling to CPU design software and then zoom in to a crash course in using TLA+ in industrial settings.
Purescript all the way
Haskell's pretty great, but has well-known warts. Purescript implements Haskell's ideas in a leaner package and works on the web.
This course starts with the essentials of functional programming and algebraic domain modeling, explores `halogen`, a VDOM library, to cover high-performance programming in Purescript, and then showcases Purescript's unique features (row types, JS interop) and dives into its (quite accessible!) compiler.
Like a supercollider
We normally take sound for granted. Some develop theories of sound, used by musicians to come up with tunes or by psychoacousticians to design audio codecs.
This is a course on SuperCollider, a modular synthesizer. We'll work through Farnell's *Designing Sound* to demistify sound waves, their propagation effects, and synthesis techniques. To that end, we'll design a bunch of sounds ranging from phone tones to bells, rain, bird chirps, and explosions from scratch, in code.
This course will explore a range of artistic media ranging from photography to pottery and sculpture to oil painting and mixed media. We'll dive into techniques from a range of artistic periods from the renaissance to modern times, exploring the styles and techniques of each in the process. In addition, we'll cover the basics of composition and art theory, providing students with the skills and knowledge they need to create their own works of art. By the end of the course, each student should have a portfolio of work that they're proud of.
STM32 under the hood
STM32 is family of microcontrollers that realms the world of embedded and IoT development: from microwave ovens to drones.
In this course we will gradually discover the capabilities of `STM32F051` microchip: general-purpose input-output, timers, interrupts, simplest communication protocol, and more. Unlike with the Arduino approach, we will have to devise the libraries ourselves, digging into with assembly and referring to manuals quite a bit.
A typical day goes like
|09:30||Wake up at 9:30|
|23:00||Go to sleep at 23-ish|