MIT's numbering scheme gone nuts: (1.S992/6.S083/12.S083/16.S686/18.S191/22.S093)
Starting Fall 2023, this course is planned as C25 in the Common Ground.
Class hours: TR 1-2:30 in 2-131
Prerequisites: 6.100A, 18.03, 18.06 or equivalents (meaning some programming, dif eqs, and lin alg)
Instructors: A. Edelman, R. Ferrari, Y. Marzouk, P. Persson (UCB), S. Silvestri, J. Urschel, J. Williams
TA: J. DeGreeff, G. Dalle
Grading: Homeworks that may be spaced one or two weeks, to be submitted on canvas. No exams.
Lecture Recordings: We are arranging to have these available.
Links: Worth bookmarking.
Piazza | Canvas | Julia | JuliaHub |
---|---|---|---|
Discussion | HW submission | Language | GPUs |
Description:
Focuses on algorithms and techniques for writing and using modern technical software in a job, lab, or research group environment that may consist of interdisciplinary teams, where performance may be critical, and where the software needs to be flexible and adaptable. Topics include automatic differentiation, matrix calculus, scientific machine learning, parallel and GPU computing, and performance optimization with introductory applications to climate science, economics, agent-based modeling, and other areas. Labs and projects focus on performant, readable, composable algorithms and software. Programming will be in Julia. Expects students have some familiarity with Python, Matlab, or R. No Julia experience necessary.
Counts as an elective for CEE students, an advanced subject (18.100 and higher) for Math students, an advanced elective for EECS students, and a computation restricted elective for NSE students. AeroAstro students can petition department to count this class as a professional subject in the computing area. (Professors may be open to petitioning for counting for other programs.)
Class is appropriate for those who enjoy math and wish to see math being used in modern contexts.
While not exactly the same as our past Computational Thinking Class. Not entirely different either.
# | Assigned | Due | Topic |
---|---|---|---|
Hw0 | Sep 8 | Sep 15 | Getting Started |
# | Day | Date | Lecturer | Topic | Links |
---|---|---|---|---|---|
1 | R | 9/8 | Edelman | Intro to Julia | Cheat Sheets , Hyperbolic Corgi, Data and Arrays, Abstraction,Intro Julia |
2 | T | 9/13 | Edelman | Matrix Calculus | |
3 | R | 9/15 | Edelman | Matrix Calculus | |
4 | T | 9/20 | Edelman | Automatic Differentiation Calculus done differently | |
5 | R | 9/22 | Edelman | Automatic Differentiation for Machine Learning | |
6 | T | 9/27 | Persson | Mesh Generation | |
7 | R | 9/29 | Persson | Mesh Generation | |
8 | T | 10/4 | Ferrari | Greenhouse Effect | |
9 | R | 10/6 | Ferrari | Equilibrium and transient climate sensitivity | |
T | 10/11 | Student Holiday | |||
10 | R | 10/13 | Silvestri | Climate Science | |
11 | T | 10/18 | Silvestri | Climate Science | |
12 | R | 10/20 | Edelman | Economic Model of Climate | |
13 | T | 10/25 | Edelman | HPC and GPUs | |
14 | R | 10/27 | Edelman | HPC and GPUs | |
15 | T | 11/1 | Edelman | Imaging and Convolutions | |
16 | R | 11/3 | Edelman | Convolutions and PDEs | |
17 | T | 11/8 | Williams | Handling Satellite Climate Data | |
18 | R | 11/10 | Williams | Apache Arrow in Julia for massive datastores | |
19 | T | 11/15 | Guillaume Dalle | Combinatorial optimization (graphs) | |
20 | R | 11/17 | Guillaume Dalle | Combinatorial optimization (linear programming) | |
21 | T | 11/22 | Edelman | Discrete and Continuous, are they so very different? | |
R | 11/24 | Thanksgiving | |||
22 | T | 11/29 | TBA | ||
23 | R | 12/1 | Urschel | ||
24 | T | 12/6 | Urschel | ||
25 | R | 12/8 | TBA | ||
26 | T | 12/13 | TBA |