Objektorientierte Programmierung in Java - Schulversion (openHPI)

Objektorientierte Programmierung in Java - Schulversion (openHPI)

Dieser Kurs ist offen für alle, richtet sich aber in erster Linie an Schüler:innen. Alle, die schon immer in die Welt des Programmierens hineinschnuppern wollten oder schon erste Erfahrung in der Programmierung gesammelt haben sind herzlich willkommen. In vier Modulen (14 Wochen) beschäftigen wir uns mit den Grundlagen der Programmiersprache Java und der objektorientierten Programmierung und lösen gemeinsam mit Detektiv Duke einen mysteriösen Entführungsfall. Mit diesem Kurs möchten wir v.a. Schüler:innen der Oberstufe (Jahrgangsstufe 10-13) ansprechen.

Durch regelmäßige Programmieraufgaben wird das Gelernte angewendet und die Teilnehmer erwerben praktische Kenntnisse in der Programmiersprache Java.
Voraussetzungen für diesen Kurs sind lediglich ein Interesse an Programmierung, ein Computer mit Internetzugang und ein moderner Browser. Vorhergehende Programmiererfahrung ist hilfreich, aber nicht notwendig.

Schulversion
Um den Gegebenheiten an Schulen besser gerecht zu werden, wurde dieser Kurs zeitlich gestreckt und an die Schulferien angepasst. Um erfolgreich am Kurs teilzunehmen, sollte man 2-3 Stunden Zeit pro Woche einplanen.
In den Schulversionen bieten wir als Teaching Team nur einen eingeschränkten Forensupport. Bitte rechnet daher nicht damit, dass alle Fragen sofort durch uns beantwortet werden. Lehrer:innen bitten wir ihren Schüler:innen den notwendigen Support anzubieten. Der Kurs ist nicht als Ersatz für den Unterricht an der Schule gedacht, sondern als Bereicherung.

Kursinhalte
In diesem openHPI-Einsteiger:innenkurs lernt ihr die Schlüsselkonzepte der objektorientierten Programmierung (OOP) sowie grundlegende Programmierkonzepte kennen.
Das wesentliche Merkmal von OOP ist die geeignete Verteilung von Aufgaben auf Komponenten. Diese Komponenten weisen jeweils eigene Eigenschaften und Verhaltensweisen auf, die sich gegenseitig beeinflussen können.
Durch praktische Programmieraufgaben könnt ihr das Gelernte direkt anwenden und praktische Kenntnisse in der Programmiersprache Java erwerben.
Nach Kursabschluss werdet ihr in der Lage sein, kleine Programme in Java zu modellieren, zu implementieren und gängige OOP-Praktiken anzuwenden.
Dieser Kurs richtet sich v.a. an Schüler:innen der Jahrgangsstufen 10 bis 13. Voraussetzungen für diesen Kurs sind lediglich ein Interesse an Programmierung und ein Computer mit Internetzugang. Vorhergehende Programmiererfahrung ist hilfreich, aber nicht notwendig. Wenn ihr einmal nicht weiterwisst, könnt ihr im Forum oder den Lerngruppen Unterstützung von anderen Kursteilnehmern finden. Bei erfolgreicher Teilnahme erhaltet ihr nach Kursende einen Leistungsnachweis.

Course contents

Modul 1:
Im ersten Kursmodul lernen wir den grundlegenden Aufbau eines Java Programms, sowie Variablen, Klassen, Objekte und Methoden kennen.
Modul 2:
In Modul zwei werden Parameter, Attribute, Bedingungen, Schleifen und Arrays behandelt.
Modul 3:
In Modul drei wird näher auf Sichtbarkeiten und Vererbung eingegangen.
Modul 4:
In Modul vier lernen wir den richtigen Umgang mit Objektdatentypen kennen und beschäftigen uns darüber hinaus mit Typecasting, und Collections.
Exkurs : Speicherverwaltung:
Dieser Exkurs gewährt einen Einblick in die technische Umsetzung bei der Ausführung unserer Java-Programme. Unter anderem wird der Umgang mit Referenzen und die sogenannte "Garbage Collection" näher beleuchtet.
Cheat Sheets und andere Materialien

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

算法基础 (Coursera) Coursera
Peking University

算法基础 (Coursera)

本课程内容程涵盖枚举、二分、贪心、递归、深度优先搜索、广度优先搜索、动态规划等基本算法。通过大量的高强度的编程训练,提高动手能力,做到能较为熟练、完整、准确地实现自己设计的程序,为进一步学习其他计算机专业课程,或在其他专业领域运用计算机编程解决问题奠定良好的基础。

Jun 15th 2026
5-12 Weeks
Java Programming: Solving Problems with Software (Coursera) Coursera
Duke University

