SKIPS University – School of Computer Science
Master of Science – Information Technology
Semester-II; Batch 2024- 26
Syllabus
Course Code : SOCS010201
Course Title : Object Oriented Programming
Credit Hours : 75
Instructor : Dr. Bhavin Shah
E-mail ID :
[email protected]Program Outcomes:
1. Computational Knowledge:
Apply knowledge of computing fundamentals, computing specialisation, mathematics, statistics,
and domain knowledge appropriate for the computing specialisation to the abstraction and
conceptualisation of computing models from defined problems and requirements.
2. Problem Analysis:
Identify, formulate, review research literature, and solve and analyse complex computing
problems reaching substantiated conclusions using fundamental principles of mathematics,
computing sciences, and relevant domain disciplines.
3. Design /Development of Solutions:
Design and evaluate solutions for complex computing problems, and design and evaluate
systems, components, or processes that meet specified needs with appropriate consideration for
public health and safety, cultural, societal, and environmental considerations.
4. Conduct Investigations of Complex Computing Problems:
Use research-based knowledge and research methods including the design of experiments,
analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
5. Modern Tool Usage:
Create, select, adapt, and apply appropriate techniques, resources, and modern computing tools
including prediction and modeling to complex computing activities, with an understanding of the
limitations.
6. Professional Ethics:
Understand, practise, and commit to professional ethics and cyber regulations, responsibilities,
and norms of professional computing practice.
7. Life-long Learning:
Recognize the need, and have the preparation and ability, to engage in independent and life-long
learning for continual development as a computing professional.
8. Project management and finance:
Demonstrate knowledge and understanding of computing and management principles and apply
these to one’s own work, as a member and leader in a team, to manage projects and in
multidisciplinary environments.
9. Communication Efficacy:
Communicate effectively with the computing community, and with society at large, about
complex computing activities by being able to comprehend and write effective reports, design
documentation, make effective presentations, and give and understand clear instructions.
10. Societal and Environmental Concerns:
Understand and assess societal, environmental, health, safety, legal, and cultural issues within
local and global contexts, and the consequential responsibilities relevant to professional
computing practice.
11. Individual and Team Work:
Function effectively as an individual and as a member or leader in diverse teams and in
multidisciplinary environments.
12. Innovation and Entrepreneurship
Identify a timely opportunity and using innovation to pursue that opportunity to create value and
wealth for the betterment of the individual and society at large.
Course Outcomes:
At the end of the course, the student would be able to:
i. Use Java data types, operators, control flow statements, and arrays to demonstrate the ability to
code simple programming problem solutions in Java, and compile and execute them.
(PO-1,2,3,4,5,6,7)
ii. Implement Java classes using principles of object-oriented programming to model real-world
entities and demonstrate how to build packages and use utility classes. (PO-1,2,3,4,5,6,7,10)
iii. Code robust Java programs by applying exception handling techniques, multithreading, and Java
I/O streams to solve file handling and console input/output problems.
(PO-1,2,3,4,5,6,7,10,11)
iv. Build interactive Graphical User Interfaces (GUI) using swing components, layout managers,
menus, and event handling mechanisms. (PO-1,2,3,4,5,6,7,12)
v. Apply Java database connectivity concepts to solve data management problems by performing
CRUD operations on a database. (PO-1,2,3,4,5,6,7,9,11,12)
Course Total Teaching Hours: The total teaching hours for this course are 45 theory sessions of 60 minutes
each, and 15 laboratory sessions of 120 minutes each. i.e. 75 hours (Lecture and Lab duration may be adjusted
as per requirements).
Course Contents:
Marks allotted
Module No. of
Module Content for the exam
No. sessions
(out of 60)
Introduction to Object-Oriented Programming and Java
Introduction to OOP, Basic concepts of OOP, Introduction to
I Java language, Compiling and Executing Java program, Java 9 12
Programming Environment, Java Features, Java data types,
operators, conditional & loop statements, Arrays
Classes, Inheritance, Interface, and Packages
Classes, Objects, Methods, Constructor, Garbage collection,
II static, final, abstract, Inheritance, Overloading, Overriding, 9 12
Nested and Inner classes, Interface, Packages, Creating packages,
Access modifiers, Built-in packages, User-defined packages,
Introduction to Utility classes
Exception Handling, Multithreading, I/O
Basics of Exception, Exception Handling in Java, Checked and
III Unchecked Exceptions, Custom Exception, Basics of 9 12
Multithreading, Thread Lifecycle, Thread Priorities, Console I/O
in Java, Java I/O streams, Basic File Handling
GUI in Java
IV AWT, Swing, Various Swing Controls, Frame, Layouts, Event 9 12
Delegation Model, Event Handling, Use Cases
Database Connection and Operations
V Java Database Connectivity basics, JDBC Drivers, Various 9 12
Database connections, CRUD operations on Database through
Java Program
Teaching Method:
The following pedagogical tools will be used to teach this course
a) Practical Sessions and Discussions
b) Assignments/ Quizzes/ Class participation etc
c) Compulsory class presentation
d) Case Study
e) Projects/ assignments
Evaluation:
Sr. No. Components Weightage
A. Theory Component 75 Marks
1 Mid Semester Examination 30 marks
2 End Semester Examination 30 marks
3 Continuous Evaluation 15 marks
5 Quizzes – One for Each Module (Each of 10 marks mapped to 3 marks
eventually. To be conducted at the end of every module
B. Practical Component 75 Marks
1 Continuous Evaluation 25 marks
10 Practicals (2 for each module) – to be given and assessed continuously.
Project - based on Real World Use Case 25 marks
2
End Sem Examination
25 marks
3 15 Marks – Practical Question
10 Marks – Viva Voce Based on the Practical
Text Books:
Sr.
Author Name of the Book Publisher Edition
No.
McGraw
T1 Herbert Schildt Java The Complete Reference 11th
Hill
T2 DT Editorial Services Java 8 Programming Black Book Dreamtech
Reference Books:
Sr.
Author Name of the Book Publisher Edition
No.
Pearson,
R1 Cay Horstmann Core Java
Oracle Press
R2 Hari Mohan Pandey Java Programming Pearson
Allen B. Downey,
R3 Think Java O’Reilly
Chris Mayfield
R4 Kathy Sierra, Bert Head First Java O’Reilly
Bates
100 Java Mistakes and How to
R5 Tagir Valeev Manning
Avoid Them
Kishori Sharan, Adam
R6 Beginning Java 17 Fundamentals Apress 3rd
L. Davis
Eric Freeman,
R7 Head First Design Patterns O’Reilly 2nd
Elisabeth Robson
S Sagayaraj, R Denis,
Universities
R8 P Karthik, D Constructive Java Programming
Press
Gajalakshmi
McGraw
R9 Herbert Schildt Java: A Beginner’s Guide
Hill
List of Journals/Periodicals/Magazines/Newspapers/Online resources etc.
Journals
• ACM Transactions on Java and Related Technologies (TOJ): Dedicated journal for
research on Java language and its ecosystem, including libraries, frameworks, and tools.
• The Java Journal: Offers articles and tutorials on practical uses of Java in various
domains, including web development, enterprise applications, and scientific computing.
• Journal of Object-Oriented Programming (JOOP): Publishes articles and tutorials on
practical applications of OOP in various programming languages.
Magazines
• PC Magazine, Dataquest, Express Computer, The Java Magazine, Dr. Dobb’s Journal,
InfoQ
Online Platforms
• Coursera, Udemy, Udacity, edX, Codeacademy
Online Resources
• Java Tutorials by Oracle, GeeksforGeeks, LeetCode, HackerRank, Visualgo, MIT
OpenCourseware, GitHub
• Online communities: Participating in online forums and communities can provide
valuable insights and discussions on OOP and Java concepts. Popular communities
include: Stack Overflow, Reddit's r/java
• Baeldung: A widely read blog with in-depth tutorials and articles on Java programming,
covering various OOP concepts and best practices.
• JavaWorld: A resource website maintained by Oracle, providing Java news, tutorials, and
documentation.
• Podcasts: Several podcasts discuss software development topics, including some
dedicated to OOP and Java, like "Java Corner" and "The Java Coffee Break."
Online Courses:-
• https://onlinecourses.nptel.ac.in/noc24_cs43/preview
• https://onlinecourses.swayam2.ac.in/aic20_sp13/preview