0% found this document useful (0 votes)
9 views11 pages

Object Oriented Programming Using Java-V2

The document outlines the course details for 'Object Oriented Programming Using Java' (CSE221) and its corresponding lab course (CSE222), covering course objectives, outcomes, assessment breakdown, weekly lesson plans, and project requirements. It emphasizes the foundational principles of OOP, practical implementation in Java, and includes a project for a Library Management System. The assessment components and mapping to program outcomes are also detailed, ensuring alignment with industry practices.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views11 pages

Object Oriented Programming Using Java-V2

The document outlines the course details for 'Object Oriented Programming Using Java' (CSE221) and its corresponding lab course (CSE222), covering course objectives, outcomes, assessment breakdown, weekly lesson plans, and project requirements. It emphasizes the foundational principles of OOP, practical implementation in Java, and includes a project for a Library Management System. The assessment components and mapping to program outcomes are also detailed, ensuring alignment with industry practices.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Object Oriented Programming Using Java (CSE221)

Course Information

• Course Title: Object Oriented Programming Using Java


• Course Code: CSE221
• Credit: 3
• Duration: 13 Weeks
• Contact Hours/Week: 3 Hours

Course Description

This course introduces students to the concepts and implementation of Object-Oriented


Programming (OOP) using Java. It covers the foundational principles of OOP such as
encapsulation, inheritance, polymorphism, and abstraction. Students will develop skills to design,
implement, and test software systems that are modular, reusable, and scalable using Java.
Advanced topics include exception handling, multithreading, and networking.

Course Outcomes (COs)

CO Course Outcome Description


Code
CO1 Understand and explain core OOP principles and Java language syntax, including
encapsulation, inheritance, and polymorphism.
CO2 Apply OOP principles to design and implement structured Java programs to solve
computational problems.
CO3 Model object-oriented designs using UML diagrams to communicate software
architecture.
CO4 Develop multithreaded and networked applications using Java and modern
development tools.
Program Outcome (PO) Mapping with Descriptions

CO Mapped PO Description Justification


PO
CO1 PO1 Apply knowledge of mathematics, Students gain conceptual knowledge
natural science, engineering and syntactical understanding of Java
fundamentals and an engineering and OOP, fundamental to any
specialization. computing specialization.
CO2 PO2 Identify, formulate, research Learners solve real-world problems
literature and analyze complex using structured OOP approaches in
engineering problems. Java.
CO3 PO3 Design solutions for complex Learners use UML to structure object-
engineering problems and design oriented solutions effectively.
systems or components.
CO4 PO5 Create, select and apply Students use IDEs, debuggers, UML
appropriate techniques, resources tools and libraries to build
and modern engineering and IT multithreaded, scalable applications.
tools.

Assessment Breakdown

Component Marks COs Description


Addressed
Attendance 7 Class participation and regular attendance.
Class Tests 15 CO1, CO2 As per the academic calendar on OOP
concepts and Java programming.
Assignment [Industry 5 CO2, CO3 Problem-solving task requiring design and
related activity week] implementation.
Presentation/Project 8 CO4 Group project showcasing a
multithreaded/networked Java app.
Midterm Exam 25 CO1, CO2, Focus on foundational and intermediate
CO3 OOP concepts [Class, Object,
Association]
Final Exam 40 CO2, CO3, Emphasizes problem-solving using OOP
CO4 Concepts [Inheritance, Abstract class,
Polymorphism]
Weekly Lesson Plan and Alignment

Week Topic Activities CO PO


1 Introduction to OOP Lecture & CO1 PO1
discussion
2 Java Syntax and Basic I/O Lab and practice CO1 PO1
3 Classes, Objects, Encapsulation Coding & UML CO1, CO3 PO1, PO3
4 Constructors, Static, Method Design and CO2 PO2
Overloading implement
5 Inheritance & Polymorphism Class Test 1 CO2 PO2
6 Abstract Classes, Interfaces Assignment 1 CO2, CO3 PO2, PO3
7 Midterm Exam Central Mid Exam CO1, CO2, PO1, PO2,
CO3 PO3
8 Exception Handling Debugging lab CO2 PO2
9 Collections & File I/O Hands-on CO2 PO2
programming
10 Multithreading Lab and case study CO4 PO5
11 Networking Code & simulate CO4 PO5
12 Project Presentation Group work CO4 PO5
13 Final Exam Central Final Exam CO2, CO3, PO2, PO3,
CO4 PO5

