Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2021/2022

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
The course cannot be taken simultaneously with:
Programming 2 (A0B36PR2)
Programování v JAVA (B4B36PJV)
The course is a substitute for:
Programming 2 (A0B36PR2)
Programování v JAVA (B4B36PJV)
Lecturer:
Jiří Vokřínek (guarantor)
Tutor:
Jiří Vokřínek (guarantor), Martin Mudroch, Ladislav Serédi, Rudolf Jakub Szadkowski, Herbert Ullrich, Jan Vanke, 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 2021/2022:
Time-table is not available yet
Time-table for summer semester 2021/2022:
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
AlgDejvice - Veřejná
roomT2:H1-130
Serédi L.
11:00–13:30
(lecture parallel1
parallel nr.102)

Dejvice haly
AlgDejvice - Veřejná
roomT2:H1-130
Mudroch M.
13:30–16:00
(lecture parallel1
parallel nr.115)

Dejvice haly
AlgDejvice - Veřejná
Tue
roomT2:H1-131
Zídek J.
Vanke J.

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

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

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

Dejvice haly
AlgDejvice
Wed
roomT2:H1-130
Mudroch M.
07:30–10:00
(lecture parallel1
parallel nr.105)

Dejvice haly
AlgDejvice - Veřejná
roomT2:H1-130

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

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

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

Dejvice haly
AlgDejvice - Veřejná
roomT4:D2-256
Vokřínek J.
12:45–14:15
(lecture parallel1)
Dejvice
Posluchárna 256
Thu
roomKN:E-307
Serédi L.
07:30–10:00
(lecture parallel1
parallel nr.110)

Karlovo nám.
HW-lab K307
roomKN:E-307
Serédi L.
10:00–12:30
(lecture parallel1
parallel nr.111)

Karlovo nám.
HW-lab K307
Fri
roomT2:H1-130
Szadkowski R.
11:00–13:30
(lecture parallel1
parallel nr.116)

Dejvice haly
AlgDejvice - Veřejná
roomT2:H1-130
Szadkowski R.
13:30–16:00
(lecture parallel1
parallel nr.117)

Dejvice haly
AlgDejvice - Veřejná
The course is a part of the following study plans:
Data valid to 2022-08-12
For updated information see http://bilakniha.cvut.cz/en/predmet5010706.html