Skip to the content.

Object-Oriented Programming with Java

Overview

Java is a versatile and widely-used programming language, making it an excellent choice for learning object-oriented programming (OOP). This course begins with foundational procedural programming concepts and quickly transitions to the OOP paradigm. Key topics include:

Additionally, the course introduces essential software engineering methodologies, such as Test-Driven Development (TDD), and explores fundamental data structures like stacks, queues, hash tables, and lists.

Course Aims

This course aims to provide an introductory yet comprehensive understanding of object-oriented programming using Java. Key aims include:

Course Objectives

By the end of this course, students will:

Learning Outcomes

By completing this course, students will be able to:

Programme Details

  1. Introduction to Java: Syntax, semantics, variables, and the program development process.
  2. Programming Constructs: Loops, conditionals, and control flow.
  3. Classes and Objects: Defining and using classes in Java.
  4. Inheritance: Extending classes and reusing code.
  5. Abstract Classes and Interfaces: Advanced OOP concepts.
  6. Exception Handling: Writing robust and error-resistant code.
  7. Arrays: Single and multi-dimensional arrays.
  8. Java Collections Framework: Lists, sets, maps, and queues.
  9. Generic Types: Writing reusable and type-safe code.
  10. Unit Testing: Introduction to testing frameworks like JUnit.

This course is designed for beginners and assumes no prior programming experience, making it ideal for those looking to build a strong foundation in object-oriented programming with Java.


Development Tools

To get started with Java development, you will need the following tools:


References

Official Documentation

Tutorials


Practice Tasks

Part One (1st semester)

1) Using the Eclipse IDE for Java programming

2) Loops and Conditionals in Java

3) Basic Java Syntax. Strings, Arrays, java.lang.Math

4) Methods and Method Overloading in Java

5) Constructors in Java

6) Basic Object-Oriented Programming in Java

Part Two (2nd semester)

7) Object-Oriented Programming: Inheritance

8) Object-Oriented Programming: Method Overriding, Polymorphism

9) Object-Oriented Programming: Advanced Capabilities

10) Java Collections: Lists, Maps, Sets

11) Generics in Java

12) Java Threads: Defining and starting a thread


Classroom Activities

Draft


Final Task

  1. Object Oriented Programming. Part 2