Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Insegnamento lab #122

Closed
1 task done
foxyseta opened this issue Oct 19, 2023 · 14 comments · Fixed by #174
Closed
1 task done

Insegnamento lab #122

foxyseta opened this issue Oct 19, 2023 · 14 comments · Fixed by #174
Assignees
Labels
question Further information is requested

Comments

@foxyseta
Copy link
Member

foxyseta commented Oct 19, 2023

Sunto della discussione in: cartabinaria/config#17.
I laboratori fra pari (cominciati anno scorso e proseguiti quest'anno) si tengono contemporaneamente persone che studiano in CdL anche distinti. Quindi https://github.com/csunibo/lab non può essere aggiunto a nessuno specifico CdL in courses.json di https://github.com/csunibo/config.

Si vorrebbe aggiungere un collegamento diretto dalla home di dynamik anziché un CdL farlocco con dentro l'insegnamento lab.

@VaiTon forse potremmo modificare la struttura di courses.json affinché includa anche corsi "sfusi" che compaiano nella home?

@foxyseta foxyseta added the question Further information is requested label Oct 19, 2023
@foxyseta foxyseta changed the title Laboratori fra pari Insegnamento lab Oct 19, 2023
@VaiTon
Copy link
Member

VaiTon commented Oct 19, 2023

Potremmo (metto le idee che mi vengono di getto)

  • modificare il file courses, ma renderlo un object invece di un array per poter aggungere proprietà
  • creare un cdl dummy, ma ho letto dal tuo commento che non ci piace
  • creare un altro file, ma questo dipende da quanto le cose che attualmente usano courses.json beneficerebbero dell'aggiunta di questi corsi. Ok per Dynamik, ma in generale devono essere mostrati in tutti i nostri servizi?

@foxyseta
Copy link
Member Author

La prima soluzione ci può stare.

La seconda va pure bene se poi contrassegniamo il CdL dummy come qualcosa i cui insegnamenti compaiono sfusi nella home.

Riguardo alla terza opzione: il bot sicuramente beneficerebbe del comando /lab (anche se al momento non fa ancora uso di config cartabinaria/informabot#111), siccome abbiamo anche un gruppo telegram per i lab (però non abbiamo "prof" fissi, una pagina o un pagina dell'insegnamento come quelle dei prof). Oltre a dynamik/fileseeker dove altro usiamo config? Da una breve ricerca mi pare da nessuna parte.

@VaiTon
Copy link
Member

VaiTon commented Oct 20, 2023

Potremmo allora avere vari file:

  • courses.json conterrebbe le specifiche dei Corsi di Laurea / LM, ovvero lista degli anni con relativi insegnamenti (con specifico id preso dal file seguente)
  • teachings.json sarebbe un semplice array di corsi

Altrimenti si mette in courses.json tutto quanto ma sotto entries diverse, quindi:

{
  "teachings": [ ... ],
  "courses":   [ ... ],
}

@foxyseta
Copy link
Member Author

Nel caso approfitterei del cambiamento di struttura per usare programs o degrees anziché courses siccome in molte magistrali estere i courses sono i singoli insegnamenti/esami. Delle due tanto vale fare file diversi se hanno strutture diverse. Però scorporare così significa che chi crea nuovi insegnamenti ora deve toccare due robe diverse. Se facessimo una proprietà opzionale "unstructured: true" per il CdL dummy che fa in modo che tutti i suoi insegnamenti compaiano nella home di dynamik come fossero CdL? Così la struttura del json è retrocompatibile e chi aggiunge insegnamenti deve comunque fare tutto come al solito.

@VaiTon
Copy link
Member

VaiTon commented Oct 20, 2023

Nel caso approfitterei del cambiamento di struttura per usare programs o degrees anziché courses siccome in molte magistrali estere i courses sono i singoli insegnamenti/esami.

Ok per me!

Se facessimo una proprietà opzionale "unstructured: true" per il CdL dummy che fa in modo che tutti i suoi insegnamenti compaiano nella home di dynamik come fossero CdL? Così la struttura del json è retrocompatibile e chi aggiunge insegnamenti deve comunque fare tutto come al solito.

Sinceramente non mi fa impazzire come idea a livello di modello. Preferirei la soluzione a due file. In alcuni casi potremmo importare e de-serializzare solamente uno dei due, come nel caso di fileseeker o upld.

Però scorporare così significa che chi crea nuovi insegnamenti ora deve toccare due robe diverse.

Alla fine aggiungere materie sarebbe aggiungere un valore in un array + aggiungere la vera e propria entry. Così potremmo anche riferirci alla stessa materia da più CdS, che non sarebbe male.

@foxyseta
Copy link
Member Author

Ah ok non conoscevo i bisogni specifici di fileseeker e upld quindi mi fido. Propongo degrees.json e teachings.json. Per evitare di intasare le dashboard dei CdL su dynamik, farei riferimento allo stesso insegnamento da più CdL solo quando questo compare esplicitamente su entrambi i piani didattici, e non quando almeno una persona de CdL A aggiunge al proprio personale piano di studio un insegnamento dal CdL B. "Metodi logici per la filosofia" fa eccezione perché non mi mettrei a fare un CdL di Filosofia solo per quello.

Mi raccomando ogni volta che facciamo modifiche aggiorniamo sempre tutta la documentazione. Per esempio, in questo caso penso siano interessate "Aggiungere un nuovo insegnamento", "Configurazioni" (e forse basta?). Lo dico perché in passato abbiamo avuto contribuenti confusi da documentazione non aggiornata e con collegamenti rotti.

@foxyseta
Copy link
Member Author

Potremmo anche approfittare per aggiungere a teachings.json i campi che servono al bot per costruire i suoi comandi: email dei prof, id su unibo.it e nome del comando (a meno che non vogliamo partire dal nome della repo e trasformarlo automaticamente in snake case da kebab case).

ali-benny added a commit to cartabinaria/config that referenced this issue Oct 24, 2023
To improve generic degrees as discussed in cartabinaria/dynamik#122 and #17, I've created 2 separate files:
`teachings.json`: organizes all the teachings by year, giving an id to each course;
`degrees.json`: organizes all the degrees, taking for each year the courses referenced in teachings by id.
@VaiTon
Copy link
Member

VaiTon commented Oct 24, 2023

email dei prof, id su unibo.it

(mi sembra che la prima sia ricavabile dalla seconda e viceversa, ma forse mi sbaglio)

@foxyseta
Copy link
Member Author

Beh dall'email del prof direi proprio che all'id del corso non ci arrivi, siccome i nostri nomi degli insegnamenti non sono sempre identici a quelli di unibo.it. Dall'id di unibo si può arrivare alla mail del prof ma devi fare richiesta di due pagine diverse (quella del corso, poi quella del prof) mentre al momento facciamo richiesta di 0.

@VaiTon
Copy link
Member

VaiTon commented Oct 25, 2023

Sorry, pensavo ti riferissi a id del prof su unibo.it (nome.cognome) e mail ([email protected]).

ali-benny added a commit to cartabinaria/config that referenced this issue Nov 7, 2023
* refactor: ♻️ teachings & degrees

To improve generic degrees as discussed in cartabinaria/dynamik#122 and #17, I've created 2 separate files:
`teachings.json`: organizes all the teachings by year, giving an id to each course;
`degrees.json`: organizes all the degrees, taking for each year the courses referenced in teachings by id.

* refact: based on TLDR2

* fix syntax

* chore: lab

* chore: remove courses.json

* chore: using degree only for some teaching

* lab amm sistemi come opzionale per informatica

* Add some AI teachings

* Fix AI degree

* Format teachings.json

* chore: prettify

---------

Co-authored-by: VaiTon <[email protected]>
Co-authored-by: Stefano Volpe <[email protected]>
@github-project-automation github-project-automation bot moved this to New in Backend Nov 7, 2023
@ali-benny ali-benny moved this to Todo in Frontend Nov 13, 2023
@foxyseta
Copy link
Member Author

foxyseta commented Nov 18, 2023

Ora che cartabinaria/config#17 è stata accettata, si può usare il nuovo formato in Dynamik direi :)

In questo modo lab e le altre funzionalità QoL vengono messe in atto.

@foxyseta
Copy link
Member Author

A breve avrò bisogno di aggiungere gli altri insegnamenti di AI (cartabinaria/config#8) a csunibo/config. Per evitare di fare inutilmente il lavoro due volte (nel vecchio e nel nuovo formato), Dynamik andrebbe convertito al nuovo formato a breve.

Forse avrò tempo di farlo io, ma non do garanzie. Nel caso mi autoassegnerò la issue. Se ci sono altre persone volontarie ovviamente fa solo piacere.

@ali-benny
Copy link
Member

A breve avrò bisogno di aggiungere gli altri insegnamenti di AI (cartabinaria/config#8) a csunibo/config. Per evitare di fare inutilmente il lavoro due volte (nel vecchio e nel nuovo formato), Dynamik andrebbe

Martedì provo a darci un occhiata

@foxyseta foxyseta assigned foxyseta and unassigned kocierik and ali-benny Nov 26, 2023
@foxyseta foxyseta moved this from New to In Progress in Backend Nov 26, 2023
@foxyseta foxyseta moved this from Todo to In Progress in Frontend Nov 26, 2023
@foxyseta
Copy link
Member Author

Ho concordato con @ali-benny di tentare di prendere in carico io la cosa siccome lei ha la sessione a breve. L'ideale, come le ho spiegato è avere il tutto pronto in tempo per aggiungere le repo di AI prima della sessione invernale. Se non ci si riesce pazienza

@foxyseta foxyseta linked a pull request Nov 27, 2023 that will close this issue
@github-project-automation github-project-automation bot moved this from In Progress to Done in Backend Nov 27, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in Frontend Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Archived in project
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants