Zróbmy sobie Google'a
Prowadzący
Patryk Hes (w razie czego piszcie na pathes at pathes dot pl, z dopiskiem WWW10, ew. na Facebooku)
Opis
Google'a nikomu chyba nie trzeba przedstawiać. Na zajęciach spróbujemy zrobić wyszukiwarkę tekstów opierając się na oryginalnym pomyśle Page'a i Brina z 1998 r.
Żeby dało się to uzyskać, najpierw zaplanujemy architekturę systemu i poznamy niezbędne podstawy teoretyczne: elementy algorytmów tekstowych, algebry liniowej i sieci komputerowych. Następnie w zespołach będziemy pisać poszczególne części wyszukiwarki.
Celem zajęć będzie oczywiście zrobienie wyszukiwarki, a przy okazji zdobycie wglądu na to jak działa programowanie zespołowe.
Program zajęć
Dzień 1.
Wprowadzenie.
Ustalamy architekturę systemu.
Przedstawię w jaki sposób będziemy pracować i uczestnicy podzielą się na grupy - każda będzie pracować nad osobnym zagadnieniem.
Dzień 2.
Pracujemy w grupach. Gdy któraś z grup natkie się na problem teoretyczny albo praktyczny, przychodzę do nich i podpowiadam co jak należy zrobić.
Pod koniec zajęć robimy checkpoint i analizujemy, czy jesteśmy w stanie do końca dnia 3. napisać coś, co działa.
Dzień 3.
Pracujemy w grupach cd.
Pod koniec zajęć robimy podsumowanie. Jeżeli się nie wyrobimy, a do dokończenia pracy zostanie niewiele, możemy dokończyć wieczorem.
Wymagania
- podstawy gita (można zajrzeć tutaj)
- podstawy pythona
- umiejętność stworzenia prostej strony w django (polecam tutorial)
- wiedzieć czym się różnią terminy: IP, TCP, HTTP
- brak strachu przed niemieckimi rzeczownikami, takimi jak das Eigenwertproblem
- Mile widziane, jak ktoś kiedyś implementował jakieś algorytmy tekstowe (np. KMP) lub korzystał z wgeta.
- Uwaga: korzystanie z nie-linuxów na zajęciach na własną odpowiedzialność.
Zadania kwalifikacyjne
Na nstrefie - jedno zadanie z gita, drugie z django.