Skip to main content
nounstudy
CIT383

Introduction to Object-oriented Programming

  • Sciences
  • 300 level
  • 2 credit units
  • 188 pages
  • 15 units

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.

About this course

Difficulty
Intermediate
Study hours
120 hours
Maths
Basic
Content
Theoretical, practical, problem solving
Practical work
Yes
Before you start
  • Basic programming concepts
  • Knowledge of programming syntax
How it is assessed
  • Assignments
  • Tutor marked assignments
  • Final examination

One paragraph, so you can see how it reads

CIT383 · UNIT 1 INTRODUCTION TO CLASSES AND OBJECTS

The Presentation Schedule included in your course materials gives you the important dates for the completion of Tutor- Marked Assignments and attending tutorials. Remember, you are required to submit all your assignments by the due date. You should guard against lagging behind in your work.

What you should be able to do

  1. Define classes and objects
  2. Explain inheritance and polymorphism
  3. Create constructors and destructors
  4. Describe abstraction and encapsulation
  5. Differentiate between instance and local variables

What it prepares you for

Careers
  • Software Developer
  • Software Engineer
  • System Analyst
  • Application Developer
  • Database Developer
Where it is applied
  • Software Development
  • Web Development
  • Mobile App Development
  • Data Science
  • Artificial Intelligence
Tools
  • Java
  • C#

Where it gets hard

The units students slow down on, and what makes each one heavy.

  • Module 3: Overloading

    Unit 3: Logical Operator Overloading

    Understanding the nuances of logical operator overloading requires a solid grasp of Boolean algebra and operator precedence, making it challenging to apply correctly in complex expressions.

  • Module 3: Overloading

    Unit 5: Conversion Operator Overloading and Indexers

    Conversion operator overloading involves understanding both implicit and explicit conversions, and the potential data loss or exceptions that can occur, requiring careful design and implementation.

A suggested way through it

Suggested

13 weeks, about 26 hours in total. Yours will differ.

  1. Week 1Module 1: Basic Concepts of Object-Oriented Programming
    • Unit 1: Introduction to Classes and Objects · 2 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..

  2. Week 2Module 1: Basic Concepts of Object-Oriented Programming
    • Unit 2: Passing Message and Encapsulation · 2 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..

  3. Week 3Module 1: Basic Concepts of Object-Oriented Programming
    • Unit 3: Inheritance · 2 hours

      Define inheritance and its benefits.. Differentiate between superclass and subclass.. Learn how to build inheritance hierarchies.. Understand the is-a relationship..

  4. Week 4Module 1: Basic Concepts of Object-Oriented Programming
    • Unit 4: Polymorphism and Modulation · 2 hours

      Define polymorphism and its importance.. Explore different types of polymorphism.. Understand modular programming and its functions..

  5. Week 5Module 1: Basic Concepts of Object-Oriented Programming
    • Unit 5: Composition and Abstraction · 2 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..

  6. Week 6Module 2: Object-Oriented Programming Properties Using any Programming Language
    • Unit 1: Classes and Objects Properties · 2 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..

  7. Week 7Module 2: Object-Oriented Programming Properties Using any Programming Language
    • Unit 2: Constructors and Destructors · 2 hours

      Define a constructor.. Explain the concept of object initialization.. Create your own constructor.. Differentiate between constructors and methods..

  8. Week 8Module 2: Object-Oriented Programming Properties Using any Programming Language
    • Unit 3: Static Behaviours · 2 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..

  9. Week 9Module 2: Object-Oriented Programming Properties Using any Programming Language
    • Unit 4: Inheritance and Composition · 2 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..

  10. Week 10Module 2: Object-Oriented Programming Properties Using any Programming Language
    • Unit 5: Polymorphism · 2 hours

      Explain the concept of polymorphism.. Use overridden methods to effect polymorphism.. Distinguish between abstract and concrete classes..

  11. Week 11Module 3: Overloading
    • Unit 1: Methods and Method Overloading · 2 hours

      List the mechanisms for passing information between methods.. Differentiate between parameters and arguments.. Define method overloading..

  12. Week 12Module 3: Overloading
    • Unit 2: Basic Operators Overloading · 2 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..

  13. Week 13Module 3: Overloading
    • Unit 3: Logical Operator Overloading · 2 hours

      Describe logical operator.. Explain operator overloading.. List the boolean AND operator.. Analyse short-circuit operator..

Preparing for the exam

What to do
  • Create concept maps linking Modules 1-2 OOP principles
  • Practice writing classes and objects in Java weekly (Units 1-6)
  • Review inheritance and polymorphism examples from Units 3-5
  • Focus on overloading concepts and syntax in Module 3
  • Work through all Tutor-Marked Assignments (TMAs) and correct errors
  • Practice coding examples without reference to the course material
  • Allocate specific time slots for focused study each day
  • Form a study group to discuss challenging concepts and share insights
  • Prioritize key topics based on TMA weight and examination structure
  • Get enough sleep and manage stress during the exam period

Questions students ask about this course

What is CIT383 about?

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.

How many units does CIT383 have?

CIT383, Introduction to Object-oriented Programming, has 15 units across 3 modules, over 188 pages of course material. You can read it one unit at a time.

How many credit units is CIT383?

CIT383 carries 2 credit units, at 300 level in Sciences.

Is CIT383 hard?

CIT383 is rated intermediate level, with basic mathematical content. It is mostly theoretical, practical and problem solving work, and it has a practical component.

How long does CIT383 take to study?

About 120 hours of study, spread across its 15 units.

How is CIT383 assessed?

CIT383 is assessed by assignments, tutor marked assignments and final examination.

What do I need before starting CIT383?

Basic programming concepts Knowledge of programming syntax

What can I do with CIT383?

Software Developer, Software Engineer, System Analyst, Application Developer and Database Developer.

More courses in Sciences

PHY312

Mathematical Methods For Physics Ii

3 credit units

Open PHY312
BIO308

Biogeapraphy

2 credit units

Open BIO308
EMT301

Principles Of Natural Resouces Management

3 credit units

Open EMT301