Course Unit Code | 460-2058/01 |
---|
Number of ECTS Credits Allocated | 4 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 delivered | Winter Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | |
---|
| Prerequisities | Course Unit Code | Course Unit Title |
---|
| 460-2052 | Introduction to Programming |
| 460-2055 | Object Oriented Programming |
Name of Lecturer(s) | Personal ID | Name |
---|
| KOZ01 | Ing. 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 Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 (100) | 51 |
1. test praktických znalostí | Written test | 5 | 0 |
2. test praktických znalostí | Written test | 10 | 5 |
Průběžný test znalostí | Other task type | 10 | 0 |
Semestrální projekt | Semestral project | 30 | 15 |
Zápočtový test | Written test | 45 | 20 |