Programming in Java

Semestr: Summer

Range: 14KP+9KC


Credits: 6

Programme type:

Study form: Parttime

Course language:

Time table at FEE


The course builds on the basics of algorithms and programming from the first semester and introduces students to the Java environment. The course also focus on the object concept of the Java language. The topics of the course includes exceptions, event handling, and building a graphical interface. Basic library methods, working with files and using generic types will be introduced. An important topic is models of multithreaded applications and their implementation. Practical exercises of practical skills and knowledge of Java is tested in the form of solving partial tasks and semester work, which will be submitted continuously through the source code version control system. The semester work scoring consists of points for the correctness and efficiency of the code, as well as points that take into account the quality of the source codes, their readability and reusability.


Course syllabus:

Seminar syllabus:

1. Concept, history of the language and its development - Java Virtual Machine, installation of the development environment, translation and interpretation, syntax, primitives and basic constructs.
2. Object-oriented programming in Java programming language, classes, interfaces and objects; program structure, compilation and execution, passing parameters, applications and applets.
3. Program run control, basic data types, variables, operators, exceptions.
4. Arrays, strings, basic data collections and iterators.
5. Principles of object approach, classes and inheritance, access control, class hierarchy, inheritance, composition, abstract classes, polymorphism.
6. Data collections and generic data types.
7. Working with files, data streams, models of I / O operations.
8. Networking - methods and models of communication, network APIs in Java programming language, UDP, TCP and HTTP protocols. Client / server application.
9. Parallel programming - threads and models of multithreaded applications, synchronization primitives.
10. Example of multithreaded application and communication between threads; JNI interface.
11. Graphical user interface, events and listeners, Java 2D / 3D, AWT and Swing libraries.
12. User interface control, multimedia interface.
13. Distributed programming - serialization, interconnection of modules (middleware) and remote function calls, Java RMI interface and others, eg ICE.
14. Coding conventions and styles, translation management tools, logging; Reserve.


Recommended literature:
1. Herout, P .: Java Language Textbook, Kopp, Č. Budějovice, 2000, p. 350.
2. Herout, P .: Java II Textbook, Kopp, Č. Budějovice, 2001, p. 350.
3. Eckel, B .: Thinking in Java, Prentice Hall, 2006, p. 1150.