Syllabus
Unit 1
Introduction to Object-Oriented Programming and Java Fundamentals
Object-Oriented Programming (OOP) Concepts – Abstraction, Encapsulation, Inheritance, Polymorphism Introduction to Java (Characteristics of Java, Java Environment, Java Source File Structure, Compilation Process) Fundamental Programming Constructs – Data Types, Variables, Operators – Control Flow (Conditional and Looping Statements) – Arrays, Strings.
Unit 2
Classes, Objects, and Inheritance
Classes and Objects – Defining Classes, Constructors, Methods, Access Specifiers, Static Members, Comments
Inheritance – Superclasses and Subclasses, Protected Members, Constructors in Subclasses, The Object Class, Abstract Classes and Methods, Final Methods and Classes.
Unit 3
Interfaces, Exceptions, and Input/ Output
Interfaces – Defining and Implementing Interfaces, Differences between Classes and Interfaces.
Exception Handling – Exception Hierarchy, Throwing and Catching Exceptions, Built-in Exceptions, Creating Custom Exceptions.
Input/Output – Streams (Byte and Character), Console Input/Output, File Input/Output.
Unit 4
Multithreading and Concurrency
Multithreading – Thread-based vs. Process-based Multitasking, Java Thread Model, Creating and Managing Threads, Thread Priorities, Inter-thread Communication.
Concurrency – Concurrency Issues (Safety, Liveness, Fairness), Locks and Synchronization, Thread Pools, Futures and Callable, Fork-Join Parallel Framework
Objectives and Outcomes
Course Description
This course introduces object-oriented programming concepts and their application using Java. Students will learn to design, implement, and test robust software systems by mastering core OOP principles, and advanced features like exception handling, input/output, multithreading, and concurrency.
Course Objectives
- To equip students with a strong foundation in object-oriented programming (OOP) concepts, including abstraction, encapsulation, inheritance, and polymorphism, and their practical application in Java programming.
- To develop students’ ability to design, implement, and test robust Java programs using fundamental programming constructs, data types, control flow, and object-oriented principles.
- To introduce students to advanced Java features such as exception handling, input/output operations, multithreading, and concurrency, enabling them to build efficient and responsive applications.
Course Outcomes
|
COs
|
Description
|
|
CO1
|
Demonstrate a solid understanding of object-oriented programming concepts.
|
|
CO2
|
Design, implement, and test Java applications.
|
|
CO3
|
Understand and employ concurrency concepts.
|
|
CO4
|
Apply Java programming skills to solve real-world problems.
|
CO-PO Mapping
|
PO/PSO
|
PO1
|
PO2
|
PO3
|
PO4
|
PO5
|
PO6
|
PO7
|
PO8
|
|
CO
|
|
CO1
|
3
|
3
|
1
|
–
|
–
|
–
|
–
|
1
|
|
CO2
|
3
|
3
|
2
|
–
|
–
|
–
|
–
|
2
|
|
CO3
|
3
|
3
|
2
|
–
|
–
|
–
|
–
|
2
|
|
CO4
|
3
|
3
|
2
|
–
|
1
|
–
|
–
|
2
|
|
CO5
|
3
|
3
|
2
|
–
|
1
|
–
|
–
|
2
|
Prerequisites
Basic Programming languages like C, C++, etc.