Object-Oriented Programming in Java

In this free online course, you’ll learn the key concepts of object-oriented programming (OOP) as well as fundamental programming techniques. You’ll apply your newly acquired knowledge by implementing hands-on programming exercises in the Java programming language. The course will be completed by an exercise to model a small, object-oriented, real-world scenario. After completing this course, you’ll be able to model and implement small programs in Java and apply OOP best practices.

This course is operated by the openHPI team on openSAP, the sister platform of openHPI.

Seit 26. Juli 2018 im Selbststudium
Kurssprache: English
Advanced, Beginner, Programming

Kursinformationen

Course Summary

In this course, you’ll learn the key concepts of object-oriented programming (OOP) as well as fundamental programming techniques. A key concept of OOP is to distribute tasks between several suitable components. Each of these components has its own state and behavior and can communicate with other components. You’ll apply your newly acquired knowledge by implementing hands-on programming exercises in the Java programming language. The course will be completed by an exercise in which you’ll model a small, object-oriented, real-world scenario.

For a better understanding, the programming exercises are combined with a detective story. Help Duke to solve his mysterious new case!

After completing this course, you’ll be able to model and implement small programs in Java and apply OOP best practices.

Course Characteristics

  • Starting from: June 13, 2018, 09:00 UTC
  • Duration: 6 weeks
  • Effort: ~6 hours per week
    • Depending on your level of knowledge, this time may vary
    • If you participate in the bonus assessment, you may need additional time
  • Assignments: Hands-on programming exercises, quizzes, weekly exams, final exam
  • Bonus points: Hands-on modeling in a team (Team Peer Assessment)
  • Course language: English

Learning Outcomes

Java Basics

  • Get started with a Java program (Main method, Hello World)
  • Read and understand Java Syntax
  • Know and apply basic programming constructs in Java (variables and types)

OOP Basics

  • Basics of UML class diagrams
  • Create classes based on UML diagrams
  • Know and understand terminology of object-oriented programming (class, object, instance)
  • Create classes including methods and attributes

OOP Advanced Topics

  • Know and understand terminology of object-oriented programming (instance, inheritance, composition)
  • Classes and subclasses
  • Polymorphism: overriding (and overwriting) methods

Java Advanced Topics

  • Know and apply further programming constructs in Java (conditions and loops)
  • Understand and apply statements, assignments, operators
  • Implement inheritance relationships in Java
  • Implement aggregations in Java
  • Java collections
  • Error handling

Modeling Basics

  • Inheritance, aggregation, association

IDE Basics

  • Eclipse, Compiler, Interpreter
  • Improving code quality
  • Version Control

Course Content

  • Introduction: Programming Basics
  • Week 1: Java Classes and Objects
  • Week 2: Further Programming Concepts
  • Week 3: Object-Oriented Programming
  • Week 4: Modeling
  • Week 5: Advanced Programming Concepts
  • Week 6: Final Exam
  • Outro: Introduction to a Java IDE and Outlook

Course Requirements

To participate in this course, all you need is to be interested in programming. You’ll also need a computer with Internet access and a modern browser.

Previous experience in programming will be helpful but is not necessarily required.

Previous Version of This Course

The previous version of this course (in German) is available here (on openHPI):

Objektorientierte Programmierung in Java (March 27 through May 14, 2017)

Externen Kurs besuchen

Externer Kurs

Dieser Kurs läuft nicht auf openHPI, sondern auf einer externen Lernplattform. Wenn Sie dem Link zu diesem Kurs folgen, verlassen Sie die openHPI-Webseite. Gegebenenfalls benötigen Sie ein gesondertes Nutzerkonto auf der externen Plattform, um sich in den Kurs einschreiben zu können.

Externen Kurs besuchen

Anforderungen für Leistungsnachweise

  • Den Leistungsnachweis erhält, wer in der Summe aller benoteten Aufgaben mindestens 50% der Höchstpunktzahl erreicht hat.
  • Die Teilnahmebestätigung erhält, wer auf mindestens 50% der Kursunterlagen zugegriffen hat.

Mehr Informationen finden Sie in den Richtlinien für Leistungsnachweise.

Dieser Kurs wird angeboten von

Christiane Hagedorn

Christiane Hagedorn hat sowohl ihren Bachelor als auch Master in Medieninformatik an der Beuth Hochschule Berlin absolviert. Derzeit promoviert sie am Hasso-Plattner-Institut und erforscht dabei die Möglichkeiten von spielbasiertem Lernen.

In ihrer Freizeit singt Christiane in einem Chor, bereist die Welt und macht beim Wandern gerne Fotos von der Natur. Besonders gerne spielt sie außerdem digitale und analoge Spiele, wodurch auch ihr Forschungsinteresse begründet ist. In der Vergangenheit hat sie bereits auf vielseitige Art an mehreren Spiel-Projekten mitgewirkt. Außerdem hat sie große Freude am Unterrichten gefunden.

Ann Katrin Kuessner (openHPI Team)

Ann Katrin Kuessner hat am Hasso-Plattner-Institut IT-Systems Engineering ihren Bachelor absolviert und befindet sich inzwischen im Masterstudium. Sie arbeitet nebenher als Softwareentwicklerin bei openWHO.org, der Schwesterplatform von openHPI und openSAP. Wenn sie gerade nicht im Büro sitzt, findet man sie meist beim (Berg-)Sport. Abseits davon engagiert sie sich ehrenamtlich als Skilehrerin und gibt Workshops und leitet Camps zu MINT-Themen.

Dr. Thomas Staubitz

Dr. Thomas Staubitz ist Senior Lecturer am Lehrstuhl Internet-Technologien und -Systeme unter der Leitung von Professor Dr. Christoph Meinel am Hasso-Plattner-Institut der Universität Potsdam. Seine Forschungsinteressen liegen im Bereich eLearning und MOOCs. Ein besonderer Schwerpunkt liegt auf der Zusammenarbeit und Interaktion unter den Kursteilnehmern, sowie Tools zur Leistungserfassung jenseits der klassischen Multiple-Choice Aufgaben.

Ralf Teusner

Ralf Teusner ist PostDoc am Fachgebiet Enterprise Platform and Integration Concepts unter der Leitung von Professor Dr. h.c. Hasso Plattner am Hasso-Plattner-Institut der Universität Potsdam. Seine Forschungsinteressen liegen im Bereich eLearning und MOOCs. Insbesondere das Erlernen von neuen Programmiersprachen und Konzepten sowie die Potentiale und Auswirkungen von Interaktion zwischen den Lernenden sind im besonderen Fokus.