Ko Programiranje 1 študenta uvede v čare programerskega razmišljanja, je čas za Programiranje 2, kjer mu razširimo in poglobimo perspektivo.  Spoznali bomo sodoben, splošno namenski, hiter, varen, robusten, predmetno usmerjen programski jezik Java.  Jezik je zelo priljubljen in razširjen in sodi v nujno splošno izobrazbo vsakega sodobnega računalnikarja. Poleg pojmov, ki se nanašajo na konkretne programske konstrukte (podatkovni tipi, spremenljivke, izrazi, operatorji, pomnilnik, ...), bodo študentje spoznali programerske pristope, ki se uporabljajo v praksi in načine reševanja problemov. Naučili se bodo delati z datotekami, izjemami in podatkovnimi zbirkami ter napisati javanski okenski program z vsemi elementi grafičnega uporabniškega vmesnika.

Predmet je zelo praktično naravnan. Za vsak predstavljen teoretični koncept ali programski konstrukt je na  predavanjih prikazana tudi njegova uporaba v konkretnih primerih. Preko nalog, ki jih študentje rešujejo na vajah in doma kot domače naloge, pa imajo priložnost, da pridobljeno znanje utrjujejo in poglabljajo.

Študent v okviru tega predmeta samostojno reši približno 25 različnih nalog, polovico od tega na vajah, drugo polovico pa doma.  S tem pridobi dovolj "kilometrine", da mu Java postane priročno in dobro poznano orodje za reševanje različnih problemov, na katere bo naletel v prihodnjih letih na fakulteti in kasneje na delovnem mestu.   

The aim of this course is to present in detail  a  modern, general purpose, fast, secure, robust, object-oriented programming language Java in details.  In addition to the concepts related to specific programming elements (data types, variables, expressions, operators, memory access,  ...), students will learn programming techniques used in practice and ways of solving problems. They will learn about files, exceptions, collections, and GUI programming.

This course is practically oriented. For each theoretical concept or programming construct that is presented during the semester, a practical usage is also given. Through tasks that students solve within this course, they have the opportunity to consolidate their knowledge and to go deeper into the subject.