An open API service indexing awesome lists of open source software.

https://github.com/davidleoni/ssds-2023


https://github.com/davidleoni/ssds-2023

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# SSDS 2023 - Data Science Summer School - informatics module

## Modulo 1


A.1 Strumenti e basi


- Lezione:  Strumenti e script
- Per casa: provare a fare  Basi 1: variabili e interiA.2 Strumenti e basi
- Basi2 booleani: Slide | SoftPython
- Basi3 float:        Slide | SoftPython

A.3 Stringhe 

- Stringhe1 intro: Slide | SoftPython
- Stringhe2 operatori: Slide | SoftPython
- Stringhe3 metodi di base: Slide | SoftPython
- Stringhe4 metodi di ricerca: Slide | SoftPython


A.4 Liste
- Liste1 intro: Slide | SoftPython
- Liste2 operatori: Slide | SoftPython
- Liste3 metodi di base: Slide | SoftPython
- Liste4 metodi di ricerca: Slide | SoftPython


A.5 - Tuple, Insiemi, Dizionari


- Tuple 1: Slide | SoftPython
- Insiemi 1: Slide | SoftPython
- Dizionari 1 intro: Slide | SoftPython
- Dizionari 2 operatori: Slide | SoftPython
- Dizionari 3 metodi: Slide | SoftPython
- Dizionari 4 dizionari speciali (menzione): Slide | SoftPython


A.6 - Controllo di flusso


- if 1: Slide | SoftPython
- cicli for 1: Slide | SoftPython
- cicli for 2,3,4,5,6,7 : Slide 
- Esercizi SoftPython:  for 2 stringhe    for 3 liste   for 4 tuple   for 5 insiemi   for 6 dizionari  



## Modulo 2

- Funzioni 1 intro:  slide   |   SoftPython

- funzioni 2 gestione errori e testing: Slide | SoftPython  

- esercizi funzioni:   Funzioni 3 stringhe    Funzioni 4 liste    Funzioni 5 tuple    Funzioni 6 insiemi   Funzioni 7 dizionari

Recupero da modulo 1:


- while 1 intro:  Slide | SoftPython



-Recupero Sequenze da Modulo 1 :    Slide  |    SoftPython


- Recupero For annidati da Modulo 1 : Slide  |   Esercizi SoftPython: for 7 for annidati  

Matrici liste di liste:


-1 intro:  Slide  |  SoftPython  : recap


- 2 altri esercizi : Slide  |   SoftPython   vediamo qualche esercizio 


- Strutture composte : Slide  |   SoftPython   


Formati File:


- 1 file a linee:  Slide |  SoftPython


- 2 file CSV:  Slide |  SoftPython   


- 3 file JSON e XML:  Slide |  SoftPython


Numpy:


- 1 intro:  Slide | SoftPython   (per Nan e infinità bastano le slide, il paragrafo su SoftPython è fin troppo dettagliato )



- 2 esercizi:  SoftPython


Visualizzazione: 


- 1 intro:  Slide | SoftPython



Pandas:


- 1 intro:  Slide |SoftPython   
- 2 esercizi:   Slide |SoftPython  (9 agosto) ho spostato gli esercizi rilevanti per l'esame nel foglio 1


Progetti svolti:
Progetti su SoftPython in italiano (pochi)
Progetti su SoftPython in inglese (tanti): OPZIONALE a chi interessa può guardare i progetti nelle sezioni Text data e Tabular data (per chi vuole ci sono anche altri progetti sulle reti di relazioni ma per fare quelli prima dovreste leggervi il tutorial Relational data)





## How to build

Slides built from jupyter notebooks for Python courses, with some quick and dirty integration between:

- [Jupman](https://github.com/DavidLeoni/jupman): jupyter notebook manager (modded 3.5.7 version), allows to strip solutions from notebooks marked with special tags

- [Interactive Coding Playgrounds (ICP)](https://github.com/lucademenego99/icp-bundle) to allow students to run Python code in slides

- [Python Tutor](https://pythontutor.com/) (using the offline version integrated in jupman) for visualizing code runs

The process is the following:

1. Set up environment according to jupman [Local build with Sphinx setup instructions](https://jupman.softpython.org/en/latest/manual/quickstart.html#Local-build-with-Sphinx)
2. author a jupyter notebook ending in `-sol.ipynb` by using mostly markdown text, sometimes html (for i.e. tables)
- mark code you don't want students to see with special jupman tags
- run Python code in Jupyter to produce HTML widgets for ICP and Python tutor, so the result is immediately visible while authoring
3. run [make_slides.py](make_slides.py) like `make_slides.py lists/lists1` which:
1. calls jupman to take original `lists1-sol.ipynb` and generate a new `lists1.ipynb` file with stripped solutions
2. calls `nbconvert` to export to a reveal.js html presentation file (a native functionality of Jupyter)
3. crudely processes html generated from nbconvert to inject various scripts and css

## Known issues

- currently [my ICP adaptation is buggy](https://github.com/DavidLeoni/ssds-2023/issues/3)
- organizing cells in multicolumn layout still has to be done in html which may be cumbersome, in pandas notebooks there is [some example workaround](https://github.com/DavidLeoni/jupman/issues/148)