Vai al contenuto principale
Oggetto:
Oggetto:

Programming For Data Science

Oggetto:

Programming For Data Science

Oggetto:

Academic year 2023/2024

Course ID
NEU0264C
Teacher
Elena Grassi (Lecturer)
Year
1st year
Teaching period
First semester
Type
Distinctive
Credits/Recognition
5
Course disciplinary sector (SSD)
INF/01 - informatics
Delivery
Formal authority
Language
English
Attendance
Obligatory
Type of examination
Written and oral (optional)
Type of learning unit
modulo
Modular course
DataScience (NEU0264)
Prerequisites
Basic mathematical concepts (shared with Data Science as a whole, with a focus on integer division and positional numeral system with different bases).
Propedeutic for
The module "Bioinformatics" of Data Science.
Oggetto:

Sommario del corso

Oggetto:

Course objectives

The course aims to introduce the basic concepts of computer programming (with R), focused on imperative programming and working on datasets represented in a tabular format. A basic understanding of computer architecture and how file systems are structured will precede the study of fundamental programming concepts and easy algorithms. These fundamental skills will be leveraged as the starting point for the Statistics and Bioinformatics laboratories.

Il corso mira a introdurre i concetti basilari della programmazione imperativa (in particolare del linguaggio R, mirando a lavorare su dataset rappresentate in formato tabulare. Nozioni base di architettura degli elaboratori e struttura del file system saranno la base per lo studio dei principali costrutti di programmazione e di semplici algoritmi.  Gli argomenti affrontati costituiranno le basi dei laboratori di Bioinformatica e Statistica

 

 

Oggetto:

Results of learning outcomes

At the end of the course the students will be able to write simple R scripts to perform basic data wrangling, selecting the most appropriate data structures to easily visualize and interpret aspects of different datasets. They will also be able to approach higher level problems dividing them in simpler steps, that can be tackled with basic programming constructs.

Alla fine del corso gli studenti saranno in grado di scrivere semplici script R per l’analisi dei dati, scegliendo le migliori strutture dati per visualizzare ed interpretare facilmente diversi dataset. Saranno anche in grado di affrontare problemi di alto livello dividendoli in sotto-problemi più semplici.

Oggetto:

Program

  1. Basic computer architecture and data representation, file systems and file encoding.
  2. Imperative programming: variables, control flow (if/else/loops) and functions. Visualizing flowcharts and simple sorting algorithms
  3. Focus on R: vectors, lists and data frames. Vectorization and the apply functions instead of loops. Interaction with the file system. Object oriented programming in R and a guide of its ecosystem of libraries. Plotting with ggplot and notebooks.

  1. Breve introduzione all'architettura degli elaboratori e alla rappresentazione dei dati, file system e codifica dei dati.
  2. Programmazione imperativa: variabili, controllo di flusso (if/else/cicli) e funzioni. Visualizzare i diagrammi di flusso e semplici algoritmi di ordinamento
  3. Approfondimento su R: vettori, liste e data frame. Vettorizzazione e le funzioni apply al posto dei loop. Operazioni sul filesystem. Programmazione a oggetti in R e guida al suo ecosistema di librerie. Grafici con ggplot e utilizzo dei notebook
Oggetto:

Course delivery

Classroom lectures and practical sessions in computer room.

Lezioni frontali e sessioni pratiche in aula informatica.

Oggetto:

Learning assessment methods

Written test; optional oral test.

The written test will be organized in two sections (theory and programming/R), there will be one mandatory question, covering very basic arguments in R, that need to have a correct answer for the test to be passed. Questions will test the ability of the students to write short chunks of code by hand and reason on easy algorithms (i.e. filling in some missing parts of some code, fixing some errors).  Theory will be covered with open-ended questions requiring short answers. Each question will have a number of points assigned, the total score will be converted in the resulting grade (in /33). An example of the written test, alongside its solutions, will be circulated among students.

The oral will be useful if the mandatory question have errors but the other parts of the elaborate are good, to discuss errors and to change (+/-2 /30 as an average difference) the grade of the written test.

Esame scritto, orale opzionale.

Lo scritto è organizzato in due sezioni (teoria e programmazione in R) e includerà una domanda obbligatoria, su argomenti fondamentali per R, che dovrà essere corretta per superare l'esame. Le domande saggeranno la capacità degli studenti di scrivere piccole porzioni di codice su carta e ragionare su facili algoritmi (per esempio completando esempi di codice o correggendo errori). Per la teoria ci saranno domande aperte con risposte brevi. Ogni domanda avrà un punteggio, il totale verrà convertito in trentatreesimi (/33) per determinare il voto finale. Un esempio dello scritto, con annesse soluzioni, sarà reso disponibile agli studenti.

L'orale è utile per risolvere dubbi in caso la domanda obbligatoria abbia errori ma il resto dello scritto sia corretto, discutere gli errori e per eventualmente cambiare il voto finale (+- 2 /30 come differenziale indicativo).

Suggested readings and bibliography

Oggetto:

https://elearning.unito.it/medicina/course/view.php?id=15508

https://www.jaredlander.com/r-for-everyone/

https://github.com/swirldev/R_Programming_E

https://elearning.unito.it/medicina/course/view.php?id=15508

https://www.jaredlander.com/r-for-everyone/

https://github.com/swirldev/R_Programming_E

 



Enroll
  • Open
    Oggetto:
    Last update: 01/09/2023 13:38
    Non cliccare qui!