Studiewijzer 2022/2023
Globale inhoud
Alle informatie over dit vak vind je op Canvas
Heel veel wetenschappelijk en ook practische problemen zijn te bekijken en te analyseren met de theorie van netwerken. Voorbeelden van netwerken zijn het internet, het GPS netwerk, FaceBook, Twitter, samenwerk-netwerken, netwerken tussen woorden, infectie netwerken, etc.
We bekijken de formele theorie achter netwerken en grafen; we bekijken hoe we belangrijke (centrale) spelers in een netwerk kunnen detecteren, hoe we clusters van spelers kunnen maken, hoe informatie zich door een netwerk verspreid, hoe het toch komt dat rijkdom en aandacht vaak zo oneerlijk verdeeld zijn, en nog veel meer.
Theoretische stof wordt steeds voorzien van concrete voorbeelden. Je toetst of je de stof beheerst door het maken van opdrachten. Met het Python netwerk analyse pakket NetWorkX gaan we bestaande grote netwerken analyseren en visualiseren. De theoretische stof kunnen we zo direct toepassen op bestaande en zelf vergaarde data.
Het vak is geschikt voor informatiekundigen, als minor- of keuzevak voor studenten AI, Informatica, media en cultuur, communicatiewetenschappers en studenten uit de sociale wetenschap.
Leerdoelen
Network Science
- Wat zijn netwerken? Verschillende soorten: gericht/ongericht, gewogen/ongewogen, multiple layers, met eigenschappen op knopen
- Basisbegrippen: volledig, verbonden, componenten, afstand, dichtheid,..
- Centraliteitsmaten: degree, betweenness , closenness, eccentricity, pagerank, ...
- Eigenschappen echte netwerken: triangular closure, clustering, small world, machtsverdeelde grootheden
- (Bijna) alles zelf implementeren vanuit basis (in FO logica en in Python)
- Theorie: strong-weak tie netwerken, friend-foe netwerken, diffusie van innovatie/besmetting in netwerken
- Praktijk:
- zelf netwerken opbouwen uit data te vinden op het web (eg co-starring netwerken in NL films, NL talkshows op TV, rapsongs)
- leren werken met real life netwerken in networkx (via Python tutorials and datasets bij het boek).
Verzamelingen, logica, datastructuren en algorithmes
- naieve verzamelingenleer
- verzamelingen, cardinaliteit, gelijkheid, deelverzameling, notatie
- de operaties op verzamelingen
- nieuwe verzamelingen maken: comprehensies, product, machtsverzameling
- Machtsverzameling stelling
- Verzamelingen in Python, syntax, set comprehensies, frozensets, operaties zelf programmeren
- Geldigheid van redenering
- modellen, tegenvoorbeelden
- Propositielogica
- syntax
- waarheidstabellen
- SAT algorithme met waarheidstabel, idem voor logisch gevolg
- intuitie achter NP volledigheid
- verband met verzmelingen
- Eerste orde logica
- 1 en 2 plaatsige relaties, interpretatie op netwerk modellen
- syntax, intuitieve semantiek
- Waarheid op een model, tegenvoorbeeld, geldigheid van redeneringen
- Vertalen van zinnen in Nederlands naar FO zinnen, en naar equivalente Python code
- FO zinnen programmeren als equivalente verzamelingen elementen
- bijv "Elke man houdt van een vrouw" is equivalent aan
- ∀𝑥(𝑀𝑥→∃𝑦(𝑅𝑥𝑦∧𝑉𝑦))∀x(Mx→∃y(Rxy∧Vy)) is equivalent aan
- not {x for x in G if M(x) and not {y for y in G if R(x,y) and V(y)} }
- Allerlei netwerk begrippen vertalen naar FO logica.
- Datasctructuren
- Bomen
- lijsten, sets, dics, en heel veel oefenen met (complexe) comprehensies
- stack, en heap
- Algorithmes
- wanneer is iets een algorithme? Wanneer is het correct? Wat zijn de kosten?
- max zonder sorteren
- mean met miniem geheugen gebruik
- sorteren
- breadth first search
- SAT, uitputtend alle mogelijkheden afgaan.
Studiemateriaal
Literatuur
- David Easley and Jon Kleinberg, 'Networks, Crowds, and Markets: Reasoning About a Highly Connected World', gratis te verkrijgen via http://www.cs.cornell.edu/home/kleinber/networks-book/
Menczer, F., Fortunato, S., & Davis, C. (2020). A First Course in Network Science. Cambridge: Cambridge University Press. doi:10.1017/9781108653947
Syllabus
Software
- IPython Notebooks, bij voorkeur de Anaconda distributie
Leerdoelen
- De student kan de centrale wiskundige theorie over netwerken en gerichte en ongerichte grafen te beschrijven uitleggen.
- De student kan de centrale theorie over sociale netwerken toepassen.
- De student kan praktische problemen uit de echte wereld modelleren als netwerk probleem.
- De student kan netwerk gegevens extraheren uit verzamelde data.
- De student kan geavanceerde netwerk analyse software gebruiken om problemen op te lossen met behulp van de theorie en techniek van (sociale) netwerken.
- De student kan eigen werk en dat van anderen testen op correctheid, voorzien van een heldere geschreven beoordeling, en kan ingeleverd werk van zichzelf en anderen ordenen op kwaliteit.
- Leerdoelen
Network Science
Wat zijn netwerken? Verschillende soorten: gericht/ongericht, gewogen/ongewogen, multiple layers, met eigenschappen op knopen
Basisbegrippen: volledig, verbonden, componenten, afstand, dichtheid,..
Centraliteitsmaten: degree, betweenness , closenness, eccentricity, pagerank, ...
Eigenschappen echte netwerken: triangular closure, clustering, small world, machtsverdeelde grootheden
(Bijna) alles zelf implementeren vanuit basis (in FO logica en in Python)
Theorie: strong-weak tie netwerken, friend-foe netwerken, diffusie van innovatie/besmetting in netwerken
Praktijk:
zelf netwerken opbouwen uit data te vinden op het web (eg co-starring netwerken in NL films, NL talkshows op TV, rapsongs)
leren werken met real life netwerken in networkx (via Python tutorials and datasets bij het boek).
Verzamelingen, logica, datastructuren en algorithmes
naieve verzamelingenleer
verzamelingen, cardinaliteit, gelijkheid, deelverzameling, notatie
de operaties op verzamelingen
nieuwe verzamelingen maken: comprehensies, product, machtsverzameling
Machtsverzameling stelling
Verzamelingen in Python, syntax, set comprehensies, frozensets, operaties zelf programmeren
Geldigheid van redenering
modellen, tegenvoorbeelden
Propositielogica
syntax
waarheidstabellen
SAT algorithme met waarheidstabel, idem voor logisch gevolg
intuitie achter NP volledigheid
verband met verzmelingen
Eerste orde logica
1 en 2 plaatsige relaties, interpretatie op netwerk modellen
syntax, intuitieve semantiek
Waarheid op een model, tegenvoorbeeld, geldigheid van redeneringen
Vertalen van zinnen in Nederlands naar FO zinnen, en naar equivalente Python code
FO zinnen programmeren als equivalente verzamelingen elementen
bijv "Elke man houdt van een vrouw" is equivalent aan
∀𝑥(𝑀𝑥→∃𝑦(𝑅𝑥𝑦∧𝑉𝑦)) is equivalent aan
not {x for x in G if M(x) and not {y for y in G if R(x,y) and V(y)} }
Allerlei netwerk begrippen vertalen naar FO logica.
Datasctructuren
Bomen
lijsten, sets, dics, en heel veel oefenen met (complexe) comprehensies
stack, en heap
Algorithmes
wanneer is iets een algorithme? Wanneer is het correct? Wat zijn de kosten?
max zonder sorteren
mean met miniem geheugen gebruik
sorteren
breadth first search
SAT, uitputtend alle mogelijkheden afgaan.
Onderwijsvormen
- Hoorcollege
- Werkcollege
- Laptopcollege
- Zelfstudie
- Begeleiding/feedbackmoment
- Zelfstandig werken aan bijv. project/scriptie
- (Computer)practicum
- online vragenuur (Corona)
4 uur hoorcollege, 2 uur werkcollege en 2 uur computer practicum per week.
Voor het werkcollege geldt een aanwezigheidsplicht van 90%.
Verdeling leeractiviteiten
Activiteit | Aantal uur |
Digitale Toets | 4 |
Hoorcollege | 24 |
Laptopcollege | 24 |
Zelfstudie | 116 |
Aanwezigheid
Aanwezigheidseisen opleiding (OER-B):
-
Voor practica en werkcolleges, met opdrachten, geldt een aanwezigheidsplicht, tenzij anders vermeld in de studiegids. Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan het onderdeel niet met een voldoende worden afgerond. De aanwezigheidsplicht met betrekking tot hoor-werkcolleges staat, indien van toepassing, vermeld in de studiegids.
Toetsing
Onderdeel en weging
|
Details
|
| |
| |
Alle informatie over toetsing staat op canvas
Inzage toetsing
Na elke toets is er een responsiecollege waarop de vragen van de toets en de juiste antwoorden daarop besproken worden. Daarna is er de mogelijkheid om de open vragen van je eigen toets in te zien.
Opdrachten
Zie canvas
Fraude en plagiaat
Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl
Weekplanning
Voor de weekplanning zie canvas
Rooster
Het rooster van dit vak is in te zien op DataNose.
Noodzakelijke voorkennis: Programmeren IK, logica
Verwerking feedback studenten
Hieronder vind je de aanpassingen in de opzet van het vak naar aanleiding van de vakevaluaties.
* toetsen en opdrachten verhelderd
* meer aandacht aan programmeren
* meer assistenten
* meer mogelijkheid tot het stellen van vragen en hulp bij opdrachten
* heldere communicatie via Canvas
* al het materiaal beschikbaar via surfdrive
Coördinator
Docenten
- A.S.M. Beuger
- Rachel de Haan BSc
- Ruben van Heusden MSc
- Emanuele Mezzi
- maarten marx