Thanks to visit codestin.com
Credit goes to github.com

Skip to content

miroslav-reiter/VAVA_JAVA

Repository files navigation

☕ VAVA-JAVA

📝 VAVA Cvičenia Testiky

Organizácia predmetu

Prednášky: Každý piatok 12:00-13:50
Cvičenia: Každý piatok 14:00-15:30 formou konzultácií a študentských Live Code Sessions
Študenti sú povinní sledovať všetky termíny a dátumy samostatne v AISe a v miestach odovzdania.

🔥 Sylabus/Čo nás čaká a neminie...

  1. Úvod do Javy a jazyka ArchiMate
  2. Štruktúra platformy a enterprise architektúry
  3. Vývojové technológie + (biznis vrstva)
  4. Kolekcie + (aplikačná vrstva)
  5. Logovanie
  6. Lokalizácia
  7. JDBC a DBMS + (technologická vrstva)
  8. XML, NIO2
  9. Regulárne výrazy
  10. Prehľad enterprise architektúr + Prezentovanie Projektov
  11. Enterprise Architect + Prezentovanie Projektov
  12. Prehľad JEE + Prezentovanie Projektov

Náhrada výučby:
● 12.5. utorok Výučba ako v piatok, náhrada za 03.04.2026
● 15.5. Výučba ako v piatok, náhrada za 01.05.2026

👨‍🏫 Výsledky vzdelávania

  • Získať prehľad o platforme Java SE (Java Standard Edition), jej architektúre, štruktúre a vlastnostiach
  • Zdokonaliť sa vo vývoji programov pre platformu Java (Java Standard Edition)
  • Naučiť sa tvoriť desktopové GUI aplikácie vo Swing/JavaFX
  • Nadobudnúť zručnosti vo využívaní vybraných rozhraní a rozširujúcich knižníc platformy Java (Standard Edition)
  • Pripraviť sa na neskorší vývoj rozsiahlych viacvrstvových enterprise aplikácií
  • Používať jazyk ArchiMate a EA pri modelovaní viacvrstvových aplikácií
  • Zasadenie Java v kontexte JEE technológií

Stručná osnova predmetu:

  1. Štruktúra platformy Java
  2. Java vývojové technológie a štandardy
  3. Vybrané kapitoly/detaily Java Standard Edition API (napr. Collections, Logging, Localization, XML, I/O, Regular Expressions)
  4. Databázy, JDBC, jazyk SQL v Jave
  5. Prehľad JEE technológií
  6. Podniková architektúra a ArchiMate

☕ YouTube video záznamy z prednášok a cvičení Playlist

YouTube Kanál Miroslav Reiter - VITA Academy

🥇 Podmienky na absolvovanie predmetu

  • 50 % formou tímovej práce - 9 až 10 členov v podobe projektu, implementácie a jednoduchej dokumentácie prototypu postaveného na vybraných technológiách JAVA a DBMS. Tímy si vedú svoje projekty v Atlassian Jira Software. V prípade, že študent, nechce realizovať projekt tímovou spolupracou alebo mu to okolnosti nedovolujú (individuálny študijný plán, výmenný pobyt, iné okolnosti) môže vypracovať celý projekt samostatne.
  • 20 % formou tímovej práce - 4 až 6 členov v podobe live code session pre príslušnú tému na cca 15 minút a 5 až 8 minút pre otázky (Kolekcie, Lokalizácia, Logovanie, JDBC, XML, NIO.2), príprava na code session (cvične nahrané video k príslušnej témy, ktorú prezentujete), scenár s praktickými príkladmi s názornými ukážkami a zdrojovými kódmi, následne odprezentovanie na cvičení - témy sú pridelené. Hodnotí sa a body sa získavajú za prezenčnú live code session. Nahrané video slúži ako príprava a je to povinná nebodovaná súčasť.
  • 30 % skúška podobná oficiálnej Oracle Java certifikačnej skúške OCP (Oracle Certified Professional) Java SE 17 Developer 1Z0-829 alebo Java SE 21 Developer 1Z0-830

komunikacia-a-fungovanie

