Introduction to object-oriented programming with the Java language: Objects, classes, and methods. The BlueJ programming environment. Data types, operators, and methods: Basic types and reference types. Scope (fields, variables, methods). Object creation. Declaration of methods (result type, scope, parameters). Constructors. Program flow: Branching statements (if, if-else, switch). Iteration (for, while, repeat). Arrays and lists: One-dimensional/two-dimensional arrays. Linked lists. The Java class library: The String, ArrayList, Random classes. Wrapper classes. Concepts of object-oriented programming: Inheritance, polymorphism, abstract classes, interfaces. Exceptions: The hierarchy of exceptions. The Exception class. Creation (throw), catching, and handling (try & catch). Data Input-Output: Input/output streams. Character readers/writers. Data files. Saving and retrieving items. The Serializable class. Graphical Communication Interfaces (GUIs): Elements of GUIs. Events and their handling. Layout of GUI elements. Data collection classes: Sets, Lists, Maps. Implementations through arrays and linked lists. The Comparable class. Traversal of arrays, Iterators, Generics. Laboratory: Series of laboratory programming exercises in Java. The BlueJ programming environment, suitable for novel students, is employed.
ECTS : 7
Language : el