Vai al contenuto principale
Oggetto:
Oggetto:

Informatica (COGNOMI L-Z)

Oggetto:

COMPUTER SCIENCE

Oggetto:

Anno accademico 2023/2024

Codice attività didattica
MAT0289
Docente
Roberto Esposito (Titolare)
Corso di studio
Laurea in Matematica
Anno
1° anno
Periodo
Primo 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
Scritto
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:

  • sapere programmare algoritmi di difficoltà media (inizialmente forniti dal docente); 
  • apprendere qualche elemento di utilizzo di librerie software;
  • 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:

  • to program algorithms of medium difficulty (initially supplied by the teacher);
  • to learn how to approach software libraries;
  • 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

CONOSCENZA E CAPACITÀ DI COMPRENSIONE

L'insegnamento si propone di fornire allo studente le basi della programmazione.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE

I macro-obiettivi di tale capacità sono: (i) sapere programmare algoritmi di difficoltà media (inizialmente forniti dal docente); (ii) apprendere qualche elemento di utilizzo di librerie software; (iii) migliorare le proprie capacità di problem solving.

AUTONOMIA DI GIUDIZIO

Lo studente si esercita a valutare la correttezza dei programmi scritti da altri e da sé, nonché impara a valutare la bontà della propria soluzione (dal punto di vista dell'eleganza del codice e della sua complessità pratica).

ABILITÀ COMUNICATIVE

Lo studente impara a utilizzare con proprietà il linguaggio tecnico-scientifico della materia nell'esposizione dei concetti appresi.

CAPACITÀ DI APPRENDIMENTO

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.

 

KNOWLEDGE AND UNDERSTANDING

This course has the aim to teach some programming basics to the students. 

APPLYING KNOWLEDGE AND UNDERSTANDING

The macro-objectives for fulfilling this skill are: (i) to program algorithms of medium difficulty (initially supplied by the teacher); (ii) to learn how to approach software libraries; (iii) to develop some problem-solving skills.

INDEPENDENT JUDGEMENT

The students must be able to evaluate the correctness of programs written by others and themselves, moreover to judge the value of their solutions (from a practical complexity and a tidiness points of view).

COMMUNICATION SKILLS

The students learn the appropriate usage of the technical-scientific language of the subject, in order to present the learned concepts succesfully.

LEARNING SKILLS

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:

Programma

Il corso verte sulla programmazione, spiegata attraverso il linguaggio C++. L'oggetto del corso, tuttavia, non è il C++ in tutti i suoi dettagli, ma su 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 through 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.

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.

Oggetto:

Modalità di verifica dell'apprendimento

L’esame sarà scritto, in presenza, e somministrato tremite la Piattaforma Esami I-learn. 

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 compilatore e di sapere ragionare sul codice di un programma per valutarne la correttezza.

The exam will be written, in person, and administered through the I-learn Exam Platform.

The exam comprises a combination of open-ended and multiple-choice questions. The open-ended questions primarily involve completing code for short programs.

Students will pass the exam if they can showcase their familiarity with a C++ programming IDE, their ability to craft well-structured programs, effectively debug and rectify errors based on compiler messages, and demonstrate their capacity 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 oppure online, di due ore ciascuna. Ci si avvale inoltre della piattaforma I-learn per la distribuzione di materiale didattico (lucidi, codice, dispense ed esercizi).

Testi consigliati e bibliografia

Oggetto:

Tutto il materiale (incluse le registrazioni di eventuali lezioni online) sarà 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 (including the recording of online lectures) will be 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



Registrazione
  • Aperta
    Oggetto:
    Ultimo aggiornamento: 12/09/2023 10:23

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