D0526 - PYTHON PROGRAMMING

Academic Year 2026/2027

  • Docente: Ivan Lanese
  • Credits: 6
  • SSD: INFO-01/A
  • Language: English
  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Molecular and Computational Biology (cod. 6254)

Learning outcomes

At the end of this module, the student will have a solid understanding of the fundamentals of Python programming. The student will be capable of independently writing Python programs, as well as designing and using modules within an object-oriented programming paradigm to develop structured and reusable code.

Course contents

The course is composed of 2 modules:

1) Python programming, including: variables, expressions and statements, functions, conditionals, iteration, strings, lists, tuples, dictionaries, files, recursion and object-oriented programming.

2) Support for developing bioinformatics pipelines in Python: dedicated libraries, biological file formats, basic bioinformatics algorithms.

Readings/Bibliography

No specific book is required. Updated teaching material is available through the Virtuale website.

For further information we suggest:

Cay Horstmann, Rance D. Necaise. Python for Everyone, Wiley

Allen B. Downey. Think Python: How to Think Like a Computer Scientist, O’ Reilly

for the Python programming part.

Teaching methods

Theoretical lessons and practical programming activity in Pyhton under linux.

In relation to the kind of activities and didactical methods adopted,
the attendance to this class will require the preliminary participation
of all the students to the Modules 1 and 2 of the Safety rules on study places, which can be followed remotely in e-learning via the following link: https://elearning-sicurezza.unibo.it/

Assessment methods

The exam is composed of two parts, one per module, that can also be taken in different exam sessions. Each part takes the form of a python programming exercise, including debugging of errors. The ability to obtain correct code via debugging (manual or supported by tools) is a main point in the evaluation. Each part also includes a brief discussion of the developed code. Each part receives a score of up to 16 points. For each part it is also possible to get one bonus point by submitting and discussing one exercise during the course.

Regarding the assessment of learning, the use of AI is prohibited. Any use constitutes a violation of academic integrity.

Students with learning disorders and\or temporary or permanent disabilities: please, contact the responsible office (https://site.unibo.it/studenti-con-disabilita-e-dsa/en/for-students ) as soon as possible so that they can propose acceptable adjustments. The request for adaptation must be submitted in advance (at least 15 days before the exam date) to the lecturers, who will assess the appropriateness of the adjustments, taking into account the teaching objectives.

Teaching tools

Teaching material will be available on the Virtuale website.

For exercises we will use the linux shell, a text editor/IDE (each student can choose the one (s)he prefers among EMACS, VS-CODE and PYCHARM) and the Python interpreter.

Office hours

See the website of Ivan Lanese