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.
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.
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