Course details

Java Programming Language

IJA Acad. year 2017/2018 Summer semester 4 credits

Current academic year

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

Guarantor

Language of instruction

Czech, English

Completion

Credit (written)

Time span

  • 26 hrs exercises
  • 13 hrs projects

Assessment points

  • 100 pts projects

Department

Subject specific learning outcomes and competences

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 and Java programming techniques.

Learning objectives

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

Recommended prerequisites

Prerequisite knowledge and skills

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

Study literature

  • 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

Fundamental literature

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

Syllabus of seminars

Syllabus of lectures:
  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 import.
  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.

Syllabus - others, projects and individual work of students:
  1. homeworks
  2. project (a small application in Java)

Progress assessment

  • 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.

Controlled instruction

There are no checked study.

Course inclusion in study plans

  • Programme IT-BC-3, field BIT, 2nd year of study, Compulsory-Elective
Back to top