Programim i Avancuar në Web

Print

Hersi Kopani, Msc

Kodi
CMP 230
Emri
Programim i Avancuar në Web
Semestri
4
Leksione
2.00
Seminare
0.00
Laboratore
0.00
Kredite
3.50
ECTS
5.00
Përshkrimi

Ky kurs mbulon konceptet e avancuara të zhvillimit të uebit duke u fokusuar në JavaScript moderne dhe zhvillimin e backend-it me Node.js. Studentët do të eksplorojnë veçoritë më të fundit të JavaScript, modelet e projektimit, programimin asinkron dhe arkitekturat e shkallëzueshme të backend duke përdorur Node.js. Kursi thekson zbatimin praktik përmes projekteve dhe ushtrimeve praktike.

Objektivat

Studenti zotëron JavaScript-in modern (ES6+), programimin asinkron dhe API-të e shfletuesit. Ai mëson zhvillimin nga ana e serverit duke përdorur Node.js dhe dizajnon arkitektura të shkallëzueshme. Studenti zbaton modelet e dizajnit dhe praktikat më të mira në aplikacionet në internet. Studenti punon me bazat e të dhënave, API-të REST, GraphQL dhe mekanizmat e vërtetimit. Ai zhvillon aplikacione në kohë reale dhe të bazuara në mikroshërbime.

Java
Tema
1
Hyrje në JavaScript të avancuar (Flanagan, kap. 1-3, f. 1-60) -Rishikimi i bazave të JavaScript -Karakteristikat e ES6+: funksionet, let , const, array , destrukturim, operatorë spread/rest -Modeli i ekzekutimit të JavaScript (event loop, call stack, task queues)
2
Koncepte të avancuara JavaScript (Flanagan, kap. 6-8, f. 120-200) -Prototipet dhe programimi i orientuar nga objekti (OOP) -Closure, sckope dhe "this" fjalë kyçe -Teknikat e programimit funksional
3
JavaScript dhe Promise asinkrone (Flanagan, Ch. 13-14, fq. 260-320) -Callback vs Promises -Async/Await Trajtimi i gabimeve në kodin async
4
API-të e Webit dhe Integrimi i Frontendit (Flanagan, kap. 15, f. 340-410) -Manipulimi DOM -Merr API dhe AJAX -WebSockets dhe komunikim në kohë reale
5
Hyrje në Node.js (Casciaro, Ch. 1-2, f. 1-45) -Arkitektura Node.js dhe programimi i drejtuar nga ngjarjet -Kuptimi i sistemit të moduleve (CommonJS vs ES Modules) -MKP dhe menaxhimi i paketave
6
Sistemi i skedarëve dhe transmetimet në Node.js (Casciaro, kap. 6, f. 150-190) -Puna me skedarë dhe drejtori -Kuptimi dhe zbatimi i streams -Buffering dhe konsideratat e performancës
7
Express.js dhe zhvillimi i aplikacioneve në web (Casciaro, kap. 7, f. 200-250) -Vendosja e një serveri Express -Konceptet e programit middleware -Routing dhe API-të RESTful
8
Provim gjysmëfinal
9
Bazat e të dhënave dhe këmbëngulja (Casciaro, Ch. 9, fq. 300-350) -Bazat e të dhënave SQL vs NoSQL (PostgreSQL, MongoDB) -Duke përdorur ORM/ODM (Sequelize/Mongoose) -Operacionet CRUD me bazat e të dhënave
10
Vërtetimi dhe autorizimi (Casciaro, kap. 10, f. 360-400) -JSON Web Tokens (JWT) dhe OAuth -Kontrolli i aksesit i bazuar në role (RBAC) -Autentifikimi i sigurt me Passport.js
11
Konceptet dhe modelet e dizajnit të avancuar Node.js (Casciaro, kap. 3, f. 50-100) -Arkitektura e drejtuar nga ngjarjet -Modelet Singleton, Factory dhe Observer -Modelet e injektimit të varësisë dhe softuerit të mesëm
12
Ndërtimi i aplikacioneve të shkallëzueshme (Casciaro, Ch. 12, f. 420-480) -Arkitektura e mikroshërbimeve vs Monolitike -API Gateway dhe zbulimi i shërbimit -Caching me Redis
13
Aplikacionet në kohë reale dhe bazat në internet (Casciaro, kap. 13, f. 490-530) -Përdorimi i Socket.io për aplikacionet në kohë reale -Modelet e mesazheve në pub/sub -Rasti studimor: Ndërtimi i një aplikacioni chat
14
Testimi, korrigjimi dhe optimizimi i performancës (Casciaro, kap. 14, f. 540-580) -Testimi i njësisë me Jest/Mocha -Teknikat e korrigjimit në Node.js -Akordimi i performancës dhe menaxhimi i kujtesës
15
Projekti Përfundimtar & Prezantimet -Nxënësit prezantojnë projektin e tyre përfundimtar -Përmbyllja dhe rishikimi i kursit
16
Provim Final
1
Aftësia për të ndërtuar aplikacione ueb të shkallëzuar duke përdorur JavaScript & Node.js.
2
Kuptimi i modeleve të projektimit dhe praktikave më të mira arkitekturore.
3
Aftësi në trajtimin e programimit asinkron.
4
Kompetenca në ndërveprimet e bazës së të dhënave dhe vërtetimi.
5
Njohuri të teknikave të komunikimit në kohë reale.
Sasia Përqindja Përqindja totale
Gjysmë finale
1 30% 30%
Kuize
0 0% 0%
Projekte
0 0% 0%
Detyra
1 40% 40%
Laboratorët
0 0% 0%
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 2 32
Orë studimi jashtë klasës
14 3 42
Detyrat
1 15 15
Gjysmë finale
1 15 15
Provimi përfundimtar
1 21 21
Të tjera
0 0 0
Ngarkesa totale e punës
125
Ngarkesa totale e punës / 25 (orë)
5.00
ECTS
5.00