FUNDAMENTAL OF INFORMATICS

FUNDAMENTAL OF INFORMATICS

_
iten
Code
97164
ACADEMIC YEAR
2021/2022
CREDITS
9 credits during the 1st year of 10716 MANAGEMENT ENGINEERING (L-9) GENOVA
SCIENTIFIC DISCIPLINARY SECTOR
INF/01
LANGUAGE
Italian
TEACHING LOCATION
GENOVA (MANAGEMENT ENGINEERING)
semester
2° Semester
Teaching materials

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

Ricevimento: See web page https://person.dibris.unige.it/moggi-eugenio/ a student may also agree an appointment by email (moggi@unige.it)

LESSONS

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) .

ORARI

L'orario di tutti gli insegnamenti è consultabile su 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.