Trailer for Programming with Java 2
General Course Information
The MOOC "Programming in Java 2" continues and builds on the course "Programming in Java 1". After the course "Programming in Java 1" taught the elementary statements and the control structures of Java, this course concentrates on working with different data types and complex data structures. Prerequisite for this course is therefore the course "Programming in Java 1".
The course starts with programming with numeric values and developing numeric algorithms. After that, working with characters and strings is discussed. The next topic is programming with arrays. An important part are then two lessons, which teach programming with classes and objects, whereby in this course inheritance is not yet dealt with. Recursive methods and dynamic data structures form the conclusion.
This MOOC was created at the Institute for System Software at Johannes Kepler University Linz as part of the project eInformatics@Austria and has been funded by the Federal Ministry for Eduction, Science and Research within the initiative 'Digital and Social Transformation in Higher Education'.
The course includes 6 lessons. The numbering of the lessons continues the previous course "Programmieren in Java 1". The lessons have the following contents:
- Lesson 6 addresses the handling of numeric values. Integers as well as floating point numbers are treated. Furthermore, the principle of numerical solution methods is explained.
- Lesson 7 deals with data types for characters and strings. It is explained how to create and edit text data.
- Lesson 8 is dedicated to arrays. After the basics of arrays, known algorithms with arrays are discussed.
- Lesson 9 is the first lesson on classes and objects with the following concepts: class definition, object variables, methods, object creation.
- Lesson 10 continues Lesson 9 and covers specific concepts about classes, such as data encapsulation and visibility attributes, immutable variables and objects, and an overview of important classes.
- Lesson 11 first covers recursive methods and continues with the recursive data structures, linear lists and binary tree.
The course continues the previous course "Programming with Java 1" and introduces programming with the more complex data types and data structures.
The course builds on the previous course, Programming in Java 1, and therefore assumes knowledge of that course.
The chapters and topics in the lessons build on each other. It is recommended to work through the lessons and the learning objects they contain in sequential order. The exercises are also structured sequentially, i.e. starting with simpler and following with more complex examples. However, it may be possible to temporarily skip certain exercises and return to them later. If necessary, it is of course useful to repeat topics.
The contents are taught with:
- explanatory videos on the individual topics
- a tool for visualising programme executions
- demonstrations of programme examples
- exercises and corresponding solutions
Each of the 10 lessons of the course represents a learning effort of approximately 3 to 4 hours. In addition, you have to calculate the time needed to solve the exercises, which will take another 2 to 3 hours, depending on your level of knowledge and talent.
Note on the exercises: The exercises have different levels of difficulty and are marked with an asterisk:
- (*) ... elementary: are intended to provide a simple introduction and are relatively easy to solve
- (**) ... instructive: are tasks that you have to deal with and that you should definitely solve in order to make appropriate progress
- (***) ... challenging: these are more difficult and/or more extensive tasks. They can also be skipped the first time and perhaps made up for later when you have gained more experience.
Detailed instructions on how to work through the course material can be found in the first course "Programming with Java 1" under "MOOC instructions".
For active participation in the course, upon completion, an automated certificate is issued, which includes your username, the course name and the completed lessons. It should be noted that this is only a confirmation that the user has correctly answered at least 75% of the self-check questions asked.
LicenceThis work is licensed under CC BY-SA 4.0
Institut für Systemsoftware - JKU Linz
The MOOC was designed by a team from the Institute for Systems Software at Johannes Kepler University Linz. The team members are:
Simon Grünbacher is a computer science student at Johannes Kepler University Linz. He implemented major parts of the JavaWiz visualization tool and made important contributions to the exercises of this course.
Katrin Kern was as student employiee at the Institute for Systems Software responsible for the design of the exercises in this course. In her master thesis she created the basis of the JavaWiz visualization tool.
Michael Kramer studies to be a teacher for the subjects computer science and media design. He is mainly responsible for the multimedia design of the MOOC "Programming with Java 2".
Hanspeter Mössenböck is a professor of computer science at Johannes Kepler University Linz and head of the Institute for Systems Software. With his book "Sprechen Sie Java?" and his lecture "Software Development 1" he has created the didactic basis for this course.
Herbert Prähofer is Professor of Computer Science at the Johannes Kepler University Linz. He leads the project to realize the MOOC "Programming with Java 2". In the MOOC, he teaches the theoretical basics.
Melissa Sen is a student of computer science at Johannes Kepler University Linz. She implements components of the visualization tool JavaWiz.
Felix Schenk is a diploma student at the Institute for System Software and realizes important components of the visualization tool JavaWiz in his master thesis.
Markus Weninger is Senior Lecturer at the Institute for System Software. He is responsible for the architectural design of the visualization tool JavaWiz.
Log in Currently: 42 Participants
Free for all € 0.00
Johannes Kepler University Linz, Institut for System Software
This MOOC has been developed as part of the project eInformatics@Austria and has been funded by the eFederal Ministry for Eduction, Science and Research within the initiative 'Digital and Social Transformation in Higher Education'.
The videos in this course were produced at the Multimedia Lab of the Institute of Network and Security, Johannes Kepler University Linz. The course team would like to express gratitude for the generous provision of lab facilities.