Course Materials

Download PDFs for current and past course sessions.

Computer Programming II: C++

This course was originally designed for the Computer Science and AI program at IE University in Madrid. I taught it for the first time in the Fall semester of the 2024-2025 academic year. The course is an introduction to programming in C++ and covers most of the fundamental features of the language, including object-oriented programming, templates, and the Standard Template Library (STL).

Missing in these materials are the solutions to the exercises, some slides and many class code examples.

I did also not include a lesson specifically dedicated to tooling, which I have done in future iterations of my programming courses. You may find some of the notes for tooling in other courses.

Files

Good Software Engineering Practices for Software-writing Scientists

I have been teaching this course in several forms all around for some years now. It is an introduction to software engineering for scientists, with a focus on good practices and tools that can help scientists write better software. The course covers topics such as version control, testing, documentation, and code review.

Besides the slides and a tutorial article I published in JCP, I also include here specific materials for spins of this course that I tailored for Python and C (although they will work just fine for C++ too).

Files