🏆 Skúška

  • Bude realizovaná prezenčne v priestoroch školy (miestnosť podľa rozpisu - ACPU: 03. beh o 13,30-16,15)
  • Bude pripravený test v AISe s uzatvorenými otázkami (closed test).
  • Rozsah: 15 otázok - Časový limit: 30 minút - každá otázka za 2 body
  • Na skúške treba mať so sebou študentský preukaz a zabezpečený prístup do AISu.

Skúšky

  • RT 22.5. ACPU (80-100) 3. beh (13,30-16,15)
  • OT 17.6. ACPU (80-100) 3. beh (13,30-16,15)

Nerešpektovanie pravidiel, narušovanie poriadku na skúške, odpisovanie alebo nečestné konanie bude mať za následok vylúčenie zo skúšky a hodnotenie študenta známkou FX.

Pre získanie zápočtu alebo absolvovanie skúšky nie je stanovený minimálny počet bodov.

❓ FAQ ku skúške

Z čoho bude skúška?
Z odprednášaných tém zameraných hlavne na Javu 60 % (cca 9 otázok) vid. nižšie a 40 % (6 otázok) zameraných na enterprise architektúru a jazyk ArchiMate

  1. OOP Java
  2. Kolekcie
  3. Lokalizácia a Logovanie
  4. NIO.2
  5. JDBC

Z čoho sa máme učiť?
Všetky prezentácie, materiály PDF sú dostupné na Githube na YouTube sú videozáznamy z prednášok. Odporúčam si prejsť testíky, ktoré sa robili na cvičeniach a zdroje k certifikačnej skúške Oracle Java SE 17 Developer 1Z0-829 + ArchiMate a Enterprise Architektúru.

Môžeme používať vlastný PC, notebook, zariadenie?
Nie, budú sa používať zariadenia/počítače školy.

🔥 Hodnotenia, tímový projekt

Vlastný projekt (do 11. cvičenia) – 50 bodov

Budete tímy o 9-10 členoch
V tíme je 1 vedúci (manažér alebo Scrum master), každá skupina si ho demokraticky zvolí alebo sa sám diktátorsky zvolí. Ďalej každý tím bude mať: IT architekta, 2x SW testerov, databázového špecialistu, UX/UI špecialistu/grafika a programátorov. Povinné sú role: Vedúci, IT architekt, tester a programátori. Ostatné sú voliteľné a odporúčané role. Tímy si vedú svoje projekty v Atlassian Jira Software. UML a ArchiMate diagramy modelujú v Enterprise Architecte a odovzdáva sa aj FEAP/QEAP súbor.

A. Projektový zámer (Vision Document) a predstavenie tímu s rozdelením úloh a rôl (RACI matica) – 10 bodov – (cca do 5. cvičenia podľa dátumu miesta odovzdania v AISe) - Projektový zámer odovzdávate ako 1 samostatný PDF dokument (PDF export z Atlassian Confluence)
B. Aplikácia, video prezentácia a dokumentácia vrátane UML (Component diagram), EA ArchiMate diagramov – 40 bodov – (cca do 11. cvičenia podľa dátumu miesta odovzdania v AISe). Aplikácia je napísaná výhradne v Jave (nie Kotlin, nie Scala, nie Clojure, nie JavaScript, nie Python).

✔️ Odovzdávaný UML diagram v dokumentácii:

  • Komponentový diagram (Component diagram)

✔️ Odovzdávané ArchiMate diagramy v dokumentácii:

  1. Biznis a aplikačná vrstva (Hľadisko používania aplikácie)
  2. Technologická vrstva (Technologické hľadisko)
  3. Vrstvový model (Vrstvené hľadisko)

‼️ Každý študent odovzdáva v tíme všetky dokumenty a podklady t.j. aj za projektový zámer aj za Live Code Session aj za celkový vypracovaný projekt, aby mohol dostať v AISe hodnotenie za príslušnú časť a bol oznámkovaný.

💡 Námety na projekty

  1. JDownloader v2
  2. muCommander v2
  3. Gannt Project v2
  4. Plánovač Kurzov a Skúšok vid. prílohy
  5. Slovensko.sk Schránky v2 vid. prílohy

