CODE 114603 ACADEMIC YEAR 2024/2025 CREDITS 6 cfu anno 1 INGEGNERIA INFORMATICA 8719 (L-8) - IMPERIA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE English TEACHING LOCATION IMPERIA SEMESTER Annual MODULES Questo insegnamento è un modulo di: INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING TEACHING MATERIALS AULAWEB AIMS AND CONTENT LEARNING OUTCOMES This course aims to provide the basis knowledge of computer programming. The student will learn how to analyze simple problems, how to solve them with procedural algorithms, using a programming language, and the basis to solve simple data analysis and numerical calculation problems. AIMS AND LEARNING OUTCOMES Students will learn the basics of programming with the C++ language, focusing on creating simple programs. They will explore fundamental concepts and techniques to write and debug code. After the completion of the course, the students would be able to Grasp Computational Thinking principles effectively. Understand imperative programming concepts. Utilize an imperative programming language (C++, limited to non-object-oriented concepts). Design, implement, and validate small sequential programs based on informal user specifications. Write small-scale C++ programs with correct and comprehensible code. Operate an IDE (e.g., VS Code) comfortably. TEACHING METHODS The teaching methods are: Classroom lessons Guided Laboratories Homework delivered through Aulaweb Attending classes and labs is strongly encouraged and suggested. SYLLABUS/CONTENT The course includes both theoretical lessons held in the classroom and a significant practical component of programming activities conducted in the lab. Main topics: Introduction to the course, computational thinking, and programming Programming environments and formal languages Imperative programming: variables and instructions; assignment; input/output; if-then-else; loops; types; structured types (1-dimensional or multi-dimensional arrays, strings, structs); functions and parameter passing; pointers; dynamic memory allocation (heap); dynamic vectors; linked lists; recursion RECOMMENDED READING/BIBLIOGRAPHY There is no textbook for this course. You may find some of the following online materials helpful: C++ Language Tutorial (https://cplusplus.com/doc/tutorial/) Wikiversity: Introduction to C++ (https://en.wikiversity.org/wiki/C%2B%2B/Introduction) Learn about C++ Programming (https://www.thoughtco.com/c-and-c-plus-programming-4133470) TEACHERS AND EXAM BOARD FILIPPO RICCA Ricevimento: Appointment by email Exam Board FILIPPO RICCA (President) DAVIDE ANGUITA ROBERTO SACILE (President Substitute) LESSONS LESSONS START In accordance with the teaching calendar approved by the Council of Study Programs https://corsi.unige.it/en/corsi/8719/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS Exam schedule Data appello Orario Luogo Degree type Note 10/06/2025 11:00 IMPERIA Scritto 03/07/2025 11:00 IMPERIA Scritto 17/07/2025 11:00 IMPERIA Scritto 15/09/2025 11:00 IMPERIA Scritto