Programming

A.Y. 2023/2024
6
Max ECTS
48
Overall hours
SSD
INF/01
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
Computer system overview

- computer architecture
- operating system
- computer network
- information systems
Imperative programming
- top-down / bottom-up programming
- values, variables, expressions
- I/O instructions
- constructs, selection, loop
- functions, recursion
- I/O file
- libraries
Object-oriented programming
- fields and methods
- data types (arrays, lists)
Prerequisites for admission
Basic computer skills.
Teaching methods
- Theoretical lectures (powerpoint and writing on whiteboard)
-Optional: the students can bring their own laptop to test the codes and algorithms that are discussed during the sessions.
Teaching Resources
Think Python How to Think Like a Computer Scientist by Allen B. Downey, 2015, second edition
Assessment methods and Criteria
Written and oral exams including homework and projects.

One final written exam (50%), The written exam takes 70 minutes.

One oral and project exam (40%).

Homeworks (10%)
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Educational website(s)