Don't forget to hit the β if you like this repo.
Welcome to the Course on Object Oriented Programming! This course will present the concepts of object orientation and object-oriented programming techniques using Java programming language. It provides students with a thorough look at the basic constructs of the Java programming language such as its basic data types and operations. It also emphasizes on the use of standard Java APIs that allow students to develop text-based and GUI applications. It will also provide the programming techniques on exception handling and input/output files. At the end of this course, students should be able to use the basic constructs in object-oriented programming.
- Course Duration: 15 weeks
- Prerequisites: Programming Technique 1 and Programming Technique 2
By the end of this course, students will be able to:
- Apply OOP concepts in problem solving and develop Java applications.
- Develop Java applications that leverage the object-oriented features of the Java language such as encapsulation, inheritance and polymorphism in a given time frame.
- Work in a team to develop a medium to complex program as a group mini project using Java programming language.
This course contributes to the following Program Learning Outcomes:
- PLO1: Ability to acquire theory and principles of computer science and equip with social science and personal development knowledge.
- PLO3: Ability to creatively solve real world problems through computer science principles using current tools and techniques.
- PLO5: Ability to think critically and creatively in order to solve problems.
- Introduction to Object-oriented Concepts
- Introduction to Classes and Objects
- Enumerated Type, Wrapper Class and Java Package
- Arrays
- Vectors and Collections
- Class Relationships
- Inheritance
- Polymorphism
- Exception Handling
- Object Oriented Definition
Object-oriented refers to a programming language, system or software methodology that is built on the concepts of logical objects. It works through the creation, utilization and manipulation of reusable objects to perform a specific task, process or objective 1. Object-Oriented Programming (OOP) is a programming paradigm in computer science that relies on the concept of classes and objects 2. It is used to structure a software program into simple, reusable pieces of code blueprints (usually called classes), which are used to create individual instances of objects.
- Object oriented concept
Object-oriented programming (OOP) is a fundamental programming paradigm used by nearly every developer at some point in their career 1. OOP is the most popular programming paradigm used for software development and is taught as the standard way to code for most of a programmerβs educational career 1. OOP refers to languages that use objects in programming 2. Object-oriented programming aims to implement real-world entities like inheritance, hiding, polymorphism, etc in programming 2. The main aim of OOP is to bind together the data and the functions that operate on them so that no other part of the code can access this data except that function. Key concepts of OOP include classes, objects, encapsulation, inheritance, polymorphism, and abstraction 3.
- Classes in Java
- Java basics
- Creating Java programs
- Java variables and data types
- Instance fields, accessor and mutator methods
- Constructors
- UML class diagram
- Static class members
- Passing and returning Objects to/from methods
- Enumerated types
- Garbage collection
- Wrapper classes
- Packages and import Statements
- Defining one-dimensional array
- Passing arrays as arguments to methods
- Returning arrays from methods
- String arrays
- Arrays of objects
- Defining two-dimensional array
- ArrayList
- Vector
- Association
- Aggregation
- Composition
- Introduction to inheritance
- Protected members
- The object class
- Calling the superclass constructor
- Chains of inheritance
- Overriding superclass methods
- Introduction to polymorphism
- Abstract classes and abstract methods
- Interface and implements
- Introduction to exceptions
- Checked vs unchecked exceptions
- Throwing exceptions
- Lab Exercises(5): 15%
- Quizzes(3): 10%
- Project: 15%
- Test1(Theory): 15%
- Test2(Practical): 15%
- Final Exam: 30%
- Total: 100%
- Narasimha Karumanchi. (2010). Data Structures and Algorithms Made Easy. Careermonk Publications.β
- Dale, N. B. (2003). C++ Plus Data Structures. Jones & Bartlett Learning.
- Drozdek, A. (2012). Data Structures and Algorithms in C++. Cengage Learning.
- Sartaj Sahni. (2005). Data Structures, Algorithms, and Applications in C++. Silicon Press, Cop.
- Goodrich, M. T., Mount, D. M., and Tamassia, R. (2011). Data Structures and Algorithms in C++. John Wiley & Sons, Cop.β
- Carrano, F. M., and Henry, T. (2017). Data Abstraction and Problem Solving with C++ : Walls and Mirrors. Pearson.
- Gaddis, T. (2015). Starting out with C++. From control structures through objects. Pearson.β
- Lipschutz, S. (2011). Data Structures With C. McGraw-Hill Education.β
- Miller, B., Ranum, D. and Pearce, J. (n.d.). Problem Solving with Algorithms and Data Structures using C++. Runestone.academyβ
- Java Visualizer
- Learn GitHub