CODE 101448 ACADEMIC YEAR 2025/2026 CREDITS 6 cfu anno 1 INGEGNERIA CHIMICA E DI PROCESSO 11918 (L-9 R) - GENOVA 6 cfu anno 1 INGEGNERIA ELETTRICA 11879 (L-9 R) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05 LANGUAGE Italian TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW The course introduces the student to the theoretical and practical aspects of information processing through computers, allowing the use of programming as a tool for solving real problems. AIMS AND CONTENT LEARNING OUTCOMES The teaching aims to provide students with the fundamental notions regarding the main architectures of the computer systems and the devices that compose them. Alongside a formal discussion of the coding and processing of information, the student will learn the C language, an indispensable tool for creating examples of programs that will accompany the different topics addressed, acquiring the methodologies necessary for the management of the computer memory and structures. hosted in it. We will also provide notions for debugging and testing the procedures implemented in the most common development environments, suggesting some good practices for the management of personal information technology. AIMS AND 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. In particular: - Ability to understand the functioning of a computer and its main components. - Ability to understand the functioning of an operating system and its main components - Ability to develop simple applications with the Python language PREREQUISITES The course has no particular prerequisites. TEACHING METHODS Lectures and computer-assisted exercises. SYLLABUS/CONTENT The Computer: structure and functionality of the main components The Operating System: structure and functionality of the main components Programming: from algorithms to code The Python language: variables and memory management; numerical and textual expressions; logical expressions; control structures: conditional choice, iteration, procedures and functions; predefined data structures: lists, sets, dictionaries; use of file and console I / O. RECOMMENDED READING/BIBLIOGRAPHY Python - Introduction to Programming (C. Horstmann, R.D. Necaise , ISBN 8891663979) Python Programming (K.A. Lambert, ISBN 8891671431) Lecture notes and teaching materials made available by the teacher on the course website and in class. TEACHERS AND EXAM BOARD PIERGIORGIO BERTOLI Ricevimento: Upon student's request, by an e-mail to the teacher. Exam Board PIERGIORGIO BERTOLI (President) MASSIMO NARIZZANO (President Substitute) ARMANDO TACCHELLA (President Substitute) LESSONS Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam consists of a written paper-based trial, including tests and programming tasks; an oral part of the exam is optional. ASSESSMENT METHODS Proof of undesrstanding the key conecpts taught at the course; ability to develop, debug and complete algorithms that satisfy given specifications. Exam schedule Data appello Orario Luogo Degree type Note 08/06/2026 11:00 GENOVA Scritto Aula G2B 10/07/2026 13:00 GENOVA Scritto