<ul><li>explain fundamental concepts such as class, object, encapsulation, and concepts closely related to these;
<li>analyse and solve problems using programming constructions;
<li>use the programming language Java and
<ul><li>read and explain Java programs
<li>write and use classes
<li>write program with several coupled classes;
<li>use a programming environment;
<li>test and debug a program.
Introduction to programming: the purpose of programming, programming steps and phases, programming in a context e.g. through applications, programming environments, programmer's perspective on a computer system.
Algorithms: the program as an algorithm, the difference between algorithms in real-life and in a computer program.
Object oriented problem solving: introduction to object oriented analysis and design. The concept model, class, object, encapsulation, instance variables, constructors and methods. Class variable and class method.
Data types: primitive data types and references, including arrays.