CODE 101448 ACADEMIC YEAR 2023/2024 CREDITS 7 cfu anno 1 INGEGNERIA ELETTRICA 8716 (L-9) - 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 course 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 (possibly online) 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 Tony Gaddis - Introduzione a Python (5a edizione) - Pearson Lecture notes and teaching materials made available by the teacher on the course website and in class. TEACHERS AND EXAM BOARD STEFANO DEMARCHI Exam Board STEFANO DEMARCHI (President) DANIELE MESTRINER MAURIZIO FRANCO MAZZUCCHELLI (President Substitute) LESSONS LESSONS START https://corsi.unige.it/8716/p/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Computer base programming test. It is not allowed to use notes or texts and PDAs. Mobile phones are not allowed ASSESSMENT METHODS Ability to develop a Python application that reads data from a text file, reprocesses it and produces a desired output. Exam schedule Data appello Orario Luogo Degree type Note 04/06/2024 09:30 GENOVA Scritto Aula INFAL2 (Padiglioni Villa Cambiaso) 20/06/2024 09:30 GENOVA Scritto Aula INFAL1 (Pad. G) 03/07/2024 09:30 GENOVA Scritto Aula INFAL2 (Padiglioni Villa Cambiaso) 18/07/2024 09:30 GENOVA Scritto Aula INFAL2 (Padiglioni Villa Cambiaso) 04/09/2024 09:30 GENOVA Scritto