Osnove programskog jezika Java
Prikazani su podaci za akademsku godinu: 2023./2024.
Nositelji
Opis predmeta
Java kao programski jezik. Java kao strojno neovisna platforma. Razredi i objekti - nasljeđivanje, polimorfizam, enkapsulacija, skrivanje. Java kolekcije - skupovi, liste, stabla, stogovi, redovi, mape. Java Generics. Višedretvenost i višedretvene aplikacije. Problemi sinkronizacije i sinkronizacijski mehanizmi (muteksi, semafori, barijere). Izrada aplikacija s grafičkim korisničkim sučeljem: AWT i Swing; uporaba postojećih i razvoj vlastitih komponenti. MVC paradigma. Razvoj tjeran testovima (Test Driven Development). Rad s datotekama i datotečnim sustavom. Rad s podatkovnim slijedovima (streams). Raspodijeljene aplikacije (paket java.net). Uporaba UDP i TCP protokola. HTTP protokol. Razvoj Web aplikacija. Tehnologije Java Servlet i Java Server Pages (JSP). Web formulari. Apache Tomcat. Sigurnost u Web aplikacijama. Dodatne tehnologije: ANT, Hibernate, MySQL. Rad s bazama podataka. Preslikavanje objekata u relacije (O/R mapping).
Studijski programi
Sveučilišni preddiplomski
Vještine - 4. semestar (4. semestar) Vještine - 6. semestar (6. semestar)[FER3-HR] Računarstvo - studij
Vještine - 4. semestar
(4. semestar)
Vještine - 6. semestar
(6. semestar)
[FER2-HR] Automatika - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Bežične komunikacijske tehnologije - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Elektroenergetika - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Elektroničko i računalno inženjerstvo - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Elektronika - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Elektrotehnika i informacijska tehnologija - studij
Vještine - 4. semestra
(4. semestar)
[FER2-HR] Obradba informacija - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Računalno inženjerstvo - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Računarska znanost - modul
Vještine - 6.semestra
(6. semestar)
[FER2-HR] Računarstvo - studij
Vještine - 4. semestra
(4. semestar)
[FER2-HR] Telekomunikacije i informatika - modul
Vještine - 6.semestra
(6. semestar)
Sveučilišni diplomski
Vještine - dipl.studij_FER3 - 2. semestar (2. semestar) Vještine - dipl.studij_FER3 - 2. semestar (2. semestar)[FER3-HR] Računarstvo - studij
Vještine - dipl.studij_FER3 - 2. semestar
(2. semestar)
[FER2-HR] Automatika - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Bežične komunikacijske tehnologije - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Elektroenergetika - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Elektroničko i računalno inženjerstvo - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Elektronika - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Elektrotehnički sustavi i tehnologija - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Obradba informacija - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Programsko inženjerstvo i informacijski sustavi - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Računalno inženjerstvo - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Računarska znanost - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
[FER2-HR] Telekomunikacije i informatika - profil
Vještine - dipl.studij - 2. semestar
(2. semestar)
Opće kompetencije
Studenti će moći razvijati samostalne (desktop) aplikacije kao i web aplikacije uporabom programskog jezika Java. Znat će koristiti ugrađene kolekcije podataka, raditi s datotekama, razviti korisničko sučelje te iskoristiti višedretvenost. Moći će napisati distribuirane aplikacije koje komuniciraju putem mreže. Znat će povezati program s relacijskom bazom podataka te koristiti O/R podsustav. Razumjet će kako rade web aplikacije te kako se pišu.
Ishodi učenja
- kreirati programe pisane u programskom jeziku Java
- koristiti Javin okvir kolekcija za organizaciju podataka te raditi s datotekama
- razviti korisničko sučelje uporabom tehnologije Swing
- primijeniti višedretvenost
- povezati aplikaciju s relacijskom bazom podataka te koristiti O/R podsustav
- dizajnirati web poslužitelj te koristiti tehnologije servleta i JSP-a za izgradnju web aplikacija
- razviti distribuirane aplikacije koje komuniciraju putem mreže računala
Oblici nastave
Predavanja
Održavaju se u računalnim laboratorijima pri čemu studenti mogu isprobavati primjere koji se rade kao i rješavati zadatke.
Provjere znanjaStudenti će dobiti niz zadataka koje trebaju rješavati samostalno u okviru redovnih domaćih zadaća. Na kraju se zadaje samostalni studentski projekt koji je također uvjet.
Tjedni plan nastave
- Uvod. Java kao jezik, Java kao platforma. Prvi program
- Razredi i objekti. Reference
- Razvoj temeljen na testovima
- Java kolekcije (1)
- Rad s datotekama
- Java kolekcije (2)
- Višedretvene aplikacije
- Swing (1)
- Swing (2)
- Distribuirane aplikacije. java.net paket
- Razvoj Web aplikacija.
- Web formulari. Tomcat. Sigurnost u Web aplikacijama.
- Dodatne tehnologije (ANT, Hibernate, MySQL)
Literatura
Marko Čupić (2007.), Materijali za Java tečaj,
Kent Beck (2006.), Test-Driven Development, By Example, Addison-Wesley, Boston
(.), Tutorijali s http://java.sun.com/,
Bruce Eckel (2002.), Thinking in Java, 3rd Edition (Free electronic book), Prentice-Hall
Za studente
Izvedba
ID 38047
Ljetni semestar
4 ECTS
R0 Engleski jezik
R1 E-učenje
60 Predavanja
0 Seminar
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe
0 Vježbe tjelesnog odgoja
Ocjenjivanje
izvrstan
vrlo dobar
dobar
dovoljan