OOP in Java BCA Second Semester New Course Syllabus TU 2025

BCA 153: OOP in Java | Complete Syllabus

โ˜• OOP in Java BCA 153 | Semester II

๐Ÿ“˜ Credit Hours: 3 โฑ๏ธ Theory: 3 Hrs | Lab: 3 Hrs ๐Ÿงช Lab: 48 Hrs ๐Ÿ›๏ธ TU Syllabus 2025

๐Ÿ“– Course Description

This course provides an in-depth introduction to object-oriented programming (OOP) principles and their implementation using the Java programming language. It covers concepts such as classes, objects, inheritance, polymorphism, abstraction, encapsulation, exception handling, multithreading, collections, generics, file handling, and advanced OOP concepts. The course emphasizes both theoretical understanding and hands-on programming skills.

๐ŸŽฏ Course Objectives

  • Understand OOP principles and implement them in Java
  • Install Java compiler and IDE, compile and run Java programs
  • Design and develop Java applications using classes, objects, and interfaces
  • Use exception handling, collections, generics, and file I/O in real-world programs
  • Apply advanced OOP concepts (Design patterns, Lambda, Streams API) for efficient coding
  • Build a small-scale Java project using OOP best practices
๐Ÿ“Œ Prerequisite: Conceptual understanding of programming logic and techniques.

๐Ÿ“š Detailed Syllabus

Unit 1: Introduction to Java and OOP Concept 6 Hrs
  • History, Features / Buzzwords of Java
  • Java Architecture: JVM, JDK and JRE
  • Procedural-oriented vs Object-oriented Programming
  • Setting up Java environment and IDE on local machine
  • Sample Java programs, Compiling and running Java program
  • Command-line arguments, Scanner class for input
  • Handling common errors
Unit 2: Basics of Java Programming 8 Hrs
  • Writing comments (single-line, multi-line, documentation)
  • Java tokens: keywords, identifiers, literals, operators, separators
  • Data types: primitive and user-defined
  • Variable declaration and assignment, expressions
  • Control statements: selection (if, switch), looping (for, while, do-while), jump (break, continue, return)
  • Arrays: single dimension, multi-dimensional (rectangular and jagged)
  • Type conversion and casting, Garbage Collection
  • String: creation, concatenation, comparison, modification, case change, searching
  • StringBuffer Class
Unit 3: Classes and Objects in Java 8 Hrs
  • Defining class, adding methods, creating objects, calling methods
  • Abstraction and Encapsulation
  • Constructors and types: Default, Parameterized, Copy
  • ‘this’ keyword, Static fields and methods
  • Parameter passing: pass by value, pass by reference
  • Recursion, Nested and inner classes
  • Variable-length arguments (varargs)
  • Packages: Defining and importing packages
Unit 4: Inheritance and Polymorphism 8 Hrs
  • Inheritance basics
  • Inheritance Types: Single-level, Multi-level, Multiple (via interfaces), Hierarchical
  • ‘super’ keyword
  • Polymorphism: Method overloading and method overriding
  • Object class, ‘final’ keyword
  • Abstract classes and methods
  • Access control: private, protected, default, public
  • Interfaces: Defining, implementing, and applying interfaces
Unit 5: Exception Handling and Multithreading 6 Hrs
  • Basic exceptions, proper use of exceptions
  • Exception hierarchy
  • Exception handling keywords: try, catch, throw, throws, finally
  • Java’s built-in exceptions
  • User-defined exceptions
  • Multithreading basics, Thread class and Runnable interface
  • Thread priorities, Thread synchronization and inter-thread communication
Unit 6: File Handling in Java 6 Hrs
  • Console and File I/O
  • Reading and writing files using byte stream (FileInputStream, FileOutputStream)
  • Reading and writing files using character stream (FileReader, FileWriter)
  • Serialization and deserialization
  • RandomAccessFile class
Unit 7: Collections and Generics 6 Hrs
  • Wrapper classes and associated methods
  • Java Collection Framework:
    • List, Set, Map interfaces
    • ArrayList, LinkedList, HashSet, HashMap, TreeSet classes
  • Accessing collections: Iterator / Comparator
  • Defining generic classes and methods
  • Using wildcard arguments, Generic interface and hierarchy
  • Generic restrictions
Unit 8: Advanced OOP Concepts in Java 4 Hrs
  • Design patterns: Singleton, Factory, Observer pattern
  • Lambda expressions
  • Stream API: Introduction
  • Optional class
  • Method references

๐Ÿ”ฌ Laboratory Work (48 Hours)

Tools: Java SE, IDE (NetBeans, Eclipse, or IntelliJ), Notepad++

Install Java SE and IDE, compile/run first program Command-line arguments and Scanner class implementation Control statements, arrays, type casting exercises String and StringBuffer class methods Class, object, encapsulation, inheritance, polymorphism, abstraction Built-in and user-defined exception handling Multithreading concepts (Thread class, Runnable) File I/O: byte stream, character stream, serialization, RandomAccessFile Java Collection Framework and Generics implementation Lambda expressions and Stream API basics Final Project: Small-scale Java project applying OOP best practices

๐Ÿ“Œ Practical Report Contents: Theory, Source code, Output

๐Ÿ“š Required Readings & References

  • Balagurusamy, E. (2024) โ€“ Programming with Java (7th ed.), McGraw Hill
  • Deitel, P. J., & Deitel, H. M. (2024) โ€“ Java How to Program: An Objects-Natural Approach (12th ed.), Pearson

๐Ÿ›๏ธ BCA Second Semester (TU) โ€” Object-Oriented Programming in Java (BCA 153)

โ˜• Foundation for professional Java development, design patterns, and modern application building.

Leave a Comment