Skip to main content
CODE 97164
ACADEMIC YEAR 2021/2022
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
TEACHING MATERIALS AULAWEB

AIMS AND CONTENT

LEARNING OUTCOMES

The objective of the course is to introduce the student to the fundamental concepts relating to computers and their programming. The course will provide knowledge on the organization of a processing architecture, on the structure of the main application programs, and on programming in the Python language, with reference to the main types of data and programming constructs. As part of the teaching, the student will acquire the skills to create simple applications using the Python language, the ability to empirically evaluate their performance and to choose the best data structures, among those available in the language, to perform certain tasks.

AIMS AND LEARNING OUTCOMES

The student will acquire the skills to create simple applications using the Python language, the ability to empirically evaluate their performance and to choose the best data structures, among those available in the language, to carry out certain tasks. In particular, at the end of the course the student must be able to

  • remember the fundamental concepts related to some computational models and programming
  • analyze pieces of programs (written in Python) and understand how they work
  • modify, run and test small programs
  • starting from an informal specification of a problem, design and write (parts of) programs that solve the problem

TEACHING METHODS

Teaching takes place over 12 weeks, each of which normally includes 4 hours of classroom lessons (including theory and exercises) and 3 hours of computer lab (which could take place, at least in part, at a distance using the teams platform) .

SYLLABUS/CONTENT

Basic notions on computers: representation of data and computer arithmetic; outline of some computational models; hints on von Neumann architecture and operating systems aimed at basic understanding of program execution.

Introduction to programming (using Python): high-level programming languages; state and change of state (variables, expressions, instructions); structured programming and functions; base and structured types; simple algorithms and their implementation; divide-and-conquer approach and memoization of functions.

Small programming (using Python): design of small sequential programs starting from the informal specification of the problem; compilation/interpretation of programs; code execution; basic ideas of testing and debugging.

RECOMMENDED READING/BIBLIOGRAPHY

The teaching material (including any video recordings) will be made available on aulaweb.
It is also possible to consult and download the documentation available online in English https://docs.python.org/3/ and Italian https://www.python.it/doc/

TEACHERS AND EXAM BOARD

Exam Board

EUGENIO MOGGI (President)

MANUELA CHESSA

GIOVANNI LAGORIO

GIANNA REGGIO

ARMANDO TACCHELLA

LESSONS

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam consists of two tests, which can be taken independently:

  • a quiz test (contributes 40% to the final grade, if assessed at least 15/30)
  • a laboratory test (contributes 60% to the final grade, if assessed at least 15/30).

Only for students who attend the course in the academic year in which they have included it in the study plan, ongoing assignments are foreseen, with sample correction, which give the right to a bonus of 2 points on the final grade (the bonus is also kept in the following academic years).

Students who confirm the delivery of a laboratory test rated less than 10/30 are assigned a penalty of 1 point on the final grade.

Please refer to the AulaWeb specific teaching request for details on ongoing deliveries, methods of conducting the exam tests, bonuses and malus.

ASSESSMENT METHODS

The quiz test verifies the knowledge of the fundamentals and the ability to analyze and understand pieces of code.
The laboratory test verifies the ability to write, modify, execute and test programs.

Exam schedule

Data appello Orario Luogo Degree type Note
10/01/2022 09:00 GENOVA Laboratorio
11/01/2022 09:00 GENOVA Scritto
07/02/2022 09:00 GENOVA Laboratorio
08/02/2022 09:00 GENOVA Scritto
10/06/2022 09:00 GENOVA Laboratorio
13/06/2022 09:00 GENOVA Scritto
11/07/2022 09:00 GENOVA Laboratorio
13/07/2022 09:00 GENOVA Scritto
31/08/2022 09:00 GENOVA Laboratorio
02/09/2022 09:00 GENOVA Scritto