Birla Institute of Technology & Science, Pilani
K. K. Birla Goa Campus
First Semester 2024-2025
Course Handout (Part II)
In addition to Part-I (General Handout for all courses appended to the time table), this portion gives further specific
details regarding the course
Course ID: CS F213
Course Title: Object Oriented Programming
Instructor: Neena Goveas ([email protected]) (D259) VOIP 403
Sujith Thomas
1. Course Objectives and Scope
This course provides the students with an understanding of the object-oriented programming paradigm. The
topics include Introduction to Object Oriented Programming, Classes and Methods, Encapsulation,
Inheritance, Polymorphism, and Multithreaded Programming. The covered topics will be further explained in
lab sessions using Java as the programming language. After successfully completing this course, students will
have a good understanding of object oriented analysis and design process, and will be able to demonstrate
object-oriented concepts in Java programming language.
2. Text Books
T1: The Complete Reference Java J2SE, 5th Edition, Herbert Schildt, Tata McGraw Hill Publishing, 2005
T2: Objects First with Java: A Practical Introduction Using BlueJ, David J. Barnes and Michael Kolling,
Pearson Education, 5th Edition, 2012
3. Reference Books
R1: Head First Java, Bert Bates, O’Reilly, 2nd Edition, 2005
R2: Core Java Volume I - Fundamentals, Cay Horstmann, Pearson Education, 8th Edition 2008
4. Course Plan
No. of Topic Reference
Lectures
1 Introduction and review Class Notes +
Course Handout
3 Introduction to Object Oriented Programming, Class definition, Object, T1 Ch2,
Principles of OOP, Introduction to Java program syntax, Compiling & T2 Ch1,
execution of Java program Class Notes
2 Primitive data types, Type conversion and casting, Arrays, Operators, T1 Ch3, Ch4, Ch5
Control statements, Minor differences between C & Java T2 Ch2
2 Class fundamentals, Objects, Constructors and Methods, Garbage T1 Ch6,
collection T2 Ch2
3 UML diagrams R2 Ch4
2 Variables of class and null type, Method overloading, Object as T1 Ch7
parameters, Argument passing, Access Specifiers
2 Static variable and static methods, Accessors and Mutators, Introducing T1 Ch7
final: Final methods, Final classes, Introducing nested and inner class,
2 Revisiting arrays, Exploring string class, Variable length arguments T1 Ch7
4 Inheritance, Keyword: super, Instance variable hiding, Multilevel T1 Ch8,
hierarchy, Method overriding, Abstract classes, Final with inheritance. T2 Ch8, Ch9
2 Packages, Importing packages, Creating packages, Access protection, T1 Ch9
Interfaces, Defining and implementing interfaces
2 Exception handling fundamentals, Exception types, Try and catch, T1 Ch10,
Nested try statements, Java’s built-in exceptions, Keywords: throw, T2 Ch12
throws, and finally
4 Collections: Set, List, Map, Iterator Class Notes
3 Thread model and basics, Creating new threads, The Main thread, Thread T1 Ch11
synchronization
4 File handling in Java, I/O Classes and Interfaces, Stream classes T1 Ch19
4 Advanced Topics in OOP, UML and Java Class Notes
5. Evaluation Components
Component Duration Date % Weightage Remarks
Lab Continuous. 20% Open Book
Mid test Oct 4 9:30 -11:00 25% Closed Book
Group Project Continuous 20% Open Book
End-term exam Dec 4, FN 35% Closed Book
6. Office Hours: Wednesday, 3:00-4:00 PM. Students must do offline discussions only during office hours.
Appointments via email for other timeslots are to be taken.
7. Notices: All notices concerning this course will be displayed on the News forum of Quanta. Keep an eye on
ID/AUGSD notices as well.
8. Make-up Policy: Cases approved by the Faculty Incharge of Instruction Division will be granted for a make-
up exam. No make-up for the regular lab/lab quiz/ Group project components. Zero marks will be awarded in
case of absence or missing component (lab or exam).
9. Evaluation Policy: Any attempt of cheating or plagiarism in tests or labs will attract disciplinary committee
action.
Instructor In-charge
Prof Neena Goveas