Vlastný projekt MUSÍ obsahovať veci z odprednášaných tém a mať:

  1. Viacvrstvovú architektúru s jasným oddelením minimálne týchto vrstiev:
    – Prezentačná vrstva (GUI)
    – Biznis vrstva (aplikačná logika)
    – Dátová / perzistentná vrstva (JDBC, DB)
    Vrstvy musia byť oddelené balíčkami. Prezentačná vrstva nesmie pristupovať priamo na databázu.

  2. Kolekcie (treba vybrať vhodné dátové štruktúry podľa povahy/architektúry projektu)

  3. Logovanie (Logovanie biznis logiky aplikácie + Logovanie Exceptions/Errors)

  4. Lokalizácia (Preklady a lokalizácia ENG a SK)

  5. XML (Import a export dát do XML)

  6. Regulárne výrazy (Vyhľadávanie s prepínačmi, filtrovanie)

  7. JDBC (pripojenie na vybranú databázu MySQL/PostgreSQL/SQLite/[Oracle Database], ukladanie dát do DB môžu sa použiť aj NoSQL databázy za predpokladu, že použijete JDBC napr. MongoDB). Pri riešení v Swing/JavaFX používate výhradne JDBC a nepoužívate ORM (t. j. nie JPA, Hibernate, EclipseLink, MyBatis). Pri portálovom riešení v Liferay (Community Edition CE) je použitie ORM povolené.

  8. Ošetrenie/validácia vstupov + bezpečnosť (Ochrana voči základným SQL injekciám) a správne zapúzdrené dátové modely (enkapsulácia, prístup cez get/set metódy, žiadne public polia)

  9. GUI aplikácia (Swing, JavaFX) alebo portálové riešenie Liferay (Community Edition CE), nie Android aplikácia, nie Spring a Spring boot aplikácia

  10. Aplikácia by mala byť navrhnutá pre 3 rôznych používateľov/aktérov napr. admin, power/super user, používateľ (user)

  11. 5-8 obrazoviek (Odpoveď na otázku: Aká veľká má byť aplikácia?)

  12. Použitie knižnice Lombok pre automatizáciu generovania opakujúceho sa kódu

V projekte treba dodržovať odporúčané postupy (best practices) a konvencie. Využiť objektovo orientované princípy a techniky bez zbytočných duplicít kódu (DRY). Treba myslieť na príjemné používateľské rozhranie na jednej strane a na druhej na dobrý návrh a štruktúru.

Pri projekte sa odovzdávajú zdrojové kódyprojektový súbor spolu so spustiteľným JAR súborom (+ knižnice/y) a dokumentáciou v miestach odovzdania AIS. Dátum a čas odovzdania si študenti a tímy sledujú sami v AISe a sú povinní ho rešpektovať. V prípade neodovzdania projektu do stanoveného času a dátumu sa projekt hodnotí 0 bodmi. Každý študent musí nahrať tieto súbory do AISu. Rovnako každý tím nahrá všetky súbory do svojho verejného repozitára na GitHub/Gitlab/Bitbucket, aby bol k dispozícii iným tímom v skupine na hodnotenie. Projektové zadanie aj výsledný projekt a jeho projektovú dokumentáciu odovzdávate ako 1 samostatný PDF dokument, v ktorom je všetko, nie porozdelované po súboroch.

Ďalej tím pripraví video (15-20 minút), kde odprezentuje svoje zadanie. Do popisu v miestach odovzdania zašle odkaz na YouTube/Vimeo video. Video musí byť verejne dostupné cez odkaz v popise miesta odovzdania. V prípade nedostupnosti odkazu na video či nefunkčnosti aplikácie sa projekt hodnotí 0 bodmi.

Najprv vo videu ukážete a demonštrujete, ako sa váš program používa a či má ošetrené vstupy, nepadá, out of memory. V druhej časti otvoríte kód a vysvetlíte dôležité časti logiky. Každý člen tímu vysvetľuje svoju časť, ktorú mal na starosti. V prípade, že použijete súbory a zdrojové kódy z internetu je povinné uvádzať všetky použité zdroje. Študent musí rozumieť každému riadku daného kódu a orientovať sa v ňom (aj časti, ktoré boli vytvorené AI a vibe codingom). Nesmie nastať situácia, že toto neviem, čo robí a na čo je, to vytvorili umelá inteligencia alebo AI agent.

