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
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
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
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