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ęć

758px-PageRanks-Example.svg.png

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

fig947_01_0.jpg
  • 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.

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License