Skip to main content
CIT383Sciences2 Unitsintermediate

Introduction to Object-oriented Programming

This course introduces the fundamental concepts of object-oriented programming (OOP). It explores objects and classes, emphasizing their roles in OOP. The course covers creating classes, setting properties, and understanding constructors and destructors. It also examines relationships like composition, inheritance, and polymorphism. Modular programming is introduced, along with different types of overloading. Static methods and fields are analyzed, and students will learn to create classes that inherit fields and methods from other classes.

Transform this course into personalized study materials with AI

120h
Study Time
13
Weeks
9h
Per Week
basic
Math Level
Course Keywords
Object-Oriented ProgrammingClassesObjectsInheritancePolymorphism

Course Overview

Everything you need to know about this course

Course Difficulty

Intermediate Level
Builds on foundational knowledge
65%
intermediate
Math Level
Basic Math
🔬
Learning Type
Hands-on Practice

Course Topics

Key areas covered in this course

1

Classes and Objects

2

Inheritance

3

Polymorphism

4

Encapsulation

5

Abstraction

6

Overloading

Total Topics6 topics

Requirements

Knowledge and skills recommended for success

Basic programming concepts

Knowledge of programming syntax

💡 Don't have all requirements? Don't worry! Many students successfully complete this course with basic preparation and dedication.

Assessment Methods

How your progress will be evaluated (3 methods)

assignments

Comprehensive evaluation of course material understanding

Written Assessment

tutor-marked assignments

Comprehensive evaluation of course material understanding

Written Assessment

final examination

Comprehensive evaluation of course material understanding

Written Assessment

Career Opportunities

Explore the career paths this course opens up for you

Software Developer

Apply your skills in this growing field

Software Engineer

Apply your skills in this growing field

System Analyst

Apply your skills in this growing field

Application Developer

Apply your skills in this growing field

Database Developer

Apply your skills in this growing field

Industry Applications

Real-world sectors where you can apply your knowledge

Software DevelopmentWeb DevelopmentMobile App DevelopmentData ScienceArtificial Intelligence

Study Schedule Beta

A structured 13-week journey through the course content

Week
1

Module 1: Basic Concepts of Object-Oriented Programming

2h

Unit 1: Introduction to Classes and Objects

2 study hours
  • Read the introduction to classes and objects.
  • Understand the concepts of state and behavior in objects.
  • Learn about object creation and destruction.
  • Practice accessing objects using dot notation.
Week
2

Module 1: Basic Concepts of Object-Oriented Programming

2h

Unit 2: Passing Message and Encapsulation

2 study hours
  • Explore message passing and its role in object communication.
  • Understand the concept of encapsulation and data hiding.
  • Learn how to shield variables from external access.
Week
3

Module 1: Basic Concepts of Object-Oriented Programming

2h

Unit 3: Inheritance

2 study hours
  • Define inheritance and its benefits.
  • Differentiate between superclass and subclass.
  • Learn how to build inheritance hierarchies.
  • Understand the is-a relationship.
Week
4

Module 1: Basic Concepts of Object-Oriented Programming

2h

Unit 4: Polymorphism and Modulation

2 study hours
  • Define polymorphism and its importance.
  • Explore different types of polymorphism.
  • Understand modular programming and its functions.
Week
5

Module 1: Basic Concepts of Object-Oriented Programming

2h

Unit 5: Composition and Abstraction

2 study hours
  • Define composition and its relationship to aggregation.
  • Describe abstraction and its role in simplifying complexity.
  • Learn about abstract classes, interfaces, and abstract data types.
Week
6

Module 2: Object-Oriented Programming Properties Using any Programming Language

2h

Unit 1: Classes and Objects Properties

2 study hours
  • Describe classes, objects, methods, and instance variables.
  • State a class and use it to create an object.
  • Declare methods in a class to implement the class's behaviors.
Week
7

Module 2: Object-Oriented Programming Properties Using any Programming Language

2h

Unit 2: Constructors and Destructors

2 study hours
  • Define a constructor.
  • Explain the concept of object initialization.
  • Create your own constructor.
  • Differentiate between constructors and methods.
Week
8

Module 2: Object-Oriented Programming Properties Using any Programming Language

2h

Unit 3: Static Behaviours

2 study hours
  • Explain how static methods and fields are associated with an entire class rather than specific instances of the class.
  • Identify and use some common Math methods available in Java API.
  • Create and use static methods.
Week
9

Module 2: Object-Oriented Programming Properties Using any Programming Language

2h

Unit 4: Inheritance and Composition

2 study hours
  • Explain how inheritance promotes software reusability.
  • Describe the concepts of superclasses and subclasses.
  • List the properties of a class that inherits fields and methods from another class.
Week
10

Module 2: Object-Oriented Programming Properties Using any Programming Language

2h

Unit 5: Polymorphism

2 study hours
  • Explain the concept of polymorphism.
  • Use overridden methods to effect polymorphism.
  • Distinguish between abstract and concrete classes.
Week
11

Module 3: Overloading

2h

Unit 1: Methods and Method Overloading

2 study hours
  • List the mechanisms for passing information between methods.
  • Differentiate between parameters and arguments.
  • Define method overloading.
Week
12

Module 3: Overloading

2h

Unit 2: Basic Operators Overloading

2 study hours
  • List the concept of operator overloading.
  • Identify some object-oriented programming languages that support operator overloading.
  • Explain why Java does not support operator overloading.
Week
13

Module 3: Overloading

2h

Unit 3: Logical Operator Overloading

2 study hours
  • Describe logical operator.
  • Explain operator overloading.
  • List the boolean AND operator.
  • Analyse short-circuit operator.

This study schedule is in beta and may not be accurate. Please use it as a guide and consult the course outline for the most accurate information.

Course PDF Material

Read the complete course material as provided by NOUN.

Access PDF Material

Study Tips & Exam Preparation

Expert tips to help you succeed in this course

1

Create concept maps linking Modules 1-2 OOP principles

2

Practice writing classes and objects in Java weekly (Units 1-6)

3

Review inheritance and polymorphism examples from Units 3-5

4

Focus on overloading concepts and syntax in Module 3

5

Work through all Tutor-Marked Assignments (TMAs) and correct errors

6

Practice coding examples without reference to the course material

7

Allocate specific time slots for focused study each day

8

Form a study group to discuss challenging concepts and share insights

9

Prioritize key topics based on TMA weight and examination structure

10

Get enough sleep and manage stress during the exam period

Related Courses

Other courses in Sciences that complement your learning