Programming
A.Y. 2026/2027
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
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
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.
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.
Previous programming experience is not required.
Teaching methods
Lectures, guided examples, code discussion and exercises.
Students are encouraged to bring their own laptop.
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.
- 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
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
Professor:
Winterhalder Ramon Peter
Professor(s)