wiki:WikiStart

Version 132 (modified by monga, 20 months ago) ( diff )

--

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:

  1. Python and its object-oriented features;
  2. 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. 2021/22

The course will take place in the second semester. Currently, we expect to lecture on-premises. Lectures will be also streamed: if you are forced to attend via MS Teams use the code tf93sr0 to join the team; recording of the lessons will NOT be available, but you can find some videos from last year course in the old web page linked below.

Official Timetable

Lessons Rooms G30, 306, 504 (40h) Mo_7/3 Fr_11/3 Mo_14/3 Mo_21/3 Tu_22/3 (14:30, Room 504)Mo_28/3 Tu_29/3 (14:30, Room 504)Mo_4/4 Mo_11/4 Tu_12/4 (14:30, Room 504) Fr_22/4Tu_26/4 (14:30, Room 504)Mo_2/5 Fr_6/5 Mo_9/5Mo_23/5 Fr_27/5 Mo_30/5 Mo_6/6 Mo_13/6
Labs, Room 306 (16h) Fr_18/3 Fr_25/3 Fr_1/4 Fr_8/4 Fr_29/4 Fr_13/5 Fr_10/6 Fr_17/6
Setup Scaffolded Plain Python interpreter Notebooks

During these hard times of physical distance it is useful to keep a social proximity by exchanging comments on the course: subscribe to the forum on Zulip (use an @studenti.unimi.it email).

Please answer to this (very short!) survey.

Exams

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.

2021/22

1. March 7, 2022 8:30 Room G30

2. March 11, 2022 8:30 Room 306

3. March 14, 2022 8:30 Room G30

4. March 18, 2022 8:30 Room 306

5. March 21, 2022 8:30 Room G30

6. March 22, 2022 14:30 Room 504

7. March 25, 2022 8:30 Room 306

8. March 28, 2022 8:30 Room G30

9. March 29, 2022 14:30 Room 504

10. April 1, 2022 8:30 Room 306

11. April 4, 2022 8:30 Room G30

12. April 8, 2022 8:30 Room 306

13. April 11, 2022 8:30 Room G30

14. April 12, 2022 14:30 Room 504

15. April 22, 2022 8:30 Room 306

16. April 26, 2022 14:30 Room 504

17. April 29, 2022 8:30 Room 306

18. May 2, 2022 8:30 Room G30

19. May 6, 2022 8:30 Room 306

20. May 9, 2022 8:30 Room G30

21. May 13, 2022 8:30 Room 306

May 16, 2022 (suspended)

May 20, 2022 (suspended)

22. May 23, 2022 8:30 Room G30

23. May 27, 2022 8:30 Room 306

24. May 30, 2022 8:30 Room G30

25. June 6, 2022 8:30 Room G30

26. June 10, 2022 8:30 Room 306

27. June 13, 2022 8:30 Room G30

28. June 17, 2022 8:30 Room 306

Previous years

Note: See TracWiki for help on using the wiki.