Course detail

Java Programming Language

FIT-IJAAcad. year: 2018/2019

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

Language of instruction

Czech

Number of ECTS credits

4

Mode of study

Not applicable.

Learning outcomes of the course unit

Ability to apply object oriented approach for application development using Java language. Experiences with design patterns and graphical user interface (Swing) in Java.

Basis of object oriented programming. Knowledge of basic design patterns and Java programming techniques.

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

  • Having at least 1 point of the possible point evaluation of each homework.
  • Having at least 50% of the possible point evaluation of the project.

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

  • Elaboration of homeworks and the project.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Basic literature

Eckel, B.: Thinking in Java (4th Edition), 2006, ISBN: 978-0131872486 [starší edice dostupné elektronicky na WWW]

Recommended reading

Eckel, B.: Thinking in Java (4th Edition), 2006, ISBN: 978-0131872486 [starší edice dostupné elektronicky na WWW]
Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 & 9 in Action, Second Editition (Lambda, streams, functional and reactive programming). Manning, 2018.

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

    branch BIT , 2 year of study, summer semester, compulsory-optional

Type of course unit

 

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

  1. homeworks
  2. project (a small application in Java)

Seminar

26 hod., optionally

Teacher / Lecturer

Syllabus

  1. Introduction to Java: history, tools, distribution. Basic concepts: object, class, interface, constructor.
  2. Data types. Class declarations, access modifiers. Build and run application, application structure (packages), import classes.
  3. Inheritance, object initialization, inheritance hierarchy (Object class). Type conversion. Assert.
  4. Abstract class, interface. Type checking, type casting, object comparison. Array.
  5. Object oriented design and implementation in Java. Design Patterns.
  6. Tools: document generation, Java Archive (JAR), Apache Ant, JUnit (debugging). Annotation.
  7. Exceptions. Nested classes, enumeration type, varargs. Lambdas.
  8. Containers: iterator, collection, list, set, map. Generic containers. For-each loop, autoboxing.
  9. Threads: Planning, Sharing, Synchronization.
  10. Graphical User Interface JFC / Swing. MVC, Observer, and Command Patterns.
  11. Input Output streams. Sockets. Collecting data with streams.
  12. Java 8: interface, generics. Java programming principles.
  13. JVM: class loading, memory management, garbage collector, profiling.