Sample Assignment (CO2, CO3)

Title: Design and Implement a University Course Registration System

Problem Statement:
Develop a Java application that manages student course registration. The system should include
functionalities to:

• Register students and courses


• Allow students to enroll in courses (max 5 per student)
• Use inheritance for different user roles (Admin, Student)
• Use interfaces for data operations

Deliverables:

• UML Class Diagram (Class + Interface)


• Java code (at least 3 classes + 1 interface)
• Output snapshots
• Short report (max 2 pages) explaining design

Assessment Rubric:
• UML Design (2 marks)
• Java Implementation (2 marks)
• Report Clarity (1 mark)

Course Outline: CSE222 - Java Programming Lab

Course Information

• Course Title: Java Programming Lab


• Course Code: CSE222
• Credit: 1
• Total Lab Sessions: 12 Weeks
• Contact Hours/Week: 2 Hours

Course Description

This lab course complements the theory course CSE221 (Object-Oriented Programming with
Java). It provides students with hands-on experience in applying Java programming concepts
including class and object creation, inheritance, polymorphism, abstraction, exception handling,
multithreading, and networking. The goal is to strengthen problem-solving ability through
practical tasks aligned with industry-level practices.

Course Objectives

• To gain hands-on experience in object-oriented programming using Java.


• To implement Java features such as encapsulation, inheritance, polymorphism,
abstraction, exceptions, file handling, multithreading, and networking.
• To develop skills in modeling and designing real-world systems using Java and
development tools.

Course Outcomes (COs)

CO Course Outcome Description


Code
CO1 Demonstrate understanding of core Java syntax and object-oriented programming
principles through practical implementation.
CO2 Apply OOP features to design, implement, and test modular Java applications.
CO3 Use Java libraries and development tools to implement multithreading, exception
handling, file operations, and networking.
CO-PO Mapping Table

CO Mapped PO Description Justification


PO
CO1 PO1 Apply knowledge of mathematics, Builds foundational
natural science, engineering programming skills in Java with a
fundamentals and an engineering focus on syntax and OOP
specialization. constructs.
CO2 PO2 Identify, formulate, research literature Enables solving of modular
and analyze complex engineering programming problems using
problems. classes and objects.
CO3 PO5 Use modern tools, techniques, and Integrates hands-on practices
libraries to develop and debug software with tools (IDEs, libraries) and
systems. advanced Java features.

Assessment Scheme (Total: 100 Marks)

Assessment Component Marks COs Description


Addressed
Attendance 10 CO1–CO3 Based on participation and punctuality
Lab Performance [based 25 CO2, CO3 Evaluated through problem solving in
on continuous assessment the Lab using Java. At least 2 lab
in Lab using BLC] performance test to be conducted at BLC
Lab Report 25 CO1, CO2 Weekly and final project documentation
including UML, code, and explanation
Lab Final Exam 40 CO2, CO3 Based on Course Project Assessment of
Implementation, and focusing on
problem-solving and debugging skills

Weekly Lab Plan with Post-Lab Exercises

Week Lab Topic Key Tasks Post-Lab Exercise


1 Introduction to Java Install JDK, configure IDE Write a program that prints
& IDE Setup (IntelliJ/Eclipse), simple "Hello user info (name, ID, dept)
World"
2 Java Data Types and Use of if, switch, loops Write a Java program to
Control Structures check for prime numbers
from 1 to 100
3 Classes and Objects Define class, create objects, Create a class Student with
constructors details and display them
4 Method Overloading Implement overloaded methods Write a calculator class
and Static Members and static variables with multiple add() method
variants
5 Inheritance Implement single and multilevel Create a class hierarchy:
inheritance Person -> Employee ->
Manager
6 Polymorphism Override methods and apply Develop an Animal class
(Overriding) dynamic binding and override speak() in
Dog and Cat
7 Abstract Class and Use abstract classes and Implement Shape interface
Interface interfaces with Circle and Rectangle
classes
8 Exception Handling Use try-catch-finally, throw, Write a program for
custom exceptions division with custom
DivideByZero exception
9 Arrays and ArrayList Declare and manipulate arrays Create a Student list and
and collections search for records
10 File I/O Read from and write to files Save student records to a
using FileReader/FileWriter file and retrieve them
11 Multithreading Create threads using Runnable Develop a program to
and Thread simulate bank transactions
using threads
12 Networking Implement socket programming Build a chat-like system
(client/server) for 2-way message
exchange

