1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-22 16:04:21 +00:00

Uniforma tutte le pagine dei corsi del semestre

This commit is contained in:
Steffo 2020-06-09 17:13:22 +02:00
parent 392a77740a
commit a35f9dc0f4
Signed by: steffo
GPG key ID: 896A80F55F7C97F0
7 changed files with 311 additions and 222 deletions

View file

@ -1,6 +1,4 @@
// Import debugging tools
import AlgoritmiEStruttureDati from "./routes/AlgoritmiEStruttureDati";
let Sentry = null;
if(process.env.NODE_ENV === "development") {
console.debug("Initializing Preact Debugger...")
@ -46,6 +44,8 @@ import BasiDiDati from './routes/BasiDiDati';
import CalcoloNumerico from './routes/CalcoloNumerico';
import ApprendimentoSistemiArtificiali from "./routes/ApprendimentoSistemiArtificiali";
import LatexRenderColor from "./contexts/LatexRenderColor";
import NetLogo from "./routes/NetLogo";
import AlgoritmiEStruttureDati from "./routes/AlgoritmiEStruttureDati";
// noinspection JSUnusedGlobalSymbols
export default function(props) {
@ -62,7 +62,8 @@ export default function(props) {
<OttimizzazioneLineare path="/ottimizzazionelineare"/>
<BasiDiDati path="/basididati"/>
<CalcoloNumerico path="/calcolonumerico"/>
<ApprendimentoSistemiArtificiali path="/apprendimentosistemiartificiali"/>
<ApprendimentoSistemiArtificiali path="/apprendimento"/>
<NetLogo path="/apprendimento/netlogo"/>
<AlgoritmiEStruttureDati path="/algoritmiestrutturedati"/>
</Router>
<Footer/>

View file

@ -3,17 +3,44 @@ import Section from "../components/Elements/Section";
import Panel from "../components/Elements/Panel";
import Example from "../components/Elements/Example";
import Code from "../components/Rendering/Code";
import Timer from "../components/Elements/Timer";
const r = String.raw;
export default function(props) {
return (
<div>
<h1>Apprendimento ed evoluzione in sistemi artificiali</h1>
<Section title={"Informazioni"}>
<Panel title={"Contatti"}>
<ul>
<li><a href={"mailto:marco.villani@unimore.it"}>Prof. Marco Villani</a></li>
</ul>
</Panel>
<Panel title={"Archivio"}>
<p>
Se sei uno <b>studente dell'Unimore</b>, puoi accedere all'<b><a href={"https://drive.google.com/drive/folders/1GcjP1Z5UtRjyAag7qjFQ-kx3s06G8ZoP"}>archivio del corso su Google Drive</a>.</b>.
</p>
</Panel>
</Section>
<Section title={"Esame"}>
<Panel title={"Scritto"}>
<ul>
<li>Scegli 2 tra 6 domande possibili</li>
<li>90 minuti</li>
</ul>
</Panel>
<Panel title={"Appelli"}>
<ol>
<li><Timer to={"2020-06-23"}/></li>
<li><Timer to={"2020-07-08"}/></li>
<li><Timer to={"2020-07-22"}/></li>
</ol>
</Panel>
</Section>
<Section title={"NetLogo"}>
<Panel title={"Cos'è?"}>
<p>
NetLogo è un software di modellazione sistemi multiagente.
NetLogo è un software di modellazione sistemi multiagente, da noi usat
</p>
<p>
Si può <a href={"https://ccl.northwestern.edu/netlogo/download.shtml"}>scaricare</a> o <a href={"https://www.netlogoweb.org/launch"}>usare da browser</a>.
@ -21,194 +48,10 @@ export default function(props) {
<p>
Il suo codice sorgente è disponibile su <a href={"https://github.com/NetLogo/NetLogo"}>GitHub</a>, e ha una pagina di <a href={"https://ccl.northwestern.edu/netlogo/docs/dictionary.html"}>documentazione</a>.
</p>
</Panel>
</Section>
<Section title={"Agenti di NetLogo"}>
<Panel title={"Observer"}>
<p>
L'<b>utente</b> di NetLogo, che vive nel contesto globale e dà ordini agli altri agenti.
<b style={"font-size: x-large;"}><a href={"/apprendimento/netlogo"}>Consulta i miei appunti su NetLogo qui!</a></b>
</p>
</Panel>
<Panel title={"Turtle"}>
<p>
Entità che possono <b>muoversi</b> per il mondo.
</p>
<Example>
Sono più o meno come le <a href={"https://www.computercraft.info/wiki/Turtle"}>Turtle di Computercraft</a>!
</Example>
<p>
Possono essere di una <i>breed</i> (razza) specifica, definite con:
</p>
<Code language={"lisp"}>{r`breed [<plurale> <singolare>]`}</Code>
<Example>
Le breed sono praticamente sottoclassi di turtle.
</Example>
</Panel>
<Panel title={"Patch"}>
<p>
I <b>quadratini</b> del mondo. Possono essere di vari colori e avere varie proprietà.
</p>
<Example>
...possiamo dire che questi siano i blocchi di Minecraft?
</Example>
</Panel>
<Panel title={"Link"}>
<p>
<b>Collegamenti</b> tra due turtle.
</p>
</Panel>
</Section>
<Section title={"Creazione di agenti"}>
<Panel title={"Observer"}>
<p>
L'observer viene creato automaticamente all'apertura della simulazione.
</p>
</Panel>
<Panel title={"Turtle"}>
<p>
Nuove turtle possono essere create con il comando:
</p>
<Code language={"lisp"}>{r`<prefisso>-<breed> <quantità>`}</Code>
<p>
Dove prefisso varia in base al contesto attuale:
</p>
<table>
<thead>
<tr>
<th>Contesto</th>
<th>Prefisso</th>
</tr>
</thead>
<tbody>
<tr>
<td>Observer</td>
<td><code language={"lisp"}>{r`create`}</code></td>
</tr>
<tr>
<td>Turtle</td>
<td><code language={"lisp"}>{r`hatch`}</code></td>
</tr>
<tr>
<td>Patch</td>
<td><code language={"lisp"}>{r`sprout`}</code></td>
</tr>
</tbody>
</table>
</Panel>
</Section>
<Section title={"Variabili"}>
<Panel title={"Observer"}>
<p>
All'inizio del codice:
</p>
<Code language={"lisp"}>{`globals [var1 var2 var3]`}</Code>
<Example>
Sono a tutti gli effetti variabili globali.
</Example>
</Panel>
<Panel title={"Turtle"}>
<p>
Aggiungi proprietà a tutte le turtle:
</p>
<Code language={"lisp"}>{`turtles-own [var1 var2 var3]`}</Code>
<p>
Aggiungi proprietà alle turtle di un breed:
</p>
<Code language={"lisp"}>{`<breed>-own [var1 var2 var3]`}</Code>
</Panel>
<Panel title={"Patch"}>
<p>
Aggiungi proprietà alle patch:
</p>
<Code language={"lisp"}>{r`patches-own [var1 var2 var3]`}</Code>
</Panel>
<Panel title={"Link"}>
<p>
Aggiungi proprietà ai link:
</p>
<Code language={"lisp"}>{r`links-own [var1 var2 var3]`}</Code>
</Panel>
</Section>
<Section>
<Panel title={"Locali"}>
<p>
Si possono creare con:
</p>
<Code language={"lisp"}>{r`let <nome> <valore>`}</Code>
</Panel>
<Panel title={"Set"}>
<p>
Si può impostare il valore di una variabile con:
</p>
<Code language={"lisp"}>{r`set <nome> <valore>`}</Code>
</Panel>
</Section>
<Section title={"Blocchi di codice"}>
<Panel title={"Cambi di contesto"}>
<p>
Per cambiare contesto:
</p>
<Code language={"lisp"}>{r`
ask <bersaglio> [
<blocco di codice>
]
`}</Code>
<p>
Nel caso ci siano più bersagli, verranno eseguiti uno
</p>
</Panel>
<Panel title={"Commands"}>
<p>
Funzioni che non restituiscono nulla:
</p>
<Code language={"lisp"}>{r`
to <nome>
<blocco di codice>
end
`}</Code>
<p>
Con argomenti:
</p>
<Code language={"lisp"}>{r`
to <nome> [var1 var2 var3]
<blocco di codice>
end
`}</Code>
</Panel>
<Panel title={"Reporter"}>
<p>
Funzioni che restituiscono un valore:
</p>
<Code language={"lisp"}>{r`
to-report <nome> [var1 var2 var3]
<blocco di codice>
report <restituito>
end
`}</Code>
</Panel>
</Section>
<Section title={"Comandi per turtle"}>
<Panel title={"Avanti"}>
<p>
Muoviti di 10 unità:
</p>
<Code language={"lisp"}>{r`
forward 10
back 10
`}</Code>
<p>
Nota che la velocità massima delle tartarughe è di 1 unità/tick, quindi muoversi di 10 unità richiederà 10 tick.
</p>
</Panel>
<Panel title={"Ruota"}>
<p>
Ruota di 10 gradi:
</p>
<Code language={"lisp"}>{r`
left 10
right 10
`}</Code>
</Panel>
</Section>
</div>
)

View file

@ -10,6 +10,18 @@ export default class BasiDiDati extends Component {
return (
<div>
<h1>Basi di dati</h1>
<Section title={"Informazioni"}>
<Panel title={"Contatti"}>
<ul>
<li><a href={"mailto:riccardo.martoglia@unimo.it"}>Prof. Riccardo Martoglia</a></li>
</ul>
</Panel>
<Panel title={"Archivio"}>
<p>
Se sei uno <b>studente dell'Unimore</b>, puoi accedere all'<b><a href={"https://drive.google.com/drive/folders/1q3bOf9czDXq7Bd5-kwdICuz-9Nx1zVp_"}>archivio del corso su Google Drive</a></b>.
</p>
</Panel>
</Section>
<Section title={"Esame"}>
<Panel title={"Scritto"}>
<p>
@ -27,35 +39,30 @@ export default class BasiDiDati extends Component {
</li>
</ul>
</Panel>
<Panel title={"Prossimi appelli"}>
<Panel title={"Appelli"}>
<ol>
<li><Timer to={"2020-06-24"}/></li>
<li><Timer to={"2020-07-09"}/></li>
<li><Timer to={"2020-07-28"}/></li>
</ol>
</Panel>
</Section>
<Section>
<Panel title={"Progetto"}>
<p>
In gruppo, progettare un database secondo <a href={"https://t.me/unimorefiles/23"}>queste</a> specifiche.
</p>
<p>
Va consegnato almeno 10 giorni prima dell'esame.
</p>
<p>
Consegnando il progetto prima della fine di Luglio si otterrà un bonus!
</p>
<Timer to={"2020-07-31 23:59:59"}/>
<p>
Esempi di progetti degli anni passati:
</p>
<ul>
<li><a href={"https://t.me/unimorefiles/25"}>Esempio 1</a></li>
<li><a href={"https://t.me/unimorefiles/26"}>Esempio 2</a></li>
</ul>
<p>
Presentando il progetto si otterrà un bonus!
Va consegnato via mail almeno 10 giorni prima dello scritto.
</p>
</Panel>
<Panel title={"Termini di consegna"}>
<ol>
<li><Timer to={"2020-06-14"}/></li>
<li><Timer to={"2020-06-30"}/></li>
<li><Timer to={"2020-07-18"}/></li>
</ol>
</Panel>
</Section>
</div>
)

View file

@ -14,22 +14,29 @@ export default function (props) {
<LatexDefaultInline.Provider value={true}>
<div>
<h1>Calcolo Numerico</h1>
<Section title={"Unimore"}>
<Panel title={"Email della prof.ssa"}>
<Section title={"Informazioni"}>
<Panel title={"Contatti"}>
<ul>
<li><a href={"mailto:silvia.bonettini@unimore.it"}>Prof.ssa Silvia Bonettini</a></li>
</ul>
</Panel>
<Panel title={"Archivio"}>
<p>
<a href={"mailto:silvia.bonettini@unimore.it"}>silvia.bonettini@unimore.it</a>
Se sei uno <b>studente dell'Unimore</b>, puoi accedere all'<b><a href={"https://drive.google.com/drive/folders/1gqY-QIe4UeOSHpcho0R-Nvh2IRAlTFmf"}>archivio del corso su Google Drive</a>.</b>.
</p>
</Panel>
</Section>
<Section title={"Esame"}>
<Panel title={"Orale"}>
<p>
E' composto da:
</p>
<ul>
<li>2 domande sugli argomenti teorici</li>
<li>1 domanda di implementazione algoritmo in MATLAB <small>(facoltativa per i punteggi migliori del TBL)</small></li>
<li>1 domanda di implementazione algoritmo in MATLAB</li>
</ul>
</Panel>
<Panel title={"Prossimi appelli"}>
<Panel title={"Appelli"}>
<ol>
<li><Timer to={"2020-06-15"}/></li>
<li><Timer to={"2020-06-22"}/></li>

View file

@ -11,7 +11,7 @@ export default function(props) {
<div>
<h1>Indice</h1>
<Section title="Argomenti in corso">
<Panel title={<a href="/apprendimentosistemiartificiali">Apprendimento ed evoluzione in sistemi artificiali</a>}>
<Panel title={<a href="/apprendimento">Apprendimento ed evoluzione in sistemi artificiali</a>}>
<p>
Appunti scritti mentre studiavo per l'esame di Apprendimento ed evoluzione in sistemi artificiali del <a href="https://www.unimore.it/didattica/mlaurea.html?ID=54">corso triennale di Informatica</a> all'<a href="https://www.unimore.it/">Unimore</a>.
</p>
@ -73,6 +73,11 @@ export default function(props) {
</Panel>
</Section>
<Section title="Collegamenti utili">
<Panel title={<a href="https://github.com/topics/unimore-informatica"><FontAwesomeIcon icon={faGithub}/> unimore-informatica</a>}>
<p>
Un topic di GitHub che raccoglie tutti i repository realizzati dagli studenti di Informatica dell'Unimore.
</p>
</Panel>
<Panel title={<a href="https://t.me/unimoreinfo"><FontAwesomeIcon icon={faTelegram}/> Unimore Informatica</a>}>
<p>
Il gruppo <a href="https://telegram.org/">Telegram</a> del corso di Informatica dell'Unimore!
@ -83,6 +88,8 @@ export default function(props) {
Calendario Google <small>quasi</small> sempre aggiornato delle lezioni e degli esami del secondo anno dell'<a href="https://www.unimore.it/">Unimore</a> durante l'Anno Accademico 2019/2020.
</p>
</Panel>
</Section>
<Section>
<Panel title={<a href="http://erre2.fermitech.info/dashboard"><FontAwesomeIcon icon={faExternalLinkAlt}/> Erre2</a>}>
<p>
Portale contenente appunti e riassunti mantenuto da <a href="https://github.com/LBindustries">Lorenzo Balugani</a>.

204
src/routes/NetLogo.js Normal file
View file

@ -0,0 +1,204 @@
import Section from "../components/Elements/Section";
import Panel from "../components/Elements/Panel";
import Example from "../components/Elements/Example";
import Code from "../components/Rendering/Code";
const r = String.raw;
export default function(props) {
return (
<div>
<h1>
<a href={"/apprendimento"}>Apprendimento</a>: NetLogo
</h1>
<Section title={"Agenti di NetLogo"}>
<Panel title={"Observer"}>
<p>
L'<b>utente</b> di NetLogo, che vive nel contesto globale e dà ordini agli altri agenti.
</p>
</Panel>
<Panel title={"Turtle"}>
<p>
Entità che possono <b>muoversi</b> per il mondo.
</p>
<Example>
Sono più o meno come le <a href={"https://www.computercraft.info/wiki/Turtle"}>Turtle di Computercraft</a>!
</Example>
<p>
Possono essere di una <i>breed</i> (razza) specifica, definite con:
</p>
<Code language={"lisp"}>{r`breed [<plurale> <singolare>]`}</Code>
<Example>
Le breed sono praticamente sottoclassi di turtle.
</Example>
</Panel>
<Panel title={"Patch"}>
<p>
I <b>quadratini</b> del mondo. Possono essere di vari colori e avere varie proprietà.
</p>
<Example>
...possiamo dire che questi siano i blocchi di Minecraft?
</Example>
</Panel>
<Panel title={"Link"}>
<p>
<b>Collegamenti</b> tra due turtle.
</p>
</Panel>
</Section>
<Section title={"Creazione di agenti"}>
<Panel title={"Observer"}>
<p>
L'observer viene creato automaticamente all'apertura della simulazione.
</p>
</Panel>
<Panel title={"Turtle"}>
<p>
Nuove turtle possono essere create con il comando:
</p>
<Code language={"lisp"}>{r`<prefisso>-<breed> <quantità>`}</Code>
<p>
Dove prefisso varia in base al contesto attuale:
</p>
<table>
<thead>
<tr>
<th>Contesto</th>
<th>Prefisso</th>
</tr>
</thead>
<tbody>
<tr>
<td>Observer</td>
<td><Code language={"lisp"}>{r`create`}</Code></td>
</tr>
<tr>
<td>Turtle</td>
<td><Code language={"lisp"}>{r`hatch`}</Code></td>
</tr>
<tr>
<td>Patch</td>
<td><Code language={"lisp"}>{r`sprout`}</Code></td>
</tr>
</tbody>
</table>
</Panel>
</Section>
<Section title={"Variabili"}>
<Panel title={"Observer"}>
<p>
All'inizio del codice:
</p>
<Code language={"lisp"}>{`globals [var1 var2 var3]`}</Code>
<Example>
Sono a tutti gli effetti variabili globali.
</Example>
</Panel>
<Panel title={"Turtle"}>
<p>
Aggiungi proprietà a tutte le turtle:
</p>
<Code language={"lisp"}>{`turtles-own [var1 var2 var3]`}</Code>
<p>
Aggiungi proprietà alle turtle di un breed:
</p>
<Code language={"lisp"}>{`<breed>-own [var1 var2 var3]`}</Code>
</Panel>
<Panel title={"Patch"}>
<p>
Aggiungi proprietà alle patch:
</p>
<Code language={"lisp"}>{r`patches-own [var1 var2 var3]`}</Code>
</Panel>
<Panel title={"Link"}>
<p>
Aggiungi proprietà ai link:
</p>
<Code language={"lisp"}>{r`links-own [var1 var2 var3]`}</Code>
</Panel>
</Section>
<Section>
<Panel title={"Locali"}>
<p>
Si possono creare con:
</p>
<Code language={"lisp"}>{r`let <nome> <valore>`}</Code>
</Panel>
<Panel title={"Set"}>
<p>
Si può impostare il valore di una variabile con:
</p>
<Code language={"lisp"}>{r`set <nome> <valore>`}</Code>
</Panel>
</Section>
<Section title={"Blocchi di codice"}>
<Panel title={"Cambi di contesto"}>
<p>
Per cambiare contesto:
</p>
<Code language={"lisp"}>{r`
ask <bersaglio> [
<blocco di codice>
]
`}</Code>
<p>
Nel caso ci siano più bersagli, verranno eseguiti uno
</p>
</Panel>
<Panel title={"Commands"}>
<p>
Funzioni che non restituiscono nulla:
</p>
<Code language={"lisp"}>{r`
to <nome>
<blocco di codice>
end
`}</Code>
<p>
Con argomenti:
</p>
<Code language={"lisp"}>{r`
to <nome> [var1 var2 var3]
<blocco di codice>
end
`}</Code>
</Panel>
<Panel title={"Reporter"}>
<p>
Funzioni che restituiscono un valore:
</p>
<Code language={"lisp"}>{r`
to-report <nome> [var1 var2 var3]
<blocco di codice>
report <restituito>
end
`}</Code>
</Panel>
</Section>
<Section title={"Comandi per turtle"}>
<Panel title={"Avanti"}>
<p>
Muoviti di 10 unità:
</p>
<Code language={"lisp"}>{r`
forward 10
back 10
`}</Code>
<p>
Nota che la velocità massima delle tartarughe è di 1 unità/tick, quindi muoversi di 10 unità richiederà 10 tick.
</p>
</Panel>
<Panel title={"Ruota"}>
<p>
Ruota di 10 gradi:
</p>
<Code language={"lisp"}>{r`
left 10
right 10
`}</Code>
</Panel>
</Section>
</div>
)
}

View file

@ -19,20 +19,40 @@ export default function(props) {
return (
<div>
<h1>Ottimizzazione lineare intera</h1>
<Section title={"Unimore"}>
<Panel title={"Videolezioni su YouTube"}>
<Section title={"Informazioni"}>
<Panel title={"Contatti"}>
<ul>
<li><a href={"mailto:stefano.novellani@unimore.it"}>Prof. Stefano Novellani</a></li>
</ul>
</Panel>
<Panel title={"Archivio"}>
<p>
Ho rimosso il rumore in sottofondo da tutti i video di Ricerca Operativa!
</p>
<p>
<b><a href={"https://www.youtube.com/playlist?list=PLh93e8qjTszffkHNn-19CqUOhHFbhBlBh"}>Guardate i video qui!</a></b>
Se sei uno <b>studente dell'Unimore</b>, puoi accedere all'<b><a href={"https://drive.google.com/drive/folders/13q-E6LvXca9uo3sATMZxrhJClqMB0wJu"}>archivio del corso su Google Drive</a></b>.
</p>
</Panel>
<Panel title={"Prossimi appelli"}>
</Section>
<Section title={"Esame"}>
<Panel title={"Scritto"}>
<p>
Uno scritto con tre domande:
</p>
<ul>
<li>Progettazione concettuale e logica</li>
<li>Formulazione interrogazione</li>
<li>Una domanda tra:
<ul>
<li>Studio dato derivato</li>
<li>Progettazione fisica</li>
<li>Tecnologia database</li>
</ul>
</li>
</ul>
</Panel>
<Panel title={"Appelli"}>
<ol>
<li><Timer to={"2020-06-08"}/></li>
<li><Timer to={"2020-06-25"}/></li>
<li><Timer to={"2020-07-14"}/></li>
<li><Timer to={"2020-06-24"}/></li>
<li><Timer to={"2020-07-09"}/></li>
<li><Timer to={"2020-07-28"}/></li>
</ol>
</Panel>
</Section>