380 likes | 619 Views
Tīmekļa programmēšana. 20 13 . gada rudens semestris. Lekcijas. Ceturtdien, 16:30 – 19:45 Raiņa bulvāris 29, 413. auditorija. Kontakti. docente Dr.dat. Alina Vasiļjeva alina.vasiljeva@gmail.com. Kursa materiāli. Kursa Web lapa http://ante.lv
E N D
Tīmekļa programmēšana 2013. gada rudens semestris
Lekcijas • Ceturtdien, 16:30 – 19:45 Raiņa bulvāris 29, 413. auditorija
Kontakti • docente Dr.dat. Alina Vasiļjeva alina.vasiljeva@gmail.com
Kursa materiāli • Kursa Web lapa • http://ante.lv LU maģ. "Tīmekļaprogrammēšana" 2013.g. rudens Tieša saite: http://ante.lv/web-programming-2013/ • Moodle • http://estudijas.lu.lv • DatZ5008
Google grupa diskusijām • Grupas nosaukums: Web Programming LU 2013 • Grupas mājas lapa: http://groups.google.com/group/web-programming-lu-2013 • Grupa ir paredzēta vispārīgu jautājumu apspriešanai, kas varētu interesēt visus kursa dalībniekus • Praktisko darbu precizējumi • Tehnisko grūtību atrisināšana • utml
Kursa prasības • 1.praktiskais darbs (obligāts): 30% (25% + 5%), min 15% • 2.praktiskais darbs (obligāts): 30% (25% + 5%), min 15% • 3.praktiskais darbs (obligāts): 25% (20% + 5%), min 10% • Individuālie mājasdarbi (neobligāti): 15% + 15% • Izvēļu testi (neobligāti): 10% • Negaidīti mazie mājasdarbi (neobligāti): max 10% • Konferences (neobligāti): max 10%
Praktiskie darbi • Darbus var pildīt individuāli, vai divucilvēku komandās • Komandas ir jāpiesaka līdz23.09.2013 pa e-pastu • Komandas gadījumā katram cilvēkam ir jāpiedalās katra darba izstrādē un jāmāk paskaidrot gan sevis izpildītas uzdevuma daļas, gan arī visu risinājumu kopumā!!!
Praktiskie darbi • 1. PD (30%) • Uzdevums: Java konsoles programma. Datu iegūšana no tīmekļa (HTTP klients), datu saglabāšana datubāzē. • Termiņš: 11. novembris (check point: 28. oktobris) • 2. PD (30%) • Uzdevums: Spring MVC tīmekļa portāls • Termiņš: 9. decembris (check point: 25. novembris) • 3. PD (25%) • Uzdevums: Rich GUI un Ajax tīmekļa portāls • Termiņš: 19. decembris
Praktiskie darbi • Kavējuma sods • Par katru nokavētu dienu 0,5 punkti tiek atskaitīti: • 10 dienu garumā ‘check point’ gadījumā • 10 dienu garumā gala termiņa gadījumā • PĒC 10 DIENĀM IESNIEGT VAIRS NEDRĪKST !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! • Problēmu gadījumā SAVLAICĪGI informēt pasniedzēju!!! • Darbus vajadzēs iesūtīt pa e-pastu • Sesijas laikā visus darbus vajadzēs aizstāvēt klātienē
Praktiskie darbi • Kavējuma soda piemērs • Iesniegšanas termiņš = 11.11.2013 • Darbs iesūtīts: • 11.11.2012 max atzīme = 30 • 12.11.2012 max atzīme = 29,5 • 13.11.2012 max atzīme = 29 • ..... • 21.11.2012 max atzīme = 25 • 22.11.2012 FAILED!!!
Extra credit • Praktiskajiem darbiem papildus pamata prasībām tiks definēti arī “extra credit” uzdevumi, par kuriem būs iespējams iegūt papildus punktus • Extra credit uzdevumus drīkst pildīt līdz sesijas beigām • “līdz sesijas beigām” = darbu jāiesūta vismaz 60 stundas pirms nākšanas uz eksāmenu
Individuālas prakt. darbu tēmas • Ja Jūsu pieredze tīmekļa programmēšanā ir attīstījusies citā virzienā un vēlaties kursa laikā programmēt citas tīmekļa lietojumprogrammas, tad piesakoties pirmajās 2 nedēļās varat piedāvāt savu praktisko darbu virkni
Individuālie mājasdarbi • Nav obligāti • Pirmo uzdevumu izlozē – tiks piedāvāti 3 varianti, var izvēlēties kuru pildīt • Otro uzdevumu var brīvi izvēlēties • Termiņš – līdz sesijas beigām • “līdz sesijas beigām” = darbu jāiesūta vismaz 60 stundas pirms nākšanas uz eksāmenu
Izvēļu testi • Būs pieejami Moodle vidē semestra beigās • Nav obligāti
Negaidīti mazie mājasdarbi • Iespējams, tiks uzdoti lekciju laikā • Izpildes termiņš: 1 nedēļa • Maksimāls punktu skaits, kurus būs iespējams iegūt: 10%
Konferences • Motivācija: • vairāk iesaistīt studentus mācību procesā • padarīt lekcijas interaktīvākās • dalīties ar pieredzi • Veltītas konkrētai tēmai • NoSQL datubāzes, MVC ietvari, Ajax ietvari utml • Studenti veiks 10-15 minūtes ilgas prezentācijas • Pēc prezentācijām notiks kopēja diskusija • Maksimāls punktu skaits: 10%
Maģistra darbi Pieredze: 16 veiksmīgi aizstāvēti vadītie maģistra darbi • Visdažādākās tēmas, kas saistītas ar tīmekli un programmēšanu • Kvantu skaitļošana Nāciet runāt... Rakstiet e-pastus...
gan mazuļi gan vecmammiņas Internets mūsdienās • Mūsdienās VISI zina kas ir Internets un VISI izmanto Internetu • Bet mūs, kā datoriķus, interesē kā veidot tīmekļa lietojumprogrammas
Kursa mērķis • Kursa mērķis ir iepazīties ar dažādām Java un Java Enterprise Edition tehnoloģijām, kas noder tīmekļa lietojumprogrammu veidošanai Kas ir tīmekļa lietojumprogramma ???
Kursa saturs (1., 2. lekcija) • Java programmēšanas valodas svarīgāko elementu pārskats • Rīki un palīglīdzekļi, kuru izmantošana atvieglo programmētāja dzīvi un darba pieredze ar kuriem ir nepieciešama mūsdienu programmētājam: • Integrētas izstrādes vide Eclipse • Versiju kontroles rīki Git un Subversion • Projektu pārvaldības un būvēšanas rīki Maven un Ant
Kursa saturs (3. lekcija) • Spring Framework – lietojumprogrammu izstrādes ietvars Java platformai • Vispārīgs Spring ietvara pārskats • Spring moduļi • ”Atkarību injicēšanas” princips (Dependency Injection) • ”Kontroles inversijas” konteineris (Inversion of Control)
Kursa saturs (4. lekcija) • HTTP protokols • HTTPklientu programmēšana Java valodā • Tīmekļa datu apmaiņas formāti • JSON, XML, YAML un citi • Programmatiskā apstrāde, lasīšana, ģenerēšana • XML apstrāde: DOM, SAX un citas pieejas
Kursa saturs (5.,6. lekcija) • Datubāzes piekļuve • Java Database Connectivity (JDBC) • Objektu-relāciju attēlojums (Object-Relational Mapping) • Java Persistence API ietvars • Java Persistence Query Language (JPQL) • Hibernate ietvars
Kursa saturs (6.,7. lekcija) • NoSQL datubāzes • Key-Value Stores • Document Stores • Graph Databases • Multivalue databases • Object databases • Spring Data: • Redis (key-value store)
Kursa saturs (7. lekcija) • Žurnalēšanas ietvars log4j • Vienību testēšana • JUnit • Mockito • Spring Test Framework
Kursa saturs (8. lekcija) • Pārskata lekcija par moderno tīmekli • HTML5, CSS3 interesantākie elementi • Node.js
Kursa saturs (9. lekcija) • Tīmekļa lietojumprogrammu arhitektūra un darbības pamatprincipi • Tīmekļa serveri, lietojumprogrammu serveri • Tīmekļa lietojumprogrammas komponenti • Moduļa (WAR) struktūra • Tīmekļa lietojumprogrammas konfigurācija (web.xml fails) • Tīmekļa lietojumprogrammu izvietošana (deployment) uz servera • Java Enterprise Edition: tīmekļa lietojumprogrammu izstrādes platforma
Kursa saturs (9. lekcija) • Tīmekļa lietojumprogrammu arhitektūra un darbības pamatprincipi • Tīmekļa serveri, lietojumprogrammu serveri • Tīmekļa lietojumprogrammas komponenti • Moduļa (WAR) struktūra • Tīmekļa lietojumprogrammas konfigurācija (web.xml fails) • Tīmekļa lietojumprogrammu izvietošana (deployment) uz servera • Java Enterprise Edition: tīmekļa lietojumprogrammu izstrādes platforma
Kursa saturs (10. lekcija) • Java Servlet tehnoloģija • Servlet - Java programma, kas tiek darbināta uz tīmekļa servera, apstrādā HTTP pieprasījumus un veido tīmekļa lapas
Kursa saturs (11. lekcija) • JavaServer Pages (JSP) tehnoloģija • servera puses Java tehnoloģija, kas ļauj veidot dinamiski ģenerētas tīmekļa lapas HTML formātā • JSTL tagu bibliotēka
Kursa saturs (11., 12., 13. lekcijas) • Spring Web MVC ietvars tīmekļa lietojumprogrammu izstrādei • Tīmekļa lietojumprogrammu testēšana • Selenium • HttpUnit
Kursa saturs (14. lekcija) • Tīmekļa pakalpes (Web servisi) • Tīmekļa servisu dažādi izmantošanas stili – SOA un REST • SOA tīmekļa servisu standarti – SOAP, WSDL • RESTful tīmekļa servisi • Tīmekļa servisu izstrāde ar JAX-WS un JAX-RS lietojumprogrammas saskarnēm
Kursa saturs (15. lekcija) • Bagātīgas tīmekļa lietojumprogrammas (Rich Internet Applications) • Ajax - bagātīgu tīmekļa lietojumprogrammu izstrādes tehnoloģiju kopa • Comet (Ajax Push)
Kursa saturs (15., 16. lekcijas) RIA un Ajax ietvari • Google Web Toolkit ietvars (GWT) • jQuery bibliotēka