Learn with Yasir

Share Your Feedback

CS-304 Java OOP Lab: Weekly Schedule, Practical Tasks & Complete Study Guide


CS-304 Object Oriented Programming Lab weekly schedule with detailed practical tasks, assignments, and comprehensive study materials for Java development.

Course Title: CS-304 Object Oriented Programming Lab 1(0-1)

  • Duration: 15 Weeks
  • Lectures per Week: 1
  • Total Lectures: 15

How to Install Oracle JDK and Configure VS Code for Java Development


Week 1 – Java Basics & Syntax

Focus

  • Java program structure
  • main() method
  • Variables & data types
  • Input/output using Scanner

Lab Tasks

  • Write first Java program
  • Print patterns (stars, numbers)
  • Take user input and display formatted output

Practice

  • Write a program to calculate sum, average of 3 numbers

Week 2 – Expressions & Conditional Statements

Focus

  • Arithmetic & logical expressions
  • if, if-else, nested if

Lab Tasks

  • Check even/odd, positive/negative
  • Grade calculation system
  • Largest of 3 numbers

Practice

  • Menu-based student grading program

Week 3 – Switch Statement

Focus

  • switch syntax
  • break and default

Lab Tasks

  • Calculator using switch
  • Menu-driven program (ATM / restaurant menu)

Practice

  • Convert number to day/month name

Week 4 – Looping Structures

Focus

  • for, while, do-while
  • Loop control (break, continue)

Lab Tasks

  • Print tables
  • Fibonacci series
  • Factorial & prime number programs

Practice

  • Pattern printing using loops

Week 5 – Methods (Functions)

Focus

  • Method declaration & calling
  • Parameters & return values
  • Method reuse

Lab Tasks

  • Calculator using methods
  • Prime check using method
  • Method for array sum

Practice

  • Create utility methods for math operations

Week 6 – Arrays Basics

Focus

  • One-dimensional arrays
  • Array input/output
  • Traversing arrays

Lab Tasks

  • Store and display student marks
  • Find max/min in array

Practice

  • Reverse an array

Week 7 – Arrays Types & Arrays Class

Focus

  • 2D arrays
  • Jagged arrays
  • Arrays class (sort, copyOf, equals)

Lab Tasks

  • Matrix addition
  • Sorting array using Arrays.sort()
  • Search using Arrays.binarySearch()

Practice

  • Compare two arrays

Week 8 – Arrays with Methods

Focus

  • Passing arrays to methods
  • Returning arrays from methods

Lab Tasks

  • Method to find average of array
  • Method to return even numbers array

Practice

  • Create array utility class

Week 9 – Constructors

Focus

  • Default & parameterized constructors
  • Constructor overloading

Lab Tasks

  • Student class with constructor
  • BankAccount initialization using constructor

Practice

  • Employee payroll system using constructors

Week 10 – Access Modifiers & Classes

Focus

  • public, private, protected, default
  • Classes & objects
  • Getters and setters

Lab Tasks

  • Secure student data using private
  • Demonstrate access modifiers

Practice

  • Encapsulated Login class

Week 11 – Abstraction & Encapsulation

Focus

  • Data hiding
  • Abstract thinking in class design

Lab Tasks

  • Encapsulated Car / Account class
  • Business logic separation

Practice

  • Fully encapsulated inventory system

Week 12 – Inheritance (Super & Sub Classes)

Focus

  • extends
  • super keyword
  • IS-A relationship

Lab Tasks

  • Person → Student → Teacher
  • Constructor chaining using super

Practice

  • Shape hierarchy (Circle, Rectangle)

Week 13 – Overriding, Overloading & Polymorphism

Focus

  • Method overriding
  • Method overloading
  • Runtime polymorphism

Lab Tasks

  • Override calculateSalary()
  • Overload constructors & methods

Practice

  • Polymorphic array of objects

Week 14 – Abstract Classes & Interfaces

Focus

  • Abstract methods
  • Interfaces
  • Private methods in interfaces (Java 9+)

Lab Tasks

  • Payment interface implementation
  • Abstract Shape class
  • Demonstrate private interface methods

Practice

  • Real-world example (Bank / Vehicle)

Week 15 – Exception Handling & File Handling

Focus

  • try-catch-finally
  • Custom exception classes
  • File handling (File, FileWriter, Scanner)

Lab Tasks

  • Handle divide by zero
  • Create custom InvalidAgeException
  • Read/write data to file

Practice

  • Student record file system

Outcome of This Lab Plan

By the end of 15 weeks, students will:

  • Write clean Java OOP code
  • Understand core OOP concepts deeply
  • Build real-world console-based applications
  • Be ready for advanced Java / frameworks