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.
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
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"
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
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)
Ricevimento: Su appuntamento (mandare una mail)
FILIPPO RICCA (Presidente)
DAVIDE ANGUITA
ROBERTO SACILE (Presidente Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Ingegenria Informatica
L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy
Rivolgersi al docente per ulteriori informazioni non comprese nella scheda insegnamento/Ask the professor for other information not included in the teaching schedule