- Java Programming I
- Part 1: Welcome to learning programming! The first part of the course focuses on taking the plunge with programming and getting familiar with all the required tools.
- Part 2: The second part of the material focuses on repetition in programs and on how to divide functionality into distinct units.
- Part 3: The main themes in the third part of the course are adding information to list and array data structures, and handling information in string form.
- Part 4: The main theme of the fourth part is object-oriented programming. You will learn to read data from files and to represent and handle information with the help of objects.
- Part 5: The fifth part of the course material continues with object-oriented programming, which was introduced in the fourth part.
- Part 6: The sixth part of the course material handles objects consisting of objects, and we'll take a look at separating the text user interface and the program logic.
- Part 7: In the seventh part of the course we'll focus on general programming paradigms and algorithms. The course Introduction to programming (TKT-10002) ends after the seventh week, and the Advanced course in programming (TKT-10003) begins with the eight part.
- Java Programming II
- Part 8
- Part 9: The ninth part of the course material focuses on two essential concepts of object oriented programming, namely inheritance and interfaces. You will learn to create classes that inherit another classes, and also classes that implement one or more interfaces. You are also going to notice that an object can be represented by any of its actual types.
- Part 10: In the tenth part of the course we introduce handling collections with streams. You'll learn how to create a stream from a collection, filter the values of a stream, transform the values of a stream, and collect values of a stream to another collection. We introduce the concept lambda expression, and you'll learn to use it in your programs. You will also learn how to order objects using the Java Comparable interface, and some other useful techniques like regular expressions, enumerate type and iterator.
- Part 11: In the eleventh part you'll learn to decypher simple class diagrams. You'll become familiar with packages in Java and learn what the different parts of an import statement mean. You'll practise using exceptions in Java: how to throw and handle them. You'll take another look at reading data from a file, and learn to write data to a file.
- Part 12: In the twelfth part of the course we will introduce type parameters and you will learn what ArrayList<String>; actually means. You will learn to implement classes that use type parameters. You will get to understand how ArrayList and HashMap are implemented, and you will implement your own versions as well. You will learn how to create random numbers, and practice using some Java tools to create random numbers. You will learn how multidimensional data can be presented, and how to use multidimensional arrays.
- Part 13: The thirteenth part of the course material introduces the topics of creating graphical user interfaces and the kinds of components that are used in them. You will learn to handle different events that occur in graphical user interfaces, and practise creating applications that contain multiple views.
- Part 14: In the fourteenth part you will learn methods for data visualization and acquaint yourself with Java's existing charts (line chart, bar chart). You will learn to make simple drawings and take a look at image processing. You will also learn to play audio files. Finally, there is a slightly larger program — the Asteroids game — that you will create by following an example.