460-2058/02 – Java Programming I (JAVA I)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorIng. Jan Kožusznik, Ph.D.Subject version guarantorIng. Jan Kožusznik, Ph.D.
Study levelundergraduate or graduateRequirementChoice-compulsory type A
Year2Semesterwinter
Study languageEnglish
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
KOZ01 Ing. Jan Kožusznik, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+2

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:

SCHILDT, Herbert, 2017. Java: A Beginner’s Guide, Seventh Edition. 7 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58931-7.

Recommended literature:

Oracle.The Java™ Tutorials. accessed September 21, 2016,http://docs.oracle.com/javase/tutorial/index.html. 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

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

Subject codeAbbreviationTitleRequirement
460-2055 OOP Object Oriented Programming Recommended

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

Full-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Graded credit Graded credit 100 (100) 51
        Test 01 Written test 5  0
        Test 02 Written test 10  5
        Homeworks Other task type 10  0
        Project Semestral project 30  15
        Final Test Written test 45  25
Mandatory attendence parzicipation: Every student has to obtain at least the minimum number of points for each task. lectures - at least 70% laboratories - at least 90%

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2020/2021 (B0714A060019) Biomedical Assistive Technology P English Ostrava 2 Choice-compulsory type B study plan
2020/2021 (B0613A140010) Computer Science IJA P English Ostrava 2 Choice-compulsory type A study plan
2020/2021 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 2 Choice-compulsory study plan
2020/2021 (B0714A060009) Mobile Technology P English Ostrava 2 Compulsory study plan
2020/2021 (B0541A170009) Computational and Applied Mathematics P English Ostrava 2 Optional study plan
2019/2020 (B0613A140010) Computer Science IJA P English Ostrava 2 Choice-compulsory type A study plan
2019/2020 (B0541A170009) Computational and Applied Mathematics P English Ostrava 2 Optional study plan
2019/2020 (B0714A060009) Mobile Technology P English Ostrava 2 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner