Skip to main content
Skip header

Java Programming I

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2058/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory type B
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites
PrerequisitiesCourse Unit CodeCourse Unit Title
460-2052Introduction to Programming
460-2055Object Oriented Programming
Name of Lecturer(s)Personal IDName
KOZ01Ing. Jan Kožusznik, Ph.D.
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.
Learning Outcomes of the Course Unit
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
Course Contents
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.
Recommended or Required Reading
Required Reading:
SCHILDT, Herbert, 2017. Java: A Beginner’s Guide, Seventh Edition. 7 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58931-7.
Oracle.The Java™ Tutorials. accessed September 21, 2016,http://docs.oracle.com/javase/tutorial/index.html.
SCHILDT, Herbert a Jakub GONER, 2016. Java 8: výukový kurz. 1. vydání. Brno: Computer Press. ISBN 978-80-251-4665-1.
Oracle.The Java™ Tutorials. accessed September 21, 2016,http://docs.oracle.com/javase/tutorial/index.html.
Recommended Reading:
KOŽUSZNIK, Jan. Programming language 1. Opory k předmětu vzniklé v rámci projektu InterDV.
SCHILDT, Herbert, 2017. Java: The Complete Reference, Tenth Edition. 10 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58933-1.
Bruce Eckel: Thinking in Java, ISBN: 978-0131872486
Joshua Bloch: Effective Java, ISBN: 978-0321356680
KOŽUSZNIK, Jan. Programming language 1. Opory k předmětu vzniklé v rámci projektu InterDV.
SCHILDT, Herbert, 2017. Java: The Complete Reference, Tenth Edition. 10 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58933-1.
Bruce Eckel: Thinking in Java, ISBN: 978-0131872486
Joshua Bloch: Effective Java, ISBN: 978-0321356680
Planned learning activities and teaching methods
Lectures, Tutorials, Experimental work in labs, Project work
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        1. test praktických znalostíWritten test5 0
        2. test praktických znalostíWritten test10 5
        Průběžný test znalostíOther task type10 0
        Semestrální projektSemestral project30 15
        Zápočtový testWritten test45 20