Programming in Java
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 Tue Wed Thu Fri - The course is a part of the following study plans:
-
- Software Engineering and Technology (compulsory course in the program)
- Open Informatics - Computer Science 2016 (compulsory course in the program)
- Open Informatics - Internet of Things 2016 (compulsory course in the program)
- Open Informatics - Software 2016 (compulsory course in the program)
- Open Informatics - Computer Games and Graphics 2016 (compulsory course in the program)
- Open Informatics (compulsory course in the program)
- Open Informatics (compulsory course in the program)
- Open Informatics - Artificial Intelligence and Computer Science 2018 (compulsory course in the program)
- Open Informatics - Internet of Things 2018 (compulsory course in the program)
- Open Informatics - Software 2018 (compulsory course in the program)
- Open Informatics - Computer Games and Graphics 2018 (compulsory course in the program)
- Software Engineering and Technology (compulsory course in the program)
- Software Engineering and Technology (compulsory course in the program)
- Software Engineering and Technology (compulsory course in the program)
- Software Engineering and Technology (compulsory course in the program)
- Software Engineering and Technology (compulsory course in the program)