Programming

A.Y. 2026/2027
6
Max ECTS
48
Overall hours
SSD
INFO-01/A
Language
English
Learning objectives
The course introduces the student to programming in Python and solving computational problems using algorithms. The main notions of imperative programming (variables, expressions, loops, functions, recursion, input / output) and the fundamental elements of object-oriented programming are provided.
Expected learning outcomes
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
Single course

This course can be attended as a single course.

Course syllabus and organization

Single session

Lesson period
First semester
Course syllabus
The course introduces the fundamentals of programming in Python and computational problem solving through algorithms.

The course covers the main concepts of programming, with particular attention to:

- introductory elements of computer systems
- representation and processing of information
- algorithms and problem-solving strategies
- values, variables, data types and expressions
- input and output
- control structures
- conditional statements
- iteration and loops
- functions and code organization
- recursion
- basic data structures
- strings, lists and collections
- reading and writing files
- use of modules and libraries
- introductory elements of object-oriented programming
- writing, understanding, testing and correcting simple Python programs

The level of detail of the individual topics is defined in order to provide a general and solid foundation for the use of programming in Python.
Prerequisites for admission
Basic computer skills.

Previous programming experience is not required.
Teaching methods
Lectures, guided examples, code discussion and exercises.

Students are encouraged to bring their own laptop.
Teaching Resources
Teaching material provided by the instructor:

- slides
- notebooks
- exercises
- code examples
- selected solutions

Recommended textbook:

Robert Sedgewick, Kevin Wayne, Robert Dondero, Introduction to Programming in Python: An Interdisciplinary Approach.

Additional references will be provided during the course.
Assessment methods and Criteria
Written exam.

The exam assesses the understanding of fundamental programming concepts and the ability to apply them to problem solving through Python programs.

The evaluation considers:
- correctness of the solutions
- understanding of programming concepts
- clarity of algorithmic reasoning
- ability to write readable and working Python code
INFO-01/A - Informatics - University credits: 6
Lessons: 48 hours