CODICE 114603 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 1 INGEGNERIA INFORMATICA 11880 (L-8 R) - IMPERIA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE IMPERIA PERIODO Annuale MODULI Questo insegnamento è un modulo di: INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI This course aims to introduce students to the fundamental principles of computer science and imperative programming. Through the use of the C++ language, students will develop computational thinking skills and acquire the ability to design, implement, and test simple programs. The course combines theoretical knowledge with practical programming experience, enabling students to use basic programming constructs and data structures effectively. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Gli studenti apprenderanno le basi della programmazione con il linguaggio C++, concentrandosi sulla creazione di programmi semplici. Esploreranno i principi di base e le strategie pratiche per scrivere codice e correggerne gli errori. Il corso introdurrà inoltre: Il concetto di pseudocodice e diagrammi di flusso Le nozioni di sintassi e semantica di un linguaggio di programmazione Elementi base delle grammatiche formali Un’introduzione alla programmazione visuale utilizzando strumenti come Blockly Al termine del corso, i partecipanti saranno in grado di: Comprendere efficacemente i principi del pensiero computazionale Capire i concetti della programmazione imperativa Utilizzare un linguaggio di programmazione imperativo (C++, limitato ai concetti non orientati agli oggetti) Progettare, implementare e validare piccoli programmi sequenziali basati su specifiche informali dell’utente Scrivere programmi C++ di piccola scala con codice corretto e comprensibile Utilizzare agevolmente un ambiente di sviluppo integrato (IDE), ad esempio VS Code MODALITA' DIDATTICHE Lezioni in aula Laboratori guidati Compiti consegnati tramite Aulaweb La partecipazione a lezioni e laboratori è fortemente incoraggiata e consigliata Gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali devono contattare il docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali e forniscano idonei strumenti compensativi. Si ricorda che la richiesta di misure compensative/dispensative per gli esami dovrà essere inviate al docente del corso, al referente della Scuola e al “Settore servizi per l'inclusione degli studenti con disabilità e con DSA" PROGRAMMA/CONTENUTO Il corso comprende sia lezioni teoriche tenute in aula sia una significativa componente pratica di attività di programmazione svolte in laboratorio. Argomenti principali: Introduzione al corso, pensiero computazionale e programmazione Ambienti di programmazione e linguaggi formali Pseudocodice e diagrammi di flusso Sintassi e semantica dei linguaggi di programmazione Nozioni base di grammatiche e teoria dei linguaggi formali Introduzione alla programmazione visuale (es. Blockly) Programmazione imperativa in C++: variabili e istruzioni; assegnamenti; input/output; if-then-else; cicli; tipi; tipi strutturati (array monodimensionali o multidimensionali, stringhe, struct); funzioni e passaggio di parametri; puntatori; allocazione dinamica della memoria (heap); vettori dinamici; liste collegate; ricorsione TESTI/BIBLIOGRAFIA Non è previsto un libro di testo per questo corso. Potresti trovare utili alcuni dei seguenti materiali online: C++ Language Tutorial (https://cplusplus.com/doc/tutorial/) An Introduction to C++ Programming for First-time Programmers - C++ Programming Tutorial (https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp0_Introduction.html) DOCENTI E COMMISSIONI FILIPPO RICCA Ricevimento: Su appuntamento (mandare una mail) LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Ingegenria Informatica Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ALTRE INFORMAZIONI Rivolgersi al docente per ulteriori informazioni non comprese nella scheda insegnamento/Ask the professor for other information not included in the teaching schedule