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:
- Lecture 1-2: Introduction to algorithms
- Lecture 2-3: Algorithms and complexity
- Lecture 3-4: Algorithms and complexity
- Lecture 5-6: Data Structures 1
- Lecture 6-7: Data Structures 2
- Lecture 7-8: Trees
- Lecture 9-10: Graphs
- Lecture 11: Dynamic Programming
- Lecture 12: Other paradigms
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)
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.