- Kodi
- CMP 503
- Emri
- Programim në Ambient të Shpërndarë i Avancuar
- Semestri
- 3
- Leksione
- 3.00
- Seminare
- 1.00
- Laboratore
- 0.00
- Kredite
- 3.50
- ECTS
- 6.00
- Përshkrimi
-
Në këtë lëndë, studentët do të njihen me programimin dhe platformat që realizojnë programimin në ambjent të shpërndarë. Do të njihen me paralelizmin e thredeve dhe si bëhet komunikimi i thredeve duke shmangur deadlock.
- Objektivat
-
Ofron njohuri të avancuara mbi konceptet dhe arkitekturat e sistemeve të shpërndara. Përdor Python-in për ndërtimin e aplikacioneve të shpërndara dhe shkallëzueshme. Mëson teknikat e programimit paralel dhe shpërndarë, duke përdorur procese, fije (threads) dhe asinkroni.
- Java
- Tema
- 1
- Hyrje ne sistemet e shperndara
- 2
- Organizimi i memories: SISD, SIMD, MISD, MIMD Hyrja ne Python • Sintaksat • Llojet e datave • Kontrolli i rrjedhes...etj (Lit, fq 24-46)
- 3
- Vazhdim Python • Klasat & Objektet • Exceptions handling
- 4
- Paralelizmi me threde • Moduli i python per thredet. • Caktimi i thredeve • Caktimi i një nënklase threadi (Lit., fq. 47 – 61)
- 5
- Sinkronizimi i thredeve • Sinkronizimi me kycje • Sinkronizimi me kycje R (Lit., fq. 62 – 68)
- 6
- Sinkronizimi i thredeve • Sinkronizimi me semaforë • Sinkronizimi me kushte • Sinkronizimi me evente
- 7
- Paralelizmi i bazuar në procese • Moduli i python per multi-procese • Emerimi i proceseve • Proceset ne background • Asgjesemi i proceseve • Nënklasat e proceseve dhe shkëmbimi i të dhënave (Lit, fq. 87-115)
- 8
- Midterm
- 9
- Kalimi i mesazheve • Struktura mpi dhe moduli mpi i python • Komunikimi point-to-point • Shmangja e deadlocks (Lit, fq. 116 – 130)
- 10
- Komunikimi • Komunikimi me broadcast • Komunikimi me funksionin scatter • Komunikim duke përdorur funksion mbledhës • Komuniki “all-to-all” • Optimizimi i komunikimit (Lit, fq. 131-152)
- 11
- Programim asinkron • Module të tjera python • Menaxhimi i loops • Asyncio (Lit.1, fq. 153 – 181)
- 12
- Distributed Python • Programim i shpërndarë në aplikacione të shpërndara • Moduli Socket i Python • Përdorimi i Celery për menaxhimin e punëve • RMI Pyro4 (Lit, fq. 182-210)
- 13
- Cloud Computing • Arkitektura dhe modelet e shërbimeve • Zhvillimi i aplikacioneve web me PythonAnywhere • Computing pa server (Lit, fq. 211 – 249)
- 14
- Testimi i aplikacioneve dhe sherbimeve • Teste interaktive • Pdb • debug (Lit, fq. 302 – 333)
- 15
- Prezantim Projektesh
- 16
- Provim Final
- 1
- Në fund të lëndës pritet që studentët të njohin konceptet programimit të shpërndarë.
- 2
- Të jenë të aftë të njohin modelet e shërbimeve IaaS, PaaS, SaaS.
- 3
- Studentët do të njihen me serverat në mjedis cloud dhe si u shëebejnë klientëve.
- 4
- Studentët do të zotërojnë njohuri mbi programimin heterogjen.
- 5
- Në fund të lëndës studentët do të jenë të familjarizuar me gjuhën Python dhe modulet e tij.
- 6
- Studentët do të jenë të aftë të shqyrtojnë algoritmet CUDA dhe OpenCL.
- Sasia Përqindja Përqindja totale
- Gjysmë finale
- 1 25% 25%
- Kuize
- 0 0% 0%
- Projekte
- 1 30% 30%
- Detyra
- 0 0% 0%
- Laboratorët
- 1 15% 15%
- Pjesëmarrja në mësim
- 0 0% 0%
- Përqindja totale e vlerësimit
- 70%
- Përqindja e provimit përfundimtar
- 30%
- Përqindja totale
- 100%
- Sasia Kohëzgjatja (orë) Gjithsej (orë)
- Kohëzgjatja e kursit (përfshirë javët e provimit)
- 16 4 64
- Orë studimi jashtë klasës
- 14 4 56
- Detyrat
- 1 10 10
- Gjysmë finale
- 1 8 8
- Provimi përfundimtar
- 1 12 12
- Të tjera
- 0 0 0
- Ngarkesa totale e punës
- 150
- Ngarkesa totale e punës / 25 (orë)
- 6.00
- ECTS
- 6.00