https://github.com/davidleoni/ssds-2023
https://github.com/davidleoni/ssds-2023
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/davidleoni/ssds-2023
- Owner: DavidLeoni
- Created: 2023-07-12T16:23:41.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-03T07:29:07.000Z (almost 2 years ago)
- Last Synced: 2025-02-05T20:59:34.530Z (4 months ago)
- Language: HTML
- Size: 17 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
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 | SoftPythonA.4 Liste
- Liste1 intro: Slide | SoftPython
- Liste2 operatori: Slide | SoftPython
- Liste3 metodi di base: Slide | SoftPython
- Liste4 metodi di ricerca: Slide | SoftPythonA.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 | SoftPythonA.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 1Progetti 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)