Faculty of Information Technology, BUT

Course details

Java Programming Language (in English)

IJAe Acad. year 2018/2019 Winter semester 5 credits

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

Guarantor

Kočí Radek, Ing., Ph.D. (DITS FIT BUT)

Language of instruction

English

Completion

Classified Credit (written)

Time span

26 hrs lectures, 12 hrs pc labs, 14 hrs projects

Assessment points

20 half-term test, 20 labs, 60 projects

Department

Lecturer

Kočí Radek, Ing., Ph.D. (DITS FIT BUT)

Instructor

Matyáš Jiří, Ing. (DITS FIT BUT)

News

  • The test (final exam) will be on December 12, 12:00, in the lecture room (G202).
  • This course is prepared for incoming Erasmus+ students only, and it is instructed in English.
  • This course will be open if a certain/sure minimum of enrolled students is at least five students.


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.

Generic learning outcomes and competences

Basis of object oriented programming. Knowledge of basic design patterns.

Learning objectives

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

Prerequisite kwnowledge and skills

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

Study literature

  • Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
  • Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 in Action (Lambdas, streams, and functional-style programming). Manning, 2015.

Fundamental literature

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

Syllabus - others, projects and individual work of students

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

Controlled instruction

  • Work out homeworks and the project.

Exam prerequisites

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

Schedule

DayTypeWeeksRoomStartEndLect.grpGroupsInfo
Tueother2018-12-11 A218 10:0013:50IJAe - obhajoba projektu
Tueother2018-12-18 A218 10:0010:50IJAe - obhajoba projektu
Wedlecturelectures G202 12:0013:50 INTE
Wedcomp.lablectures N205 14:0015:50 INTE
Thuother2019-01-10 A218 10:0015:50IJAe - project presentation
Back to top