Topic outline
General
Kolokviji in izpiti
Projekt
Predavanja
Predavanja potekajo od 8h do 10h ob ponedeljkih v predavalnici 2.02.
Prvo predavanje je 14. februarja, zadnje je 30. maja. Predavanja ne bo 18. aprila (velika noč) in 2. maja (praznik).
Od 21. februarja bodo predavanje v živo in istočasno preko Zooma (Meeting ID: 992 7739 2157, Passcode: 267318, povezava)
Predavanje 1 (14. 02. 2022): Struktura predmeta. Primer programiranja v Javi z uporabo IDEa Eclipse: HelloWorld. Dva programa za Hanojske Stolpe. Značilnosti jezika Java: razredi (classes), metodi (methods), tipi (types), zanke (loops), itn. (V mapi je 3. program sa Hanojske stolpe, ki uporabi tabele.)
Predavanje 2 (21. 02. 2022): Referenčni tipi (reference types), tabele (arrays) in tabelni tipi, primeri: quicksort in množenje matrik. Programiranje z datotekami.
Predavanje 3 (28. 02. 2022): Objekti (objects), razredi (classes), abstraktni rzredi (abstract classes), vmesniki (interfaces).
Predavanje 4 (07. 03. 22): Risanje s Swingom. Program ki nariše pot Brownovega gibanja. JFrame in JPanel. Abstraktni razred Lik za like z konkretnimi razredi Okrog, Kvadrat in Trikotnik.
Tehnične težave: Zoom ni delal na predavalničnem računalniku. Zaradi tega sem uporabil kamero na prenosniku. Internet se je prekinalo med predavanjem. Za nekaj minut na začetku sem pozabil "pin"ati svoj video.
Predavanje 5 (14. 03. 22): Razred za pravilni mnogokotnik. Vmesnika MouseListener in MouseMotionListener. Aplikacija Liki, ki uporablja abstraktni razred Lik. Aplikacija Tabla, ki uporablja Path2D.
Od 12:00 do 19:00 sem pozabil prekiniti deležitev zaslona, medtem ko sem pisal na tablo.
(21. 03. 2022): ni bilo predavanja zaradi odsotnosti.
Predavanje 6 (28. 03. 22): Programiranje grafičnega vmesnika s Swingom: LayoutManager, JButton, JSlider, JLabel, ActionListener, ChangeListener, Serializable.
Predavanje 7 (04. 04. 22): Razred "Object" in metode equals, toString & hashCode. Primerjava equals in == za nize. Tipi tipa "enum". Paketi. Modifikatori in dostop polj in metod. Implementacija logike za igro "Tic Tac Toe".
Pozabil sem deliti zaklon v prvi polovici posnetka.
Predavanje 8 (11. 04. 22): Programiranje grafičnega umesnika za igro TicTacToe. Razred SwingWorker, ki kombinira niti s Swingom.
Predavanje 9 (25. 04. 22): Umetna inteligenca za igro: algoritem minimax in obrezovanje alfa-beta.
Predavanje 10 (09. 05. 22): Umetna inteligenca za igro: učinkovito kodiranje igre; algoritem MCTS (Monte Carlo Tree Search).
Razred seznamov potez. Objekti so nespremljivi.
(16. 05. 2022): Projektna delavnica v 3.11
(23. 05. 2022): Projektna delavnica v 3.11
Tekmovanje (30. 05. 22): Čestitamo zmagovalni ekipi: Matiji Kocbeku in Jobu Petrovčiču!
Vaje
Vaje bodo potekale ob sredah v dveh skupinah (od 8h do 10h ter od 12h do 14h) v učilnici 3.10.
Katero skupino vaj želite obiskovati, si izberite v spodnji anketi.
Začnemo 16. februarja.Gradivo o Javi
Priporočena literatura:
- Kathy Sierra, Bert Bates: Head First Java, 2nd Edition, O'Reilly Media (2005)
- Peter Mrhar: Java 2 - Prvi korak , Flamingo (2002).
- Peter Sestoft: Java Precisely, 3rd Edition, MIT Press (2016)
- Kathy Sierra, Bert Bates: Head First Java, 2nd Edition, O'Reilly Media (2005)
Uradna specifikacija programskega jezika Java. Tu so zapisane vse podrobnosti o Javi. Priporočamo za branje pred spanjem.
Dokumentacija za standardno knjižnico.
Poleg učbenikov za Javo so tu zbrani tudi prosto dostopni učbeniki za ostale programske jezike.
Uvodni tečaj iz programiranja v Javi.
Uvodni tečaj o uporabi Eclipse (integrirano razvojno okolje za Javo)