460-2058/02 – Java Programming I (JAVA I)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Jan Kožusznik, Ph.D. | Subject version guarantor | Ing. Jan Kožusznik, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory type B |
Year | 2 | Semester | winter |
| | Study language | English |
Year of introduction | 2019/2020 | Year of cancellation | |
Intended for the faculties | FEI | Intended for study types | Bachelor |
Subject aims expressed by acquired skills and competences
In Java, student is familiar with:
-difference between inheritance as class extension and subtyping as interfaces;
-type system and difference between primitive types and object types;
-casting among different primitive types and object types;
-auto boxing and unboxing between primitive and wrapper types;
-accessing filesystem;
-interprocess communication through Internet connection.
In Java, student can:
-construct runnable program;
-design and implement a class;
-use subclassing to design class hierarchies;
-separate code to namespaces and access elements for different namespaces;
-use dynamic dispatch;
-use interfaces as encapsulation mechanism;
-handle and propagate errors by exception mechanism;
-use Collection framework for data abstraction and construction for-each,
-process strings with regular expressions;
-read and write data from text files and binary files;
-use lambda expression;
-run parallel code in separate thread
In Java, student is able assess alternative implementation of collections with respect of performance
Teaching methods
Lectures
Tutorials
Experimental work in labs
Project work
Summary
Students improve their knowledge of object oriented programming a gain another insight in programming languages problematics from point fo view of modern programming language Java. Course follows courses „Introduction to programming“ and „Object oriented programming“ and students are required to pass these courses successfully before enrollment into the course.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
homework, tests, oral exam
E-learning
Other requirements
Knowledge of the object oriented design and skill in the field of the object oriented programming.
Prerequisities
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
1. Description of Java technology architecture.
2. Data types and programming constructions in Java.
3. Class definition, overriding in Java. Packages.
4. Interface – definition, using, implementation.
5. Class extension. Nested classes, simple lambda expressions.
6. User interface in JavaFX.
7. Generic data types. Exceptions.
8. Collections framework.
9. Strings and regular expressions.
10. Input/Output.
11. Working with filesystem and an advanced working with I/O.
12. Threads and synchronization.
13. Internet communication.
Labs:
1. Description of Java technology architecture.
2. Data types and programming constructions in Java.
3. Class definition, overriding in Java. Packages.
4. Interface – definition, using, implementation.
5. Class extension. Nested classes, simple lambda expressions.
6. User interface in JavaFX.
7. Generic data types. Exceptions.
8. Collections framework.
9. Strings and regular expressions.
10. Input/Output.
11. Working with filesystem and an advanced working with I/O.
12. Threads and synchronization.
13. Internet communication.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction