Osnove programskog jezika Java

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).

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

  1. kreirati programe pisane u programskom jeziku Java
  2. koristiti Javin okvir kolekcija za organizaciju podataka te raditi s datotekama
  3. razviti korisničko sučelje uporabom tehnologije Swing
  4. primijeniti višedretvenost
  5. povezati aplikaciju s relacijskom bazom podataka te koristiti O/R podsustav
  6. dizajnirati web poslužitelj te koristiti tehnologije servleta i JSP-a za izgradnju web aplikacija
  7. 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 znanja

Studenti ć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

  1. Uvod. Java kao jezik, Java kao platforma. Prvi program
  2. Razredi i objekti. Reference
  3. Razvoj temeljen na testovima
  4. Java kolekcije (1)
  5. Rad s datotekama
  6. Java kolekcije (2)
  7. Višedretvene aplikacije
  8. Swing (1)
  9. Swing (2)
  10. Distribuirane aplikacije. java.net paket
  11. Razvoj Web aplikacija.
  12. Web formulari. Tomcat. Sigurnost u Web aplikacijama.
  13. Dodatne tehnologije (ANT, Hibernate, MySQL)

Studijski programi

Sveučilišni preddiplomski
[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)
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)

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

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan