Semester 3Year 2 · OddCore Subject★★★ Moderate
CS 203

Object Oriented Programming (Java)

OOP concepts using Java including classes, inheritance, polymorphism, and exception handling.

2Units
9Topics
4Credits
60hLecture hrs
100Max marks
Your Progress
0 / 9 topics
0% complete
Overview
🎯
Why it matters
Java powers Android (3 billion devices), enterprise systems (banks, e-commerce), and big data (Hadoop, Spark). OOP principles apply to every modern language — learn Java, understand software design.
💼
Placement relevance
70% of service companies (TCS, Infosys, Wipro, Cognizant) primarily hire Java developers. Most backend roles use Spring/Spring Boot. Android development = Java/Kotlin. FAANG uses Java for system design.
🔗
Prerequisites for
Spring Framework · Android Development · Enterprise Applications · Design Patterns · Microservices · Software Engineering
📚
Recommended books
Head First Java by Kathy Sierra and Bert Bates · Effective Java by Joshua Bloch · Core Java Volume I by Cay S. Horstmann · Thinking in Java by Bruce Eckel
Curriculum — 2 Units
U1
Unit 1 · 5 Topics · 0% complete
OOP Fundamentals
Key Formulae
Class Syntax:class ClassName { fields; constructors; methods; }
Inheritance:class Child extends Parent { ... }
Polymorphism:Parent obj = new Child(); // Upcasting
Classes & Objects
Inheritance
Polymorphism
Abstraction
Encapsulation
U2
Unit 2 · 4 Topics · 0% complete
Advanced Java
Key Formulae
Exception Handling:try { } catch(Exception e) { } finally { }
Thread Creation:extends Thread OR implements Runnable
Collections Hierarchy:Collection → List (ArrayList, LinkedList), Set (HashSet, TreeSet), Queue
Exception Handling
Collections
Multithreading
File I/O
Previous Year Questions
Unit 12023 · End Semester10 marks
Create a Java program demonstrating multilevel inheritance with 3 classes: Vehicle → Car → SportsCar. Include method overriding and constructor chaining.
Unit 22023 · Mid Semester8 marks
Write a Java program to implement a custom exception 'InvalidAgeException'. Throw this exception if age < 18. Handle it using try-catch block.
Unit 22022 · End Semester10 marks
Implement a multithreaded program where two threads print even and odd numbers alternately from 1 to 20 using synchronization.
Unit 12022 · End Semester8 marks
Explain the difference between abstract class and interface in Java. Write a program demonstrating both with real-world example.
Exam Strategy
💻
Write complete programs
Don't write pseudocode or snippets. Include: package, imports, class definition, main method, proper syntax. Incomplete programs lose 30-40% marks even if logic is correct.
📝
Comment your code
Add 2-3 line comments explaining logic, especially for inheritance/polymorphism. Shows understanding. Examiners appreciate clarity.
🔄
Master the 4 pillars
Encapsulation, Inheritance, Polymorphism, Abstraction — these 4 concepts are ALWAYS asked. Practice explaining with code + real-world analogies (Car-Vehicle, Animal-Dog).
🧵
Thread questions are tricky
Synchronization is confusing. Practice: producer-consumer, even-odd printing, race conditions. Understand synchronized keyword, wait(), notify(). Draw diagrams showing thread states.
Related Subjects
Semester 1
Programming for Problem Solving
CS 101
Semester 4
Web Technologies
CS 405
Semester 4
Software Engineering
CS 404