Itv0040 2014
Ainekood: ITV0120 |
Sisukord
- 1 NB! See on aine 2014 aasta arhiiv, mitte hetkel kehtiv materjalikogu!
- 2 Eksam jaanuaris
- 3 EKSAMIMÄRKMED
- 4 Aeg, koht
- 5 Praktilised tööd ja tähtajad
- 6 Kursus varasematel aastatel
- 7 Esialgne loengukava
- 7.1 Detailsem ülevaade kursuse sisust, sissejuhatus 1. praktikumi, protokollide algus, http, json
- 7.2 Praktikumi lisadetaile, protokollide jätk, xml ja xml põhised protokollid xml-rpc ja soap
- 7.3 Protokollide jätk ja P2P sissejuhatus
- 7.4 P2P jätk: DHT (distributed hash tables) ja bittorrent
- 7.5 Suured avalikud andme-apid.
- 7.6 Autentimine: facebook, google, id-kaart.
- 7.7 Pilvekeskkonnad, eriti: Google appengine, database api, google bigtable and file system stack
- 7.8 Sissejuhatus 2. praktikumi
- 7.9 Mobiilirakenduste tegemine
- 7.10 Paralleelrehkendused. Andmebaasid, lukustamine ja transaktsioonid.
- 7.11 Paralleelrehkendused jätkuvad.
- 7.12 Paralleliseerimine ja efektiivsus: ip/tcp, socketid, http jne
- 7.13 Mapreduce framework for automating app parallelization + memcached
- 7.14 Andmelaod.
- 7.15 Hajutatud andmekogude integreerimine. Vaata ka linke:
- 8 Lisamaterjalid
NB! See on aine 2014 aasta arhiiv, mitte hetkel kehtiv materjalikogu!
Eksam jaanuaris
Eksamitulemused on siin tabelis.
Järeleksam toimub neljapäeval, 29. jaanuaril kell 14:00. Eksamiruum NRG-131 (energeetika maja). Palun registreeri ennast järeleksamile ÕIS-is!
EKSAMIMÄRKMED
Küsimused tulevad järgmiste teemade kohta, igaühe kohta üks/kaks.
Protokollid: json,xml-rpc,soap (ilma uddi ja wsdlta),protocol buffers.
P2P: Napster, Gnutella, Kazaa/skype, DHT (ntx Chord), Bittorrent
Transaktsioonid ja lukustamine paralleelprotsesside jaoks: baseerudes Priit Järve konspektile ja slaididele
Cachemine laiemas mõttes: arvuti cache tööpõhimõtted programmeerija vaatevinklist, shared memory tööpõhimõtted ja kasutusvaldkonnad, hajutatud cached a la memcached.
Detsembris ilmub siia lisaks hulk konkreetseid kordamisküsimusi samadel teemadel.
Aeg, koht
Semester: sügis
Tulemus: eksam
Hindamise meetod: praktikumide tulemused (pool) pluss eksam (teine pool)
Loeng: kolmapäeval 16:00-17:30 ruumis CYB-VEENUS
Praktikum: neljapäeval 17:45-19:15 arvutiklassis ICT-501 (praktikumijuhendaja Priit Järv)
Praktilised tööd ja tähtajad
Töid võib teha 1-3 inimesest grupina.
Kokku on töid 2. Kumbki praktikum täismahus tehtuna annab 25 punkti, sellele võivad lisanduda ekstrapunktid. Puudulikult tehtud töö punktiarv jääb alla 25 punkti. Hilinenud kodutöö eest saab pooled muidu saadaolevad punktid. Töid tuleb esitada praktikumi ajal, projektori abil, väikese ülevaatena kõigile tudengitele.
- 1. Tähtaeg 23. oktoober. Kaks alternatiivi, mille vahel võid ise valida:
- 1 praks
- Teha ise katseid või rakendus õppejõuga eelnevalt kokku lepitud teemal (apid, protokollid) ja teha väike loeng/ülevaade katsetest/rakendusest.
- 2. Tähtaeg 18. detsember. Kaks alternatiivi:
- 2 praks: android ja google app engine
- Teha ise katseid või rakendus õppejõuga eelnevalt kokku lepitud teemal (mobiilirakendused ja pilvekeskkonnad) ja teha väike loeng/ülevaade katsetest/rakendusest.
NB! Novembris ja detsembris saab esimest praktikumi (hilinemisega) esitada: praksi võtab vastu Priit. Esialgu on selleks planeeritud kaks võimalust: 6 novembri praksis ja 11 detsembri praksis.
Kursus varasematel aastatel
- I periood: Tammet (hajutatud failisüst, dns, p2p, ...) http://deepthought.ttu.ee/it/vorgutarkvara/wav4101/
- II periood: Grauen (eelmise jätk) http://cs.ttu.ee/kursused/itv0040/
- III periood: Kadastik (sõnumivahetus) http://cs.ttu.ee/tiki-index.php?page=ITV0040-2008
- IV periood: Tammet http://www.lambda.ee/index/itv0040
Esialgne loengukava
Kursus jaguneb laias laastus neljaks teemaks:
- Protokollid, P2P, andme-apid võrgus (neil teemadel esimene praks, autentimine
- Mobiilirakendused ja pilvekeskkonnad (neil teemadel teine praks)
- Paralleelrehkendused
- Andmete hajutamine ja hajutatud andmete koondamine
Loengute esialgne plaan:
Detailsem ülevaade kursuse sisust, sissejuhatus 1. praktikumi, protokollide algus, http, json
- Http ja json: võrgurakenduste protokollid 1
- Üldist materjali ja kursusi mujalt:
- http://en.wikipedia.org/wiki/Distributed_computing
- http://dcg.ethz.ch/lectures/podc_allstars/index.html
- http://www.eecs.harvard.edu/cs262/
- http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/index.htm
- http://www.stanford.edu/class/cs244b/
Praktikumi lisadetaile, protokollide jätk, xml ja xml põhised protokollid xml-rpc ja soap
- xml protokollid xml-rpc, soap ja seotud tehnoloogiad: võrgurakenduste protokollid 2
- Probleemidest: veebiteenuste võlu ja valu ja s stands for simple
Protokollide jätk ja P2P sissejuhatus
- REST, binary protokollid, XMPP: võrgurakenduste protokollid 3
- P2P sissejuhatus:
- vikipeedia ülevaade
- ülevaade eri P2P tehnoloogiatest
P2P jätk: DHT (distributed hash tables) ja bittorrent
- ülevaade wikipedias
- Chord:
- Põhimaterjal - Chordi põhimõtted - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
- Lisaks tasuks veidi uurida artikleid wikipedia sissekande lõpus (external links)
- Kademlia:
- Põhimaterjal presentatsioon autoritelt
- Täiendavalt autorite artikkel
- Bittorrent:
- bittorrenti protokoll ja ülevaade
- täiendavalt wikipediast
- TOR:
- TOR wikipedias
Suured avalikud andme-apid.
Autentimine: facebook, google, id-kaart.
Pilvekeskkonnad, eriti: Google appengine, database api, google bigtable and file system stack
Sissejuhatus 2. praktikumi
Mobiilirakenduste tegemine
Paralleelrehkendused. Andmebaasid, lukustamine ja transaktsioonid.
- Paralleelsus andmebaasides, konspekt ja slaidid
- Transaktsioonide sissejuhatuse alternatiivsed slaidid
Paralleelrehkendused jätkuvad.
- Sünkroniseerimisprimitiivid, konspekt ja slaidid
- Lisaks T.Tammeti slaidid
Paralleliseerimine ja efektiivsus: ip/tcp, socketid, http jne
- http näited
Mapreduce framework for automating app parallelization + memcached
Andmelaod.
Hajutatud andmekogude integreerimine. Vaata ka linke:
- Postgres replication intro
- Postgres clustering and replication
- Postgres high availability
- Integrating distributed sem web data
- Oracle information integration