TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

OOP in C++/Java

Object-Oriented Programming (OOPs) is a programming paradigm that organizes software around objects and classes. It focuses on core concepts such as encapsulation, inheritance, polymorphism, and abstraction, enabling modular, reusable, and maintainable software development.

Select University

TUPoUFWU

Select Program

BSC-CSITBCA-NEWBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . Object Oriented Programming with Java . TU . BCA-NEW

Object Oriented Programming with Java

0%

Course Title: Object Oriented Programming with Java

Course No: BCA 153

Nature of the Course: Theory + Lab

Semester: 2

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Java and OOP concept
4 hrs
1.1. History, Feature or Buzzwords of Java
1.2. Java Architecture: JVM, JDK and JRE
1.3. Procedural-oriented Vs. Object-oriented Programming
1.4. Setting up java environment and IDE in Local machine
1.5. Sample java programs
1.6. Compiling and running java program
1.7. Command-line arguments
1.8. Scanner class for input
1.9. Handling common errors
2. Basic of Java Programming
8 hrs
2.1. Writing comments and its type
2.2. Java token: keywords, identifier, literal, operators and separators
2.3. Data types: primitive and user-defined data type
2.4. Variable declaration and assignment, expression
2.5. Control statements: selection statements, looping statement and jump statements
2.6. Arrays: single dimension array, multi-dimensional array
  • Rectangular
  • Jagged
2.7. Type conversion and casting
2.8. Garbage Collection
2.9. String: creation, concatenation, comparison, modification, changing case and searching
2.10. String Buffer Class
3. Class and Objects in Java
8 hrs
3.1. Defining class, adding method to class, creating object and calling function/method
3.2. Abstraction and Encapsulation
3.3. Constructors and its type
  • Default
  • Parameterized
  • Copy
3.4. 'this' keyword
3.5. Static fields and methods
3.6. More on method: passing by value, by reference
3.7. Recursion
3.8. Nested and inner class
3.9. Variable length arguments
3.10. Package: Defining and importing package
4. Inheritance and Polymorphism
6 hrs
4.1. Inheritance basics
4.2. Inheritance Type
  • Single-level
  • Multi-level
  • Multiple
  • Hierarchical
4.3. 'super' keyword
4.4. Polymorphism: Method overloading and method overriding
4.5. Object class
4.6. 'final' keyword
4.7. Abstract class and methods
4.8. Access control (private, protected, default and public)
4.9. Interface: Defining, implementing and applying interface
5. Exception Handling and Multithreading
6 hrs
5.1. Basic exceptions, proper use of exceptions
5.2. Exception hierarchy
5.3. Exception handling keywords: try, catch, throw, throws and finally
5.4. Java's built-in exceptions
5.5. User-defined exceptions
5.6. Multithreading basics
5.7. Thread class and Runnable interface
5.8. Thread priorities
5.9. Thread synchronization and inter-thread communication
6. File Handling in Java
6 hrs
6.1. Console and File I/O
6.2. Reading and writing file using byte stream
6.3. Reading and writing file using character stream
6.4. Serialization and deserialization
6.5. RandomAccessFile class
7. Collections and Generics
6 hrs
7.1. Wrapper class and associate methods
7.2. Java collection framework
  • List, Set, Map interface
  • ArrayList, LinkedList, HashSet, HashMap and TreeSet Class
7.3. Accessing collections: Iterator/comparator
7.4. Defining generic class and methods
7.5. Using wildcard arguments
7.6. Generic interface and generic hierarchy
7.7. Some generic restrictions
8. Advanced OOP concepts in Java
4 hrs
8.1. Design pattern: singleton, factory, observer pattern
8.2. Lambda expression
8.3. Stream API: Introduction
8.4. Optional class
8.5. Method references

Laboratory Works

  1. 1.Java SE and IDE Installation
  2. 2.Compile and Run Java Program with Command-line and Scanner
  3. 3.Java Basic Concepts Implementation
  4. 4.String and StringBuffer Methods
  5. 5.Class, Object and OOP Features
  6. 6.Exception Handling and Multithreading
  7. 7.File I/O and Serialization
  8. 8.Java Collection Framework and Generics
  9. 9.Advanced OOP Concepts
  10. 10.Final Programming Project

Text Books

  1. 1.Balagurusamy, E. (2024). Programming with Java (7th ed.). McGraw Hill.
  2. 2.Deitel, P. J., & Deitel, H. M. (2024). Java how to program: An objects-natural approach (12th ed.). Pearson.

Reference Books

  1. 1.Horstmann, C. S. (2024). Core Java, Volume I: Fundamentals (13th ed.). Addison-Wesley Professional.
  2. 2.Schildt, H., & Coward, D. (2024). Java: The complete reference (13th ed.). McGraw Hill.

Notes:

Source:

This course provides an in-depth introduction to object-oriented programming (OOP) principles and their implementation using the Java programming language. This course covers the different concepts of object-oriented programming such as classes, objects, inheritance, polymorphism, abstraction, encapsulation, exception handling, multithreading collections, generics, file handling and advanced concept of OOP. The course emphasizes both theoretical understanding and hands-on programming skills.
The main objective of this course is to provide students both the theoretical foundation and practical knowledge of programming using Java. After the completion of the course, students will be able to: understand OOP principles and implement them in Java; install java compiler and IDE, compilation and run of java program; design and develop Java applications using classes, objects, and interfaces; use exception handling, collections, and generics and file I/O in real-world programs; apply Advanced OOP concept (Design pattern, Lambda, Streams API) for efficient coding; build a small-scale Java project using OOP best practices.
Practical report contains: Theory, source code and output. Laboratory work covers installation of Java SE and IDE, running and compiling Java programs, implementing Java basic concepts, string and StringBuffer methods, OOP features, exception handling, multithreading, file I/O, collections, generics, advanced OOP concepts, and a final programming project on object-oriented concept of Java.
This syllabus follows the official BCA curriculum of Tribhuwan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative.https://fohss.tu.edu.np/#