Vai al contenuto principale
Oggetto:
Oggetto:

Basi di informatica (DM 270) - a.a. 2013/14

Oggetto:

Programming in C++

Oggetto:

Anno accademico 2013/2014

Codice dell'attività didattica
MFN1627
Docenti
Prof. Stefano Berardi (Titolare del corso)
Prof. Ugo de' Liguoro (Titolare del corso)
Corso di studi
Laurea in Matematica
Anno
1° anno
Periodo didattico
Secondo semestre
Tipologia
D.M. 270 TAF A - Base
Crediti/Valenza
6
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
Tradizionale
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Scritto
Prerequisiti
Nessuno
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Introdurre alla programmazione, intesa come realizzazione di algoritmi ed in generale di metodi automatici di elaborazione. L'enfasi è posta sui metodi di costruzione dei cicli, nonché sugli aspetti di organizzazione del programma e di verifica della correttezza.

Conoscenza e capacità di comprensione

Il corso, partendo dalle conoscenze di semplici nozioni di base di matematica, introduce i primi concetti relativi ai programmi, utili per lo sviluppo di semplici algoritmi di uso comune in matematica.


Capacità di applicare conoscenza e comprensione

Il corso presenta nozioni relative a cicli e efficienza di programmi, con un largo uso di esempi e osservazioni empiriche. Si considerano solo risultati trattabili con i mezzi a disposizione a uno studente del primo anno. Questo non impedisce allo studente di comprendere e impadronirsi di concetti di primaria importanza. Il corso è orientato alla soluzione di problemi, che vengono regolarmente assegnati, corretti dal docente e poi discussi in aula. Esercizi di difficolta’ comparabile sono riproposti come prova d’esame.

Autonomia di giudizio
Gli esercizi che vengono proposti possono venir risolti individualmente o in gruppo. Il confronto con i compagni di corso, nel lavoro a casa o durante le correzioni in aula, favorisce lo sviluppo di capacità logiche per riuscire a chiarire ai compagni le proprie soluzioni. Spesso gli esercizi proposti possono venir risolti in modi molto diversi. La presentazione di soluzioni di altri permette di sviluppare capacità di riconoscimento di errori in programmi e la comprensione di programmi corretti alternativi.


Abilità comunicative
Le numerose discussioni sui diversi metodi per risolvere gli esercizi proposti consentono di migliorare le capacità di comunicazione. Inoltre la formalizzazione in programmi di semplici congetture matematiche o modelli del mondo esterno allena lo studente a rivolgersi a un pubblico non matematico, presentando risultati di studi matematici.

Capacità di apprendimento
Il corso fornisce alcuni concetti di base della teoria informatica che saranno utili a quanti approfondiranno questi studi per avere in mente semplici esempi che illustreranno concetti più astratti. Gli stessi concetti, specie quelli relativi alla programmazione dinamica, potranno essere di grande utilità in ambito lavorativo. L’apprendimento del metodo informatico alla base della progettazione di programmi potrà poi rivelarsi utile, anche a distanza di tempo, per la simulazione computerizzata di realtà di svariata natura.  

 

 

Oggetto:

Risultati dell'apprendimento attesi

Saper programmare in C++ in modo strutturato e ben organizzato, usando funzioni e tipi di dato statici e dinamici; saper verificare la corretteza dell'implementazione rispetto alla specifica.

 

Oggetto:

Modalità di insegnamento

Il corso alterna un'ora di lezione frontale, in cui il docente spiega esempi presi dal libro di testo e li utilizza per introdurre concetti di programmazione, con un'ora di laboratorio in cui lo studente, sotto la guida del docente, sviluppa a sua volta semplici esempi simili a quelli esposti nell'ora precedente.

Oggetto:

Modalità di verifica dell'apprendimento

L'esame si svolge in laboratorio. Consiste in primo luogo nel rispondere a domande a risposte chiusa attraverso la piattaforma Moodle, per un totale di 6 punti. Totalizzando almeno 3 punti si accede alla fase successiva. La fase successiva consiste nel completare il codice di semplici programmi in conformità alle richieste del docente. Queste domande assegnano un totale di 24 punti. Totalizzando almeno 12 punti si accede all’ultima fase dell’esame. Nell’ultima fase dell’esame si deve rispondere a una domanda a risposta aperta proposta attraverso la piattaforma Moodle: quest’ultima fase dell’esame assegna 6 punti. Il voto e’ la somma dei voti delle prove parziali, ogni voto superiore al 30 viene contato come 30 e lode.

The examination takes place in a computer science laboratory. The first step is to asnwer to a test with a fixed set of answers to choose in, using the Moolde platform. The score is from 0 to 6. At least three points are required to go to the next step. The second step consists in completing some C++ code given by the teacher. There are 4 questions of 6 points each, for a total of 24 points at maximum. At least 12 points are required to go the the third and last step of the examination. In the third step the student should produce a few lines answer to a question concerning the behavior of a given program. The total score of these three step is the score of the examination.  Any score higher than 30 is translated as <<30 e lode>>.

Oggetto:

Attività di supporto

Il corso alterna un'ora di lezione, e una di attività di laboratorio. Una volta alla settimana ci sono due ore (facoltative) di tutorato tenute da un dottorando. Ci si avvale inoltre della piattaforma Moodle per la distribuzione di materiale didattico (lucidi, dispense ed esercizi), per la consegna e la correzione di esercitazioni, per le discussioni e gli avvisi.

 

Oggetto:

Programma

 

 Il corso verte sulla programmazione, spiegata attraverso il linguaggio C++. L'oggetto del corso, tuttavia, non è il linguaggio C++ in tutti i suoi dettagli, ma alcuni aspetti di base della programmazione. Gli argomenti del corso includono (non necessariamente in ordine di presentazione):

1. Variabili e tipi
2. Funzioni
3. Conditionale e ricorsione
4. Iterazione
5. Stringhe ed oggetti elementari
6. Strutture
7. Vettori

 

 

 The course is about programming, introduced throught the language C++. The goal of the course, however, is not to explain the language C++ in all details, but to explain basic topics of programming. This is the list of topics which are covered:

1. Variables and types
2. Functions
3. Conditionals and recursion
4. Iteration
5. Strings and elementary objects
6. Structures
7. Vectors

Testi consigliati e bibliografia

Oggetto:

Tutto il materiale sara' a disposizione ESCLUSIVAMENTE sul sito moodle del corso: NESSUN materiale sara' a disposizione qui. 

Testo obbligatorio:

Allen B. Downey, How to Think Like a Computer Scientist C++ Version, capitoli 1-10

scaricabile liberamente da http://greenteapress.com/thinkcpp/index.html

Una lettura integrativa in Italiano e': D. S. Malik, Programmazione in C++, Apogeo 2011 (trad. it. di Introduction to C++ Programming, 2009 Course Technology).



Oggetto:

Note

BASI DI INFORMATICA, MFN1627 (DM270), 6 CFU INF/01, TAF A (base), ambito formazione informatica Modalità di verifica/esame: prova pratica.

Oggetto:
Ultimo aggiornamento: 26/03/2015 12:47

Location: https://www.matematica.unito.it/robots.html
Non cliccare qui!