View syllabus
Programming for data science
GIUSEPPE PRENCIPE
Academic year2020/21
CourseDATA SCIENCE AND BUSINESS INFORMATICS
Code667AA
Credits12
PeriodSemester 1 & 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
PROGRAMMING FOR DATA SCIENCEINF/01LEZIONI96
GIUSEPPE PRENCIPE unimap
LAURA SEMINI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Corso introduttivo alla programmazione e relativo background logico/matematico, dedicato a studenti senza una Laurea Triennale in Computer Science o in Computer Engineering. L'obiettivo e' quello di introdurre lo studente ai concetti e agli strumenti propri della programmazione, necessari per il processamento e all'analisi dei dati. Il corso prevede lezioni frontali e din laboratorio.

Knowledge

This is an introductory course to computer programming and related mathematical/logic background for students without a Bachelor in Computer Science or in Computer Engineering. The objective is to smoothly introduce the student to the programming concepts and tools needed for typical data processing and data analysis tasks. The course consists of lectures and practice in computer labs.

Modalità di verifica delle conoscenze

Lo studente sara' valutato per le sue capacita' di uso della programmazione dedicata al problem solving. Sono previsti una prova di laboratorio e un esame orale. 

Metodi:

  • Esame finale orale
  • Prova pratica di laboratorio
Assessment criteria of knowledge

The student will be assessed on his/her demonstrated ability to use computer programming for problem solving. There is a lab exam and an oral exam.

Methods:

  • Final oral exam
  • Final laboratory practical demonstration
Capacità

Lo studente sara' in grado di utilizzare linguaggi di programmazione e le relative nozioni matematiche necessarie per la risoluzione di problemi.

Skills

The student will be able to use computer programming languages and related mathematical notions for problem reasoning and solving.

Modalità di verifica delle capacità

Le capacita' saranno verificate tramite esame in laboratorio. 

Assessment criteria of skills

Skills will be assessed through a lab exam. 

Comportamenti

Lo studente sara' in grado di separare il problema e la sua soluzione dalla implementazione della soluzione mediante uno specifico linguaggio di programmazione. La capacita' attesa al termine del corso e' quella del Pensiero computazionale (Computational thinking).

Behaviors

The student will be able to separate apart the problem constraint and solutions from the actual coding in a specific computer programming language. Computational thinking is the expected ability at the end of the course.

Modalità di verifica dei comportamenti

Autonomia e capacita' di computational thinking saranno verificate durnate le ore pratiche in laboratorio, e durante la prova orale finale.

Assessment criteria of behaviors

Autonomy and capacity of computational thinking will be assessed during the lab practices and at the oral exam.

Prerequisiti (conoscenze iniziali)

Nozioni di matematica di base. 

Prerequisites

Basic mathematical notions as given in most of Bachelor programs.

Indicazioni metodologiche

Lezioni frontali.

Attivita' di apprendimento:

  • Frequenza lezioni
  • Partecipazione alle discussioni
  • Studio individuale
  • Lavoro di gruppo
  • Lavoro in laboratorio

Frequenza fortemente consigliata.

Metodi di insegnamento:

  • Lezioni frinatli
  • Apprendiamento basato su risoluzione problemi
  • Laboratorio
Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • participation in discussions
  • individual study
  • group work
  • laboratory work

Attendance: strongly advised

Teaching methods:

  • Lectures
  • Task-based learning/problem-based learning/inquiry-based learning
  • laboratory
Programma (contenuti dell'insegnamento)

Syllabus

  • Insiemi, relazioni, funzioni, grammatiche, automi
  • Logica proposizionale e del primo ordine
  • Induzione e relazioni di ricorrenza
  • Programmazione imperativa
  • Programmazione orientata agli oggetti
  • Strumenti di sviluppo
  • Python
  • C
Syllabus

Syllabus
– Sets, relations, functions, combinatorics, grammars, automata.
– Propositional and first order logic.
– Induction and recurrence relations.
– Imperative programming.
– Object oriented programming.
– Programming stack and development tools.
– Python programming.
– C programming.

 

Bibliografia e materiale didattico

Capitoli dei libri di testo e riferimenti a background teorici e manuali software (forniti tramite la pagina web del corso). Software scaricabile gratuitamente.

Bibliography

Book chapters with reminds on theoretical background and software manuals will be provided at the course web site. Software tools will be downloadable with an academic/free licence.

Indicazioni per non frequentanti

Nessuna regola specifica.

Non-attending students info

No specific rules for non-attending students.

Modalità d'esame

Prova pratica in laboratorio e prova orale.

Assessment methods

Lab practice and oral exam.

Updated: 31/07/2020 09:30