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

http://math.i-learn.unito.it

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:
Ultimo aggiornamento: 10/07/2018 17:14

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