- Oggetto:
- Oggetto:
Basi di informatica A e B
- Oggetto:
Computer science basics (A and B)
- Oggetto:
Anno accademico 2018/2019
- Codice dell'attività didattica
- MFN1627
- Docente
- Prof. Viviana Bono (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
- Prova pratica
- Prerequisiti
-
Nessuno
None - Propedeutico a
-
Programmazione avanzata
Programmazione avanzata - Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
Coerentemente con gli obiettivi formativi del Corso di Studio previsti dalla scheda SUA-CdS, l'insegnamento si propone di fornire allo studente le basi della programmazione, considerata come parte integrante della cultura di un matematico. I macro-obiettivi sono: (i) sapere programmare algoritmi di difficoltà media forniti dal docente; (ii) apprendere qualche elemento di utilizzo di librerie software; (iii) migliorare le proprie capacità di problem solving.
L'insegnamento prevede lezioni miste teorico-pratiche in laboratorio e il supporto di un tutor. Si vuole stimolare lo studente a affrontare problemi di difficoltà crescente, in modo da passare gradualmente da situazioni di tipo imitativo, a casi in cui occorra uno sforzo autonomo per affrontare situazioni non puramente ripetitive.
Coherently with the "obiettivi formativi" (educational goals) of the Corso di Studio as indicated in the SUA-CdS form, this course has the aim to teach some programming basics to the students, as an essential skill for a mathematician. The macro-objectives are: (i) to program algorithms of medium difficulty supplied by the teacher; (ii) to learn how to approach software libraries; (iii) to develop some problem-solving skills.
The course provides lectures that are both theoretical and practical, all held in the lab, and the support of a tutor. We aim to stimulate the capacity of the students to tackle problems of increasing difficulty, in such a way to go from the imitation of the teacher's work to more autonomous work.
- Oggetto:
Risultati dell'apprendimento attesi
Al termine dell'insegnamento lo studente dovrà dimostrare:
- di saper progettare funzioni per la soluzione di problemi di media difficoltà;
- di saper far uso di cicli, funzioni e alcuni tipi di dato;
- di capire come funziona un programma.
At the end of the course students are expected to be capable of:
- designing functions solving medium-difficulty problems;
- using loops, functions and some elementary data structures;
- understanding how a program works.
- Oggetto:
Modalità di insegnamento
Il corso prevede 48 ore di insegnamento (6 CFU), divise in 24 lezioni di 2 ore ciascuna, 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), organized in 24 lessons of 2 hours, 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 compilatore C++ per costruire semplici programmi, di saper correggere eventuali errori scoperti con l'aiuto del computer e di sapere ragionare sul codice di un programma per valutarne la correttezza.
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 correctness of the code.
- Oggetto:
Attività di supporto
Oltre alle lezioni, il corso prevede 10-12 attività di tutorato in laboratorio, di due ore ciascuna. Ci si avvale inoltre della piattaforma Moodle per la distribuzione di materiale didattico (lucidi, codice, dispense ed esercizi).
Beside the lectures and exercises the course is supported by a tutorship in the lab. For distributing all teachnig matherial we use the Moodle platform (slides, code, handouts and exercises).
- 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 sono:
1. Variabili e tipi
2. Funzioni
3. Condizionale e ricorsione
4. Iterazione
5. Stringhe e 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 that 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 il sito I-learn (http://math.i-learn.unito.it) del corso.
Testo di consultazione:
Allen B. Downey, How to Think Like a Computer Scientist C++ Version, capitoli 1-10
scaricabile liberamente da http://greenteapress.com/thinkcpp/index.html
All material is available on the I-learn site:
Text:
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
- Oggetto: