- Oggetto:
- Oggetto:
Introduzione alla programmazione (COORTE 2018)
- Oggetto:
Introduction to programming
- Oggetto:
Anno accademico 2019/2020
- Codice dell'attività didattica
- MFN1317
- Docenti
- Cristina Baroglio (Titolare del corso)
Prof. Ferruccio Damiani (Titolare del corso)
Dott. Amon Rapp (Titolare del corso) - Corso di studi
- 008703 Laurea in Fisica
- Anno
- 2° anno
- Periodo didattico
- Terzo periodo didattico
- Tipologia
- F= Altro
- Crediti/Valenza
- 3
- SSD dell'attività didattica
- INF/01 - informatica
- Modalità di erogazione
- Doppia
- Lingua di insegnamento
- Italiano
- Modalità di frequenza
- Facoltativa
- Tipologia d'esame
- Prova pratica
- Prerequisiti
-
Non ci sono prerequisiti.
There are not.
- Propedeutico a
-
Successivi corsi approfonditi di programmazione.
More advanced courses on programming. - Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
Conoscere gli elementi di un linguaggio di programmazione in generale, apprendere un linguaggio di programmazione concreto (c++) e utilizzarlo per la risoluzione di problemi computazionali (di natura informatica, fisica e matematica).
The goal is to be acquainted with the basic elements of a programming language, to learn to use a concrete language (C++) and to apply it to solve computational problems (in the field of computer science, mathematics and physics).
- Oggetto:
Risultati dell'apprendimento attesi
Conoscenza e comprensione
Al termine del corso il studente conosce gli elementi principali che caratterizzano un linguaggio di programmazione (sintassi, semantica, ambiente di sviluppo). Conosce le strutture dati basilari, le strutture di controllo, a ha una conoscenza di base delle astrazioni principali del linguaggio C++ (classi e oggetti).
Capacità di applicare conoscenza e comprensione
Al termine del corso il studente è in grado di applicare il C++ per la risoluzione di semplici problemi computazionali. Possiede le conoscenze necessarie per affrontare individualmente lo studio di un linguaggio di programmazione.Knowledge and understanding
At the end of the course the student is familiar with the main elements characterizing a programming language (syntax, semantics, development environment). She/he is able to use the basic data structures, the control structures, and has a basic understanding of the major abstractions of C ++ (classes and objects).
Ability to apply knowledge and understanding
At the end of the course the student is able to apply C++ for the solution of simple computational problems and possesses the knowledge required to individually address the study of other programming languages.
- Oggetto:
Modalità di insegnamento
Il corso è composto da lezioni in aula (2 ore ciascuna) e esercitazioni in laboratorio (3 ore ciascuna).
The course consists of classroom lessons (2 hours each) and laboratory exercises (3 hours each).
- Oggetto:
Modalità di verifica dell'apprendimento
Modalità d'esame dovute all' emergenza COVID-19 aa 19-20
Le modalità di esame a seguito delll'emergenza Covid-19 del corso di Introduzione alla programmazione (coorte 2018) aa 19-20 consisteranno in una prima parte strutturata come un esonero e una seconda parte orale. Le specifiche dettagliate delle regole d'esame sono pubblicate all'interno del moodle del corso.
-- fine regole dovute all'emergenza COVID-19--
L’esame è composto da una parte scritta (1 ora circa) e una parta pratica al computer (2 ore circa). Esercizi di esami precedenti saranno disponibili sul sito moodle del corso.
The examination is composed of a written part (about 1 hour) and a practical one at computer (about 2 hours). Previous exams exercises will be available on the Moodle site of the course.
- Oggetto:
Attività di supporto
Ricevimento su appuntamento del docente di riferimento. Assistenza individuale dalla parte dei studenti collaboratori.
Reception by appointment and individual assistance from tutoring students.
- Oggetto:
Programma
Introduzione ai concetti di base della programmazione (problema computazionale, algoritmo, sintassi, semantica). Tipi basilari di variabili (interi, numeri reali, variabili booleani). Operatori e precedenza degli operatori. Strutture di controllo di selezione e di iterazione. Funzioni (meccanismi di passaggio di parametri, ambiente di visibilità delle variabili, ricorsione). L'utilizzo degli array statici. Puntatori e il loro utilizzo per gestire array dinamici. Struttura di un programma c++ e l'utilizzo di un ambiente di sviluppo in Linux. Introduzioni alle classi. Risoluzione di semplici problemi computazionali di natura informatica, fisica e matematica.
Introduction to the basic concepts of programming (computational problems, algorithm, syntax and semantics). Basic variable types (integers, rational numbers and bools). Operators and their precedence. Control structures for selection and iteration. Functions (ways of passing parameters to functions, scope of variables, recursion). Static arrays. Pointers and their use to dynamic memory allocation. Structure of a c++ program and developing c++ programs under Linux. Introduction to classes. Solution of simple computational problems from computer science, physics and mathematics.
Testi consigliati e bibliografia
- Oggetto:
Le dispense e il materiale a cui fare riferimento sono disponibili all'interno del moodle del corso.
Il testo a cui le dispense fanno riferimento sono i primi dieci capitoli del libro How to Think Like a Computer Scientist (Think C++) di Allen Downey (indicazioni ulteriori sul libro di testo sono presenti nel moodle)
Altri testi di approfondimento:
H Deitel, P Deitel; C++ How to Program; Prentice Hall
The material for the course is available in the moodle of the course.
The reference book on which the course material is based is How to Think Like a Computer Scientist (Think C++) by Allen Downey (information about the book can be found in the moodle)
Other books too deepen the course topics:
H Deitel, P Deitel; C++ How to Program; Prentice Hall
- Oggetto:
Orario lezioni
Nota: Orario visualizzabile alla sezione "Orario lezione"
- Oggetto:
Note
Contrariamente alle aspettative iniziali l'insegnamento prevederà l'erogazione di didattica alternativa. Tutti gli studenti e le studentesse dell'insegnamento debbono iscriversi al corso moodle associato: https://ph.i-learn.unito.it/course/view.php?id=333
Corso A: Studenti con la prima lettera del cognome compresa tra A e K
Corso B: Studenti con la prima lettera del cognome compresa tra L e Z
Course A: students with the first letter of the surname from A to K
Course B: students with the first letter of the surname from L to Z
- Oggetto: