| 1 |
Thu 8 Oct |
Course environment |
Foundations |
Boris Bolliet |
|
| 2 |
Fri 9 Oct |
Numbers in memory |
Foundations |
Boris Bolliet |
|
| 3 |
Tue 13 Oct |
Computer systems and the command line |
Foundations |
Boris Bolliet |
|
| 4 |
Thu 15 Oct |
Reproducible Python environments |
Foundations |
Boris Bolliet |
|
| 5 |
Fri 16 Oct |
Version control with Git |
Foundations |
Boris Bolliet |
|
| 6 |
Tue 20 Oct |
Algorithms: easy versus hard |
Complexity |
Alessandro Favero |
|
| 7 |
Thu 22 Oct |
Divide and conquer |
Complexity |
Alessandro Favero |
|
| 8 |
Fri 23 Oct |
Dynamic programming |
Complexity |
Alessandro Favero |
|
| 9 |
Tue 27 Oct |
The Python execution model: names, objects, scope and closures |
Python |
Boris Bolliet |
|
| 10 |
Thu 29 Oct |
Higher-order functions and decorators |
Python |
Boris Bolliet |
|
| 11 |
Fri 30 Oct |
Classes and object-oriented design for simulation code |
Python |
Boris Bolliet |
|
| 12 |
Tue 3 Nov |
From scripts to an installable package |
Packages and quality |
Boris Bolliet |
|
| 13 |
Thu 5 Nov |
Graphs and greedy algorithms |
Complexity |
Alessandro Favero |
|
| 14 |
Fri 6 Nov |
Complexity V |
Complexity |
Alessandro Favero |
|
| 15 |
Tue 10 Nov |
Testing, documentation and continuous integration |
Packages and quality |
Boris Bolliet |
|
| 16 |
Thu 12 Nov |
Complexity VI |
Complexity |
Alessandro Favero |
|
| 17 |
Fri 13 Nov |
Array programming: Turing patterns |
Scientific computing |
Boris Bolliet |
|
| 18 |
Tue 17 Nov |
Large matrices: the randomised SVD |
Scientific computing |
Boris Bolliet |
|
| 19 |
Thu 19 Nov |
Debugging and profiling scientific code |
Scientific computing |
Boris Bolliet |
|
| 20 |
Fri 20 Nov |
Research software as a web service |
Software services |
Boris Bolliet |
|
| 21 |
Tue 24 Nov |
Distribution and deployment: wheels and containers |
Software services |
Boris Bolliet |
|
| 22 |
Thu 26 Nov |
Time series and spectral methods |
Scientific computing |
Boris Bolliet |
|
| 23 |
Fri 27 Nov |
Differentiable and compiled Python with JAX |
Accelerated computing |
Boris Bolliet |
|
| 24 |
Tue 1 Dec |
Cloud computing and accelerators |
Accelerated computing |
Boris Bolliet |
|