Course Project (CO4-aligned)

Title: Library Management System in Java

Objective: To build a complete system for managing books, members, and borrowing
transactions.

Requirements:

• Use classes and inheritance for different roles (Admin, Member)


• Implement interface for I/O operations
• Include exception handling for invalid inputs
• Use ArrayList for managing book list
• File-based data persistence

Deliverables:

• Source code
• UML class diagram
• Sample input/output file
• Project report (max 4 pages)
Project Assessment Rubric (Total 65 Marks)

Criteria Marks
Proper use of OOP concepts (Inheritance, Polymorphism, Abstraction) 10
Code correctness and modularity 25
File handling and data storage 5
Exception handling and validation 5
Project presentation and report 15

Course Project Report Template

📑 Table of Contents

1. Introduction
2. Objectives
3. System Overview
4. UML Diagrams
5. Tools and Technologies Used
6. Class Structure and Code Explanation
7. Key Features Implemented
8. Exception Handling and File I/O
9. Multithreading and Networking (if applicable)
10. Challenges Faced
11. Output Snapshots
12. Conclusion and Future Work
13. References
14. Appendix (if needed)

1. Introduction

Briefly describe the purpose and scope of the project. Explain the real-world problem being
solved.

2. Objectives

State the goals of your project. Example:

• To implement a library management system


• To apply OOP concepts in a real application
• To use file I/O for data persistence
3. System Overview

Provide a high-level description of the system architecture. Explain the modules or components
and how they interact.

4. UML Diagrams

Include at least:

• Class Diagram (required)


• Optional: Use Case Diagram, Sequence Diagram

5. Tools and Technologies Used

List tools such as:

• IDE (e.g., IntelliJ IDEA, Eclipse)


• Java Version
• Git (if used)

6. Class Structure and Code Explanation

Describe each main class and interface used in your program. Provide brief explanations for key
methods or logic blocks.

7. Key Features Implemented

Mention implemented features such as:

• Add/search/delete functions
• Login authentication
• GUI (if applicable)

8. Exception Handling and File I/O

Describe how you handled:

• Input/output errors
• User-defined exceptions
• File reading/writing operations

9. Multithreading and Networking

If implemented, explain how:


• Threads manage tasks (e.g., banking transactions)
• Networking features were integrated (e.g., chat system)

10. Challenges Faced

Describe technical or conceptual difficulties and how you overcame them.

11. Output Snapshots

Add screenshots showing:

• Program input/output
• File contents
• GUI or console views

12. Conclusion and Future Work

Summarize the achievement and discuss potential improvements.

13. References

List books, websites, or tutorials you referred to.

Industry Related Activity Report

📑 Table of Contents

1. Introduction
2. Industry Overview
3. Identified Business Problem
4. Proposed Java-Based Solution
5. System Architecture and Design
6. Key Features Implemented
7. Tools and Technologies Used
8. Business Value & Impact
9. Lessons Learned from Industry Practice
10. Conclusion
11. References
12. Appendix (if applicable)

1. Introduction

• Purpose of this report


• Relevance of Java in modern business applications
• Brief on industry collaboration (if any)

2. Industry Overview

• Type of business or sector (e.g., Retail, Healthcare, Logistics)


• Technological needs of the industry
• General trends in using Java in this domain

3. Identified Business Problem

• Describe a real or hypothetical problem (e.g., order management, employee tracking,


inventory control)
• Why is it important to solve?

4. Proposed Java-Based Solution

• Overview of your Java solution/system


• How it addresses the problem
• Scope and assumptions

5. System Architecture and Design

• Include a high-level architecture diagram


• Components/modules (backend, interface, file handling, DB, etc.)
• UML Class Diagram (if applicable)

6. Key Features Implemented

• Authentication/login
• CRUD operations
• Reports/visualizations
• Exception handling and file I/O
• Optional: Multithreading or Networking

7. Tools and Technologies Used

• Java version
• IDE (e.g., IntelliJ, Eclipse)
• GitHub or version control
• Any Java libraries or frameworks

8. Business Value & Impact

• How this solution improves efficiency, reduces cost, or supports decision-making


• User-friendliness or integration benefits
• Future scalability or modularity

9. Lessons Learned from Industry Practice

• Observations from real-world systems or practices


• How business needs shape software design
• Importance of error handling, maintainability, and documentation

10. Conclusion

• Summary of contributions
• Limitations and future enhancements

11. References

• Websites, technical docs, books, or consultation sources

You might also like