GLA University, 2019
Object-Oriented Programming (BCSC0002)
with Object-Oriented Programming Lab (BCSC0801)
This repository will store all the content relevant to this subject course.
Syllabus
- Module 1
-
Object-Oriented Programming Features: Abstraction, Encapsulation, Inheritance and Polymorphism, Procedural Paradigm vs Object-Oriented Paradigm, Advantages of using Object-Oriented Paradigm, Classes, Objects, Code-Reusability and data hiding.
-
Introduction to Java Programming Language: JDK, JRE, JVM, Java's Program Structure, Java's Class Library, Java Tokens and Scope of variables in Java.
-
Introduction to OOP with Python Programming Language.
-
Implementing Object-Oriented Programming using Java: Defining Classes and Methods, Creating objects of a Class, Introduction to Access Modifiers in Java.
-
Constructors in Java: Introduction to Constructors, Uses, Declaration, Differences between a Method and a Constructor, Types of Constructors, Constructors and Inheritance.
-
Inheritance in Java: Types of Inheritance in Java, Types of Relationships (Is-a, Has-a), Implementing Inheritance in Java, Revisiting Access Modifiers, Super and Final keywords.
-
Abstract Classes and Interfaces in Java: Abstract Classes in Java, Defining an Interface in Java, Uses of Interfaces, Interfaces vs Abstract Classes.
-
Packages: Understanding Packages, Defining a CLASSPATH.
-
Polymorphism: Introduction, Overloading, Overriding and types of Polymorphism.
-
Exception Handling: Exception and Errors, Types of Errors and Exceptions in Java, Exception Hierarchy, Key Terms (Try, Catch, Finally, Throw and Throws) and Custom Exception.
Prescribed Books
Assignments
- Click on the link for your section and select your name.
Section A
Section E
Section F
Section M
- Click on accept assignment.
Weekly Quizzes
List of tools
-
Open JDK (Suggested: OpenJDK, version 11 or higher), Oracle Java JDK |
- Python 3.7 or higher
- Git 2.22.0 or higher
- GitHub Account
- JetBrains ToolBox App
Video Links
- Object-oriented Programming in 7 minutes | Mosh
- Floating Point Numbers | Computerphile
- JDK, JRE, JVM: What Are They and What Are Their Differences? | The Learn Programming Channel
- Do Software Developers Need Communication Skills? | Programming Tip of the Day - Tim Buchalka
Repository Author: Divyansh Bhardwaj, Technical Trainer, GLAU