Helsinki University Course
In section 1, you will learn how to write programs that read from a user input and perform a calculation based on the input. You will learn the concepts variable, conditional and repetition, and you will use them in your programs.
In section 2, you will learn the sub-problems related to programming problems and how to solve them. You learn logical operations and, or and and you learn to use them in condition and repetition statements. You will learn the concepts method, method parameter, method return value and program call stack. You will learn to create methods and you will understand how program execution progresses when the method is called and on the other hand when the method call is returned.
In section 3, you will learn how to comment on source code and see how the names of variables and methods affect the comprehensibility of the program. You will learn how to use list and table structures as part of your programs. You practice practicing the list and table with two different repetitions (while and for-each). You will also practice string processing and learn methods related to strings. You also take the First Steps to testing your programs.
In section 4, you will learn the concepts of file and file system and learn how to read string information about a file. You take the first steps in object-oriented programming and you learn the basic concepts of object-oriented programming such as class and object. You will learn how to create classes and objects and use them as part of your programs.
In section 5, you will continue your journey into object-oriented programming. You will learn about Java's elementary and reference type variables and their differences. You will learn how to load constructors and methods, that is, create multiple constructors and several methods with the same name. You will learn how to compare object similarity and learn how to create an equals method to compare objects to your own classes. You practice using objects as object variables and as return values of methods. You will also learn how to use lists as object variables and practice writing unit tests.
In section 6, you will learn why some methods have the static attribute and why some do not. Take a look at the spreadsheet and learn how to use it in your programs. You will learn how to group information using a spreadsheet. You are practicing dividing the program into the interface part and the application logic part.
In section 7, you will learn about different programming paradigms. After going through some of this, you will know the difference between procedural programming and object-oriented programming, and you will be able to execute programs with both programming paradigms. You will learn the concept algorithm and the origin of the word algorithm, and you will learn to use a few organization and search algorithms. You will also learn how to write unit tests and practice the basics of test driven software development. You will also do a few assignments for future students and take part in surveys of your programming skills.
In section 8, you will learn about two key concepts in object-oriented programming, namely inheritance and interfaces. You learn to create classes that are inherited from another class and you learn to create classes that implement one or more interfaces. You will also find that an object can be represented by all its true types.
In section 9, diving deeper into streams of data collections. You will learn how to create a stream from a data collection, delimit stream values, convert stream values from one format to another, and collect stream values from another data collection. Familiarize yourself with the term lambda phrase and learn how to use it in your instructions. You will learn how to organize objects using Java's ready-made Comparable interface, and learn a few other utilities such as the regular expression, the listed type, and the iterator.
In section 10, you can interpret simple class diagrams and you can build programs based on class diagrams. You know what Java packages are, you know what the parts of the import statement are made of, and you can put your classes in packages. You will practice how to use the Java exceptions and you will learn how to handle them and how to cast them. You learn how to write information into a file programmatically and you repeat writing unit tests as you create a new programming task.
In section 11, you know what generic type parameters are and what ArrayList means. You can also create classes that use generic type parameters. Explore the internal implementation of ArrayList and HashMap and create simple custom versions of them. You will learn how to create random numbers and practice using Java's ready-made tools to create random numbers. You will learn how to represent multidimensional data and learn how to create and manipulate multidimensional tables.
In section 12, you can create graphical user interfaces, add user interface components to graphical user interfaces, and respond to events in the user interfaces. You can also make user interfaces that include multiple views.
In section 13, you will know the methods to visualize the data and will be able to use the diagrams (line chart, bar chart) provided by Java. You can create simple drawings with the tools provided by Java and work with pictures. You will learn how to play audio files. In this section, you also create a slightly larger program - the Asteroids game - following the example.
In section 14, you know the methods for creating simulations and you have repeated the use of two-dimensional tables. You know that libraries written by others can be used as part of your own programs, and you have implemented the First Steps database. You will also review the concept of unit test and you will learn the concept of test coverage.