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
Automatika (modul)
Vještine - 6.semestra (6. semestar)
Elektroenergetika (modul)
Vještine - 6.semestra (6. semestar)
Elektroničko i računalno inženjerstvo (modul)
Vještine - 6.semestra (6. semestar)
Elektronika (modul)
Vještine - 6.semestra (6. semestar)
Elektrotehnika i informacijska tehnologija (studij)
Vještine - 4. semestra (4. semestar)
Obradba informacija (modul)
Vještine - 6.semestra (6. semestar)
Programsko inženjerstvo i informacijski sustavi (modul)
Vještine - 6.semestra (6. semestar)
Računalno inženjerstvo (modul)
Vještine - 6.semestra (6. semestar)
Računarska znanost (modul)
Vještine - 6.semestra (6. semestar)
Računarstvo (studij)
Vještine - 4. semestra (4. semestar)
Radiokomunikacijske tehnologije (modul)
Vještine - 6.semestra (6. semestar)
Telekomunikacije i informatika (modul)
Vještine - 6.semestra (6. semestar)
Sveučilišni diplomski
Automatika (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Elektroenergetika (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Elektroničko i računalno inženjerstvo (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Elektronika (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Elektrotehnički sustavi i tehnologija (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Obradba informacija (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Računalno inženjerstvo (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Računarska znanost (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
Radiokomunikacijske tehnologije (profil)
Vještine - dipl.studij - 2. semestar (2. semestar)
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

Izvedba

ID 38047
  Ljetni semestar
4 ECTS
R0 Engleski jezik
R1 E-učenje
60 Predavanja
0 Auditorne vježbe
15 Laboratorijske vježbe

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan