Lecturer(s)
|
|
Course content
|
1. Introduction to Java language, data types, variables, declaration and assignment, terminal input and output, localization (formatted input and output) 2. Project structure, packages, modules and import of classes, JAR, JAR libraries and their import, Gradle, basic math functions, constants and magic numbers 3. Control flow statements, methods 4. Classes and instances (objects) 5. Arrays, strings and program parameters, debugger, memory arrangement, garbage collector 6. Abstract class, interface, inheritance, inner class, three-tier architecture 7. Collections, typed objects, ordering, searching, work with time and currency, localization (correct ordering in Czech) 8. Exceptions, annotations, unit tests 9. Work with files and folders, file input and output, localization (charsets) 10. Work with JSON and XML, lambda expressions, stream API 11. Threads and parallel stream 12. GUI, properties files and their reading from JAR 13. Reserve, discussion
|
Learning activities and teaching methods
|
- Individual project (40)
- 30 hours per semester
- Preparation for an examination (30-60)
- 22 hours per semester
- Contact hours
- 52 hours per semester
|
prerequisite |
---|
Knowledge |
---|
to practically use the obtained knowledge of basic programming-focused subjects |
to independently write simple programs in any procedural or object-oriented language (e.g. Python, C, C++, C#, PHP, etc.) |
to understand and apply basic notions pof theoretical informatics (e.g. algorithmic complexity) |
to read and understand the documentation in English |
Skills |
---|
to write algorithms of simple to medium problems |
to perform elementary analysis and decompositions of a given problem and to design its algorithmic solution |
to control basic development tools (text editor, command line of OS) and any IDE (e.g. Eclipse) |
Competences |
---|
N/A |
N/A |
N/A |
learning outcomes |
---|
Knowledge |
---|
to describe language statements and data structures of the Java programming language |
to describe basics of object-oriented programming |
to describe basic work with files, collections, time, unit tests, and threads |
Skills |
---|
to write algorithms of simple to medium problems in Java language |
to write a complex program consisting of multiple classes in Java language |
to practically use input and output from/to files, collections, time, unit tests, and threads on a basic level |
Competences |
---|
N/A |
teaching methods |
---|
Knowledge |
---|
Lecture with visual aids |
Lecture supplemented with a discussion |
Task-based study method |
Skills demonstration |
Self-study of literature |
One-to-One tutorial |
Discussion |
Skills |
---|
Lecture |
Lecture supplemented with a discussion |
Interactive lecture |
Practicum |
Task-based study method |
Skills demonstration |
Individual study |
One-to-One tutorial |
Discussion |
Competences |
---|
Lecture with visual aids |
Lecture |
Lecture supplemented with a discussion |
Interactive lecture |
Practicum |
Task-based study method |
Individual study |
Self-study of literature |
One-to-One tutorial |
assessment methods |
---|
Knowledge |
---|
Written exam |
Skills demonstration during practicum |
Continuous assessment |
Skills |
---|
Written exam |
Skills demonstration during practicum |
Continuous assessment |
Competences |
---|
Written exam |
Skills demonstration during practicum |
Continuous assessment |
Recommended literature
|
-
P. Herout. Učebnice jazyka Java - 5. vydání. České Budějovice, 2010. ISBN 978-80-7232-398-2.
-
R. Pecinovský. Java 14. 2020. ISBN 978-80-271-1369-9.
|