Scientific Programming: Algorithms

General Info

The contacts to reach me can be found at this page.

Timetable and lecture rooms

Lectures will take place on Mondays from 14:30 to 16:30 (in lecture room A107) and on Wednesdays from 11:30 to 13:30 (in lecture room A107). This second part of the Scientific Programming course will tentatively run from 06/11/2019 to 20/12/2019.

Midterm

The midterm of this part of the course will take place on Friday, December 20th, in A202 at 11:45. Please register for the midterm on esse3.

Slides

The slides shown during the lectures will gradually appear below:

Teaching assistants

David Leoni (for Data Science)

Massimiliano Luca (for QCB)

Course material

Brad Miller and David Ranum. Problem Solving with Algorithms and Data Structures using Python. An interactive version is freely available at this link.

Other material includes the following books:

  • Lutz. Learning Python (5th edition). O’REILLY (2013)
  • Hetland. Python Algorithms: Mastering Basic Algorithms in the Python Language. Apress, 2nd ed. (2014)

and (thanks to Prof. Alberto Montresor)

  • Introduction to algorithms | Link
  • Big-Oh Notation | Link
  • Sorting | Link
  • Dynamic Programming | Link
  • Greedy Algorithms | Link
  • String Algorithms | Link

Acknowledgements

I would like to thank Prof. Alberto Montresor for kindly allowing me to use his slides and Dr. David Leoni for all his help and for sharing Jupman with me. I would also like to thank Dr. Stefano Teso for allowing us to use some of his material of a previous course.