Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2024/2025

Programming in Java

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
B0B36PJV Z,ZK 6 2P+3C+7D Czech
Relations:
During a review of study plans, the course B4B36PJV can be substituted for the course B0B36PJV.
It is not possible to register for the course B0B36PJV if the student is concurrently registered for or has already completed the course A0B36PR2 (mutually exclusive courses).
It is not possible to register for the course B0B36PJV if the student is concurrently registered for or has already completed the course B4B36PJV (mutually exclusive courses).
During a review of study plans, the course A0B36PR2 can be substituted for the course B0B36PJV.
Course guarantor:
Jiří Vokřínek
Lecturer:
Martin Mudroch, Ladislav Serédi, Jiří Vokřínek
Tutor:
Miroslav Balík, Miroslav Jarý, Martin Mudroch, Ladislav Serédi, Rudolf Jakub Szadkowski, Herbert Ullrich, Jan Vanke, Jiří Vokřínek, Jan Zídek
Supervisor:
Department of Computer Science
Synopsis:

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.

Requirements:

Basic knowledge of algorithms and programming.

Syllabus of lectures:
Syllabus of tutorials:

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.

Study Objective:

The aim of the course is to develop students' programming skills and expand their knowledge of programming languages by the basics and specifics of the Java programming language. The course is based on an object-oriented approach, students deepen their knowledge of programming methods and get acquainted with the Java programming interface for multithreaded programming, using data collections, exception handling, graphical user interface creation and event-driven programming.

Study materials:

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.

Note:
Further information:
https://cw.fel.cvut.cz/wiki/courses/b0b36pjv
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 2024/2025:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
roomT2:H1-130
Serédi L.
08:15–10:45
(lecture parallel1
parallel nr.101)

Dejvice haly
roomT2:H1-130
Mudroch M.
11:00–13:30
(lecture parallel1
parallel nr.102)

Dejvice haly
roomT2:A4-405
Mudroch M.
16:15–18:45
(lecture parallel1
parallel nr.113)

Dejvice
roomT2:H1-130
Mudroch M.
13:30–16:00
(lecture parallel1
parallel nr.115)

Dejvice haly
Tue
roomT2:H1-130
Zídek J.
Vanke J.

07:30–10:00
(lecture parallel1
parallel nr.103)

Dejvice haly
roomT2:H1-130
Zídek J.
Vanke J.

10:00–12:30
(lecture parallel1
parallel nr.104)

Dejvice haly
roomKN:E-307
Serédi L.
08:15–10:45
(lecture parallel1
parallel nr.109)

Karlovo nám.
Wed
roomT2:H1-130
Jarý M.
07:30–10:00
(lecture parallel1
parallel nr.105)

Dejvice haly
roomT2:H1-130
Jarý M.
10:00–12:30
(lecture parallel1
parallel nr.106)

Dejvice haly
roomT2:H1-130
Mudroch M.
14:30–17:00
(lecture parallel1
parallel nr.107)

Dejvice haly
roomT2:H1-130
Mudroch M.
17:00–19:30
(lecture parallel1
parallel nr.108)

Dejvice haly
roomT4:D2-256
Vokřínek J.
Serédi L.

12:45–14:15
(lecture parallel1)
Dejvice
Thu
roomT2:H1-131
Serédi L.
07:30–10:00
(lecture parallel1
parallel nr.110)

Dejvice haly
roomT2:H1-131
Serédi L.
10:00–12:30
(lecture parallel1
parallel nr.111)

Dejvice haly
Fri
roomT2:H1-130
Szadkowski R.
09:15–11:45
(lecture parallel1
parallel nr.116)

Dejvice haly
roomT2:A4-405
Balík M.
13:30–16:00
(lecture parallel1
parallel nr.114)

Dejvice
roomT2:A4-405
Balík M.
11:00–13:30
(lecture parallel1
parallel nr.112)

Dejvice
roomT2:H1-130
Szadkowski R.
11:45–14:15
(lecture parallel1
parallel nr.117)

Dejvice haly
The course is a part of the following study plans:
Data valid to 2024-12-03
For updated information see http://bilakniha.cvut.cz/en/predmet5010706.html