- Oggetto:
- Oggetto:
Basi di informatica
- Oggetto:
Programming in C++
- Oggetto:
Anno accademico 2015/2016
- Codice dell'attività didattica
- MFN1627
- Docente
- 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
None - Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
Scopo del corso è di introdurre alla programmazione, ed in generale alle basi dell'algoritmica, considerata come parte integrante della cultura di un matematico. Il corso è orientato alla soluzione di problemi mediante la costruzione di programmi ben strutturati, alla loro sperimentazione ad esempio mediante la verifica empirica di congetture matematiche, ed all’apprendimento delle tecniche di verifica della correttezza e di valutazione dell’efficienza dei programmi.Aim of this course is the introduction to programming, and in general to the basics of computer scince, considered as an essential part of the mathematical culture. The course focuses on problem solving via well structured programs, on empirical experience of mathematica conjectures and on tecniques for verifyong program correctness and efficiency.
- Oggetto:
Risultati dell'apprendimento attesi
Al termine dell'insegnamento lo studente dovrà dimostrare:
- di saper progettare algoritmi per la soluzione di semplici problemi computazionali;
- di saper scrivere brevi programmi in C++ che realizzino tali algoritmi;
- di saper far uso di cicli, funzioni e tipi di dato sia statici che dinamici;
- di saper ragionare sulla correttezza ed efficienza dei programmi.
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, e possedere le informazioni di base per stimare l'efficienza in tempo dei programmi.
At the end of the course students are expected to be capable of:
- designing algorithms solving simple computational problems;
- implementing the algorithms in C++;
- using loops, functions and elementary data structures;
- reasoning on correctness and efficiency of programs.
- Oggetto:
Modalità di insegnamento
Il corso prevede 48 ore di insegnamento (6 CFU) e si svolge interamente in laboratorio, alternando lezioni teoriche ed esercitazioni pratiche con gli elaboratori.
The course consists of 48 hours of class (6 CFU) and it is held in the laboratory, interleaving lectures and practice.
- Oggetto:
Modalità di verifica dell'apprendimento
L'esame si svolge in laboratorio mediante l'uso degli elaboratori. Consiste nel rispondere a domande sia a risposta chiusa che aperta, e soprattutto nel completare il codice di semplici programmi in conformità alle richieste del docente.
La preparazione sarà considerata adeguata se lo studente dimostrerà di essere in grado di usare un ambiente integrato di programmazione C++ per costruire semplici programmi in modo ben strutturato, di saper correggere eventuali errori scoperti con l'aiuto del computer e di sapere ragionare sul codice di un programma per valutarne correttezza ed efficienza.
The exam consists of answering tests both of open and closed questions, and mainly of completing the code of short programs. Students will pass the exam provided they demonstrate to be familiar with an IDE for programming in C++, to be able to write well structured programs, to debug and fix errors reacting to the compiler messages, to reason about the code w.r.t. its correctness and efficiency.
- Oggetto:
Attività di supporto
Oltre alle lezioni, il corso prevede attività di tutorato in laboratorio. 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.
Beside the lectures and exercises the course is supported by a tutorship in the lab. For distributing all teachnig matherial, for assignments and discussion it used the Moodle platform.
- Oggetto:
Programma
Programma (Italiano)
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 sono:1. Variabili e tipi
2. Funzioni
3. Condizionale e ricorsione
4. Iterazione
5. Stringhe ed oggetti elementari
6. Strutture
7. VettoriThe 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 illustrate 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. VectorsTesti consigliati e bibliografia
- Oggetto:
Tutto il materiale sarà a distribuito attraverso sito Moodle del corso.
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).
Texts:
Allen B. Downey, How to Think Like a Computer Scientist C++ Version, chapters 1-10
freely available from http://greenteapress.com/thinkcpp/index.html
- Oggetto:
Orario lezioni
Giorni Ore Aula - Oggetto:
Note
BASI DI INFORMATICA, MFN1627 (DM270), 6 CFU INF/01, TAF A (base), ambito formazione informatica Modalità di verifica/esame: scritto e prova di laboratorio insieme
- Oggetto: