Programming in Python (for quantitative biologists)
Learning objectives and expected learning outcomes
The course introduces students to imperative programming by referring to the Python language.
The course is divided in two parts:
- Python and its object-oriented features;
- Python libraries that can be useful in scientific computation and data analysis, in particular NumPy and pandas.
Students will acquire the ability to write and tune a program that automatizes simple computational tasks; they will be able to understand how a small piece of Python code works, to find the reasons of a malfunction and to correct it appropriately. Moreover, students will be able to use the NumPy and pandas library to analyze tabular data.
A.A. 2024/25
The course will take place in the first semester. Currently, we expect to lecture on-premises, lectures will NOT be streamed. You can find some videos from last year course in the 2020/21 web page linked below.
The course will have a total of 40 hours of lessons and 16 hours of lab practice. The exact schedule will be announced during the lessons (the first lesson is on October 1st). Since a.a. 2024/25, attendance is mandatory for QB students. To be admitted to the final examination a QB student must have attended ≥ 10 lectures and ≥ 6 labs. Doing a (github) homework within a week, counts as ⅓ of a lecture.
Syllabus
- The Python programming language.
- Native data types.
- Functions, selections and iterations.
- Basic data structures: lists, tuples, dictionaries.
- Object-oriented encapsulation.
- Iterators and generators.
- Files.
- Numpy multi-dimensional arrays and matrices.
- Data manipulation and analysis with pandas.
Any Python3 book can be used to support the learning of the general part, for example J. Hunt "A Beginners Guide to Python 3 Programming" (The electronic version is free for Unimi students). NumPy and pandas have excellent online documentation.
The examination is based on laboratory exercises. A final mark (on a 30 point scale) is given, by taking into account the knowledge of the subject and tools, and the clarity of the solutions.
-
Programming in Python (for quantitative biologists)
- Learning objectives and expected learning outcomes
- A.A. 2024/25
-
Schedule
- 1. October 1, 10:30 309
- 2. October 3, 8:30 B6
- 3. October 8, 10:30 309
- 4. October 10, 8:30 B6
- 5. October 15, 10:30 309
- 6. October 17, 8:30 B6
- 7. October 22, 10:30 309
- 8. October 24, 8:30 B6
- 9. October 25, 8:30 Delta (LAB)
- 10. October 29, 10:30 309
- 11. October 31, 8:30 B6
- 12. November 5, 10:30 309 (LAB)
- 13. November 7, 8:30 B6
- 14. November 12, 10:30 309
- 15. November 15, 8:30 Delta (LAB)
- 16. November 19, 10:30 309
- 17. November 21, 8:30 B6
- 18. November 22, 8:30 Delta (LAB)
- 19. November 26, 10:30 309
- 20. November 28, 8:30 B6
- 21. November 29, 8:30 Delta (LAB)
- 22. December 3, 10:30 309
- 23. December 6, 8:30 Delta (LAB)
- 24. December 10, 10:30 309
- 25. December 12, 8:30 B6
- 26. December 13, 8:30 Delta (LAB)
- 27. December 17, 10:30 309
- 28. December 20, 8:30 Delta (LAB)
- Previous years
Schedule
1. October 1, 10:30 309
2. October 3, 8:30 B6
3. October 8, 10:30 309
4. October 10, 8:30 B6
5. October 15, 10:30 309
6. October 17, 8:30 B6
7. October 22, 10:30 309
8. October 24, 8:30 B6
- Slides Handouts for printing
- GitHub Homework "Newton sqrt"
- GitHub Homework "Triangle kinds"
- GitHub Homework "Count chars"