Course Curriculum [w. e. f.
Session 2025-26]
B.Tech. in Computer Science & Engineering
BCSC 1002: OBJECT ORIENTED PROGRAMMING
Objective: This course introduces the object-oriented programming [OOP] paradigm using the Java
programming language. It emphasizes modeling real-world problems using classes and objects,
understanding core OOP principles, and writing structured, reusable, and modular code in Java. The course
includes hands-on practice with arrays, strings, interfaces, inheritance, exception handling, collections, and
JDBC for data connectivity.
CREDITS: 03 L-T-P-J: 3-0-1-0
Module Teaching
Content
No. Hours
Paradigms[Object-Oriented Programming Concepts]: Type of Paradigms,
Introduction to Object-Oriented Java Programming, Features of OOP over
Procedural.
Java Basics: Primitive Data Types, var keyword, Variable Scope
User Input Handling: Scanner class, Command-Line Arguments
Programming Constructs: Sequence, Selection, Iteration, For-Each loop,
Transfer statements
Arrays in Java: One-dimensional, Two-dimensional arrays, java.util.Arrays class
String Handling: String, StringTokenizer, StringBuilder, StringBuffer, Common
String methods
I Defining Methods: Method Signature, Parameter Passing, Method Overloading, 20
Static vs Instance Methods, Recursion
Classes and Objects: Creating classes and objects, Class members [fields and
methods], Constructors [default, parameterized, overloading, chaining], Object
lifecycle
Encapsulation: Access Modifiers [private, public, protected, default], Getters and
Setters
Inheritance: Superclass and Subclass, super keyword, Constructor chaining
Polymorphism: Method Overloading and Overriding, instanceof keyword,
dynamic dispatch
Abstraction: Abstract Classes and Methods, Constructors in Abstract Classes
Interfaces: Defining and Implementing Interfaces, Functional Interfaces, Default
and Static Methods in Interfaces, Marker Interfaces
Lambda Expressions: Introduction, Syntax, and Basic Use
Packages: Defining packages, Importing packages, Creating modular programs
Handling Errors with Exceptions
Checked [must handle] vs unchecked [runtime] exceptions
try, catch, finally, and raising your own exceptions with throw and throws
Using Wrapper Classes
II Convert primitives to objects [e.g. int ↔ Integer] for use in collections 20
Generics & Collections for Data Management
Generic classes and methods so code works with any type
Collections: List [ArrayList, LinkedList], Set [HashSet] avoids duplicates
Map [HashMap] holds key-value pairs
Basic Database Connectivity [JDBC]
Connect Java to MySQL: using DriverManager, then Connection
Send queries through Statement or safer PreparedStatement
Read results with ResultSet, close resources properly
DEPARTMENT OF COMPUTER ENGINEERING & APPLICATIONS, Institute of Engineering & Technology
Course Curriculum [w. e. f. Session 2025-26]
B.Tech. in Computer Science & Engineering
Mini Project
Title[Example]:Student Result Management System
Objective: To integrate all the learned concepts into a working Java application
that can perform Create, Read, Update, Delete [CRUD] operations using JDBC.
Project Requirements:
• Define classes such as Student, Result, and DatabaseManager
• Store data using collections [ArrayList]
• Use methods to perform CRUD operations
• Handle exceptions gracefully
• Store and retrieve student data from MySQL database using JDBC
• Optional: Use a menu-driven interface for user interaction via console
Expected Learning Outcomes:
• Apply OOP principles in real-world context
• Implement clean, reusable, and maintainable code
• Perform database operations using Java
Text Book:
• Herbert Schildt, “The Complete Reference, Java Eleventh Edition”, Oracle Press.2019.
Reference Book:
• Cay S Hosrtmann, “Core Java Volume I—Fundamentals, Eleventh Edition”, Pearson,2018.
• Rogers Cadenhead, “Sams Teach Yourself Java in 21 Days [Covers Java 11/12], 8th Edition”,
Pearson,2020.
Outcomes: After completion of the course, students will be able to -
CO Outcome
CO1 Understand Java fundamentals and the OOP paradigm
CO2 Apply arrays, strings, methods to solve problems
CO3 Demonstrate encapsulation, inheritance, abstraction, polymorphism
CO4 Handle runtime issues using exception handling
CO5 Use generics and collections to manage complex data
CO6 Connect Java programs to databases using JDBC
CO7 Design and develop a real-world mini project using all Java concepts
DEPARTMENT OF COMPUTER ENGINEERING & APPLICATIONS, Institute of Engineering & Technology