Course Period: October 14th 2024 - February 14th 2025
Kick-off meeting: Tuesday, October 15th, 14:15-15:45, MA 042
Project meetings: Tuesdays, 14:15-15:45, H 3006
Office hours: Thursdays, 14:15-15:45, MAR 4.044
Attendance is mandatory on the following dates:
Tuesday, 15.10.24
Tuesday, 19.11.24
Tuesday, 17.12.24
Tuesday, 21.01.25
Tuesday, 04.02.25
Tuesday, 11.02.25
The date of the final examination will be determined on a group-by-group basis.
More information can be found on ISIS.
Paraphrasing the official website, Julia is:
Fast: designed for high performance computing, compiles to LLVM
Dynamic: dynamically typed, interactive REPL
Reproducible: great package manager, reproducible environments and pre-built binaries
Composable: uses multiple dispatch
General: allows async I/O, metaprogramming, etc.
Open source: open development, uses permissive MIT license
If these are features that sound appealing to you, you should learn Julia!
Running notebooks is described in the "Opening lectures & homework" section of the Installation notebook.
Alternatively, you can open the notebook on Binder by clicking "Edit or run this notebook". However, Binder can take a prohibitively long time to load. Pluto notebooks show an estimate of the loading times above the "Run in Binder" button.
If you are familiar with Git, you can also clone the GitHub repository of this course. You can then open your local copy of the lectures and homework in Pluto. Just make sure to regularly pull to keep your copy of the course up to date.
Please help make this course better!
For small fixes, click the "Edit Julia source code" button on top of a notebook. This will open the source on GitHub, where you can then click the "Edit this file" button (shown with a pencil icon). This will create a pull request on GitHub.
Alternatively, write me on ISIS or open an issue on GitHub and tell me what needs to be fixed. Ideas and feedback are also more than welcome.
⁽⁺⁾
in some slide titles mean?This symbol indicates optional–often more advanced–content that can be skipped.
The format of this website as well as the contents of this course are influenced by the following lectures:
Introduction to Computational Thinking at MIT by Alan Edelman, David P. Sanders, Charles E. Leiserson and Fons van der Plas
Scientific Computing at TU Berlin by Jürgen Fuhrmann
Many thanks to
Fons van der Plas for making Pluto and helping me build this website
Niklas Schmitz for feedback on the AD lecture
Janes Sanne, Dr. Andreas Ziehe and Philip Naumann for their help with teaching the course at TU Berlin
Théo Galy-Fajou and Johnny Chen for their mentorship
everyone who contributed to the packages covered in this lecture