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

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorIng. David Ježek, Ph.D.Subject version guarantorIng. David Ježek, Ph.D.
Study levelundergraduate or graduate
Study languageCzech
Year of introduction2019/2020Year of cancellation2023/2024
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
JEZ04 Ing. David Ježek, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 1+2
Part-time Graded credit 16+0

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

Recommended literature:

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

Additional study materials

Way of continuous check of knowledge in the course of semester

Credit tests, semester projects.

E-learning

Materials and information available at https://swi.cs.vsb.cz/jezek/student-information/Java1.html

Other requirements

They are not required. Object oriented programming

Prerequisities

Subject codeAbbreviationTitleRequirement
460-2052 UPR Introduction to Programming Recommended
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

Conditions for completion are defined only for particular subject version and form of study

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction

Předmět neobsahuje žádné hodnocení.