Course detail

Java Programming Language (in English)

FIT-IJAeAcad. year: 2019/2020

Object orientation. Java - language, objects, classes, programming techniques, libraries, development environments. Design patterns. Debugging and testing tools. Graphic user interface, threads.

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

Offered to foreign students

Of all faculties

Learning outcomes of the course unit

Ability to apply object oriented approach for application development using Java language. Experiences with design patterns and graphic user interface (Swing) in Java.
Basis of object oriented programming. Knowledge of basic design patterns.

Prerequisites

Basics of imperative programming (language C) and algorithm development.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

  • Work out all homework.
  • Work out and present the project.
  • Write a test.
  • Get at least 20 points from the project and at least 50 points in total.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The goal is to introduce students to object-oriented programming in Java.

Specification of controlled education, way of implementation and compensation for absences

  • Work out homeworks and the project.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Basic literature

Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW] 

Recommended reading

Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
The Java Tutorials. https://docs.oracle.com/javase/tutorial/
Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW]

Classification of course in study plans

  • Programme IT-BC-1H Bachelor's

    branch BCH , any year of study, winter semester, recommended

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

  1. Introduction: History, tools, distributions, Java Virtual Machine (JVM). Basis of object orientation: object, class, interface, abstraction, encapsulation, constructors.
  2. Data types. Class declaration, access modifiers. Structure of application in Java, packages, compilation, run, import classes.
  3. Inheritance, polymorphism. Object initialization. Arrays. Debugging using assert.
  4. Inheritance hierarchy, type checking, type casting, object comparison. Interface in Java. Debugging tools.
  5. Exceptions. Abstract classes, nested (inner) classes, enumeration, static classes and variables.
  6. Containers: Iterators, collection, set, lits, map. Generics in containers. For-each loop, auto-boxing.
  7. Threads: Sharing, planning, synchronization.
  8. Graphic user interface JFC/Swing. Technique of application design.
  9. Input/Output operations, streams.
  10. Design patterns. Programming language guide.
  11. Generics.
  12. JVM: Class loading, memory management, garbage collector, profiling.
  13. Java Enterprise Edition: Basic overview.

Exercise in computer lab

12 hours, compulsory

Teacher / Lecturer

Project

14 hours, compulsory

Teacher / Lecturer

Syllabus

  1. Homeworks,
  2. project (a small application with GUI in Java).