Vai al contenuto principale
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. 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 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. Vectors

Testi 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

GiorniOreAula
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:
Ultimo aggiornamento: 19/04/2016 10:28

Non cliccare qui!