Vai al contenuto principale
Oggetto:
Oggetto:

Basi di informatica - CORSO A (COGNOMI A-K)

Oggetto:

Computer science basics

Oggetto:

Anno accademico 2020/2021

Codice attività didattica
MFN1627
Docente
Dott. Amon Rapp (Titolare del corso)
Corso di studio
Laurea in Matematica
Anno
1° anno
Periodo
Secondo semestre
Tipologia
D.M. 270 TAF A - Base
Crediti/Valenza
6
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia esame
Prova pratica
Prerequisiti

Nessuno

None
Propedeutico a

Programmazione avanzata

Programmazione avanzata
Oggetto:

Sommario del corso

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) saper 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 meramente 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:

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

Oggetto:

Modalità di insegnamento

Il corso in presenza 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.

Data l’emergenza COVID-19, la fruizione dei contenuti del corso sarà comunque garantita in modalità online sull'I-learn del corso. A seconda dell’andamento dell’emergenza COVID-19, le lezioni in presenza potranno tradursi in incontri  con piccoli gruppi per discutere gli argomenti del corso. Parallelamente, potranno essere previsti incontri online in diretta con lo stesso obiettivo, per chi non potrà essere presente.

The course in-presence is 48-hour long (6 CFU), divided in 24 lectures of 2 hours each. It consists in alternating theoretical lessons and practice with the computer.

Because of the COVID-19 emergency, the entire content of the course will be available on-line, too. According to the evolution of the pandemic situation, the in-presence lectures could be transformed into small-group meetings to dicuss the subjects of the course. At the same time, we will provide on-line live meetings for the people that will not be able to be present.

Oggetto:

Modalità di verifica dell'apprendimento

L’esame sarà scritto e le sue modalità precise (in presenza in laboratorio mediante l'uso degli elaboratori, oppure online sulla Piattaforma Esami I-learn) dipenderanno dall’andamento dell’emergenza COVID-19. Ulteriori indicazioni verranno riportate a ridosso delle sessioni d’esame.

L’esame consiste nel rispondere a una serie di domande sia a risposta chiusa che aperta che possono, ad esempio, richiedere il completamento del 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 (in-presence or on-line, depending on the evolution of the pandemic situation) consists of answering tests including both open and closed questions. The open questions require mainly 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, and 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:

Testi consigliati e bibliografia

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 lezioniV

Registrazione
  • Aperta
    Oggetto:
    Ultimo aggiornamento: 28/07/2020 09:51

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