Java Programming: Solving Problems with Software (Coursera)

Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, websites, and other types of data. At the end of the course you will build a program that determines the popularity of different baby names in the US over time by analyzing comma separated value (CSV) files.

Jun 15th 2026
4 Weeks
Java Capstone Series Pt. 1 (OpenHPI) OpenHPI
Hasso-Plattner-Institut

Java Capstone Series Pt. 1 (OpenHPI)

The Java Capstone Series is a completely new course format. Fewer videos and more hands-on activities. Together, we will develop small Java projects from scratch to transform knowledge into competencies. For the first iteration we will develop a little game, e.g. Pong or BreakOut. The idea is to work on these projects in teams, but if you prefer you can also work alone. This format is completely new for us as well. We see ourselves rather as co-learners and facilitators than as teachers.

Self Paced
Self-Paced
Algorithmen und Datenstrukturen mit Detektiv Duke (openHPI) OpenHPI
Hasso-Plattner-Institut

Algorithmen und Datenstrukturen mit Detektiv Duke (openHPI)

Du hast bereits den Java-Kurs auf openHPI gemacht und die Einführung in Collections war dir zu schnell oder nicht detailliert genug? Du willst Datenstrukturen in Java besser kennenlernen? Du wolltest immer schon mal wissen, was eigentlich Iteratoren sind und welche Vorteile diese gegenüber von Schleifen haben? Welche Datenstrukturen für welche Anwendungsfälle schneller oder besser geeignet sind? Auch Duke und seinen neuen Assistenten Big O beschäftigen diese Fragen in ihrem aktuellen Fall und sie brauchen wieder mal Deine Hilfe! Begleite Duke und seine Freunde auf ihrer spannenden Reise durch die wunderbare Welt der Algorithmen und Datenstrukturen in Java. Spoiler: mehr Drama, mehr Action und höchstens ein Papagei.

Self Paced
Self-Paced
Cloud Computing Concepts: Part 2 (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Computing Concepts: Part 2 (Coursera)

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: Clouds, MapReduce, key-value stores, Classical precursors, Widely-used algorithms, Classical algorithms, Scalability, Trending areas, And more!

Jun 15th 2026
5-12 Weeks
Java Workshop - Einführung in die Testgetriebene Entwicklung mit JUnit (openHPI) OpenHPI
Hasso-Plattner-Institut

Java Workshop - Einführung in die Testgetriebene Entwicklung mit JUnit (openHPI)

Probieren ist gut, testen ist besser. In der Regel weiss man, was ein Programm tun soll bevor man es schreibt. Warum nicht gleich die Bedingungen nach denen es funktionieren soll in Code fassen, der überprüft ob die Vorgaben auch erfüllt werden? Um dies zu tun gibt es eine Reihe spezialisierter Frameworks die das auf verschiedene Weisen sicher stellen. In diesem Workshop wollen wir uns auf das Unit Testing mit JUnit konzentrieren. Unter Unit Tests versteht man Tests die kleine abgeschlossene Code-Einheiten, wie z.B. Klassen oder Methoden auf korrekte Funktionalität prüfen.

Self Paced
Self-Paced
Introduction to CSS3 (Coursera) Coursera
University of Michigan

Introduction to CSS3 (Coursera)

The web today is almost unrecognizable from the early days of white pages with lists of blue links. Now, sites are designed with complex layouts, unique fonts, and customized color schemes. This course will show you the basics of Cascading Style Sheets (CSS3). The emphasis will be on learning how to write CSS rules, how to test code, and how to establish good programming habits.

Jun 15th 2026
4 Weeks
Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

Jun 15th 2026
5-12 Weeks
Introduction à la programmation orientée objet (en Java) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en Java) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».

Jun 21st 2026
5-12 Weeks
Programmieren lernen mit Python - Schulversion (openHPI) OpenHPI
Hasso-Plattner-Institut

Programmieren lernen mit Python - Schulversion (openHPI)

Dieser Kurs ist offen für alle, richtet sich aber in erster Linie an Schüler:innen. Alle, die schon immer in die Welt des Programmierens hineinschnuppern wollten oder schon erste Erfahrungen in der Programmierung gesammelt haben, sind herzlich willkommen. In 4 Modulen (14 Wochen) beschäftigen wir uns auf spielerische Art und Weise mit der Programmiersprache Python und vertiefen das neue Wissen mit vielen praktischen Beispielen. Der Kurs ist für Schüler:innen der Mittelstufe (ab der 7. Klasse) gedacht und lässt sich wunderbar in den Unterricht integrieren.

Feb 27th 2023
13-24 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Jun 15th 2026
5-12 Weeks