Course Dates Credits
Crash Course on Programming I 1.5
Lecturers
Tommaso Ronconi

Program:

This course offers a practical and gentle introduction to programming tools and practices essential for modern research in astrophysics and cosmology. The presented topics are: communication with the machine via the *Nix terminal and the role of shell scripting; an introduction to BASH; fundamentals of software version control, with a focus on git and collaborative development via GitHub; and a comprehensive introduction to the Python programming language using only its standard library. Fundamental programming paradigms are presented, including object-oriented programming, functions and classes. The course combines frontal lectures with hands-on sessions. To pass the exam, students must solve practical programming exercises which mimic actual problems faced by a real programmer.

Prerequisites:

None

Books:

Materials are provided by the Lecturer (slides, [jupyter] notebooks and github repo)

Online Resources:

Filename Size (bytes) Date Modified