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
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Basis of object oriented programming. Knowledge of basic design patterns and Java programming techniques.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
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
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
- Elaboration of homeworks and the project.
Recommended optional programme components
Prerequisites and corequisites
- recommended prerequisite
Introduction to Programming Systems
Basic literature
Recommended reading
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
Type of course unit
Project
Teacher / Lecturer
Syllabus
- homeworks
- project (a small application in Java)
Seminar
Teacher / Lecturer
Syllabus
- Introduction to Java: history, tools, distribution. Basic concepts: object, class, interface, constructor.
- Data types. Class declarations, access modifiers. Build and run application, application structure (packages), import classes.
- Inheritance, object initialization, inheritance hierarchy (Object class). Type conversion. Assert.
- Abstract class, interface. Type checking, type casting, object comparison. Array.
- Object oriented design and implementation in Java. Design Patterns.
- Tools: document generation, Java Archive (JAR), Apache Ant, JUnit (debugging). Annotation.
- Exceptions. Nested classes, enumeration type, varargs. Lambdas.
- Containers: iterator, collection, list, set, map. Generic containers. For-each loop, autoboxing.
- Threads: Planning, Sharing, Synchronization.
- Graphical User Interface JFC / Swing. MVC, Observer, and Command Patterns.
- Input Output streams. Sockets. Collecting data with streams.
- Java 8: interface, generics. Java programming principles.
- JVM: class loading, memory management, garbage collector, profiling.