Video má odpovedať na otázky:

  1. Ako funguje aplikácia?
  2. Aká je biznis a aplikačná logika/vrstva SW?
  3. Aká je architektúra SW a použité návrhové vzory?
  4. Aké komponenty ste použili a prečo?
  5. Čo ste sa pri tom naučili?
  6. Čo vám robilo problémy (vrásky na tvári)? Ako ste sa s tým vysporiadali?

Berte to ako priateľský rozhovor s potenciálnym technologickým investorom alebo zákazníkom, ktorý je technologicky orientovaný. Video slúži ako vaša príprava na prezenčnú obhajobu projektu.

🏅 Hodnotenie a hodnotiaci kľúč

Video bude súčasťou dokumentácie a projekty sa budú prezentovať a hodnotiť aj priamo na cvičeniach vo forme súťaže medzi jednotlivými tímami. Pri prezentovaní projektu nie sú dovolené používať mobilné zariadenia a papiere k prezentovaniu. Hodnotí sa systémom peer review s vedúcim, ktorý je vyučujúci a má záverečné slovo pri prideľovaní bodov. Vlastný projekt MUSÍ obsahovať veci z odprednášaných tém vid. zoznam 12 požiadaviek vyššie. Každý študent hodnotí aj iné projekty v rámci cvičenia (kvalita/prevedenie/realizácia/splnenie požiadaviek/GUI) do pripraveného dotazníka na hodnotenie. Študent tak môže ovplyvniť výsledné bodové hodnotenie za projekty v rozsahu (0-15 % hodnotenia, samozrejme v rámci povoleného počtu 40 bodov za projekt). Konečné slovo má pri rozhodovaní a prideľovaní bodov vyučujúci. Hodnotí sa a body sa získavajú za prezenčnú obhajobu. Nahrané video slúži ako príprava a je to povinná nebodovaná súčasť projektu. Nefunkčná, padajúca aplikácia alebo aplikácia obsahujúca zjavné chyby alebo chyby, ktoré spôsobujú pád celej aplikácie sa automaticky hodnotia 0 bodmi alebo minimálnym počtom bodov.

📰 Odporúčané zdroje, knihy, príprava na skúšku

📚 Základné knihy:

  1. BLOCH, J. Effective Java. Boston: Addison - Wesley, 2nd edition, 2008. ISBN 03-213-566-8-3
  2. NAFTALIN, M. -- WADLER, P. Java Generics and Collections. Sebastopol, USA: O'Reilly Media, 1st edition, 2006. 286 s. ISBN 05-965-277-5-6
  3. GAMMA, E. -- HELM, R. -- JOHNSON, R. -- VLISSIDES, J. Design Patterns. Elements of Reusable Object-Oriented Software. Boston : Addison Wesley, 1994. 395 s. ISBN 0-201-63361-2
  4. SIERA, K. Head First Java. O'Reilly. 3nd Edition. 2020. 688 s. ISBN 9780596009205
  5. FREEMAN, E. Head First Design Patterns. 2nd Edition. O'Reilly. 2020. 672 s. ISBN 9781492078005

💼 Príprava na skúšku, certifikačnú skúšku OCP:

  1. BOAYRSKY, J. OCP Oracle Certified Professional Java SE 17 Developer Complete Study Guide. 2022. John Wiley. 1110 s. ISBN 978-1-119-86458-5
  2. BOAYRSKY, J. OCP Oracle Certified Professional Java SE 17 Developer Practice Tests. John Wiley. 2022. 780s. ISBN 978-1-119-86461-5
  3. Oracle Certified Professional, Java SE 17 Developer Certification Overview https://education.oracle.com/java-se-17-developer/pexam_1Z0-829

🌐 Elektronické zdroje:

  1. Oracle Java Dokumentácia: Java Platform, Standard Edition 25 API Specification
  2. Oracle Blog java
  3. Dzone Java Spotlight
  4. ArchiMate® 3.2 Specification, a Standard of The Open Group

About

☕ STU FIIT VAVA - Vývoj Aplikácií s Viacvrstvovou Architektúrou, Slovenská technická univerzita v Bratislave Fakulta Informatiky a Informačných Technológií STU FIIT v Bratislave

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors