0% found this document useful (0 votes)
201 views2 pages

21SC1203 Computational Thinking For Object Oriented Design Modified

The document provides details about the course "Computational Thinking for Object Oriented Design". It includes information such as the course code, name, credits, prerequisites, course outcomes, syllabus overview and textbooks. Specifically, it discusses key concepts like classes, objects, inheritance, polymorphism, abstraction, encapsulation, exceptions and file input/output that will be covered in the course to help students apply object-oriented principles and design real-world solutions. The course aims to help students develop a real project using object-oriented programming concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
201 views2 pages

21SC1203 Computational Thinking For Object Oriented Design Modified

The document provides details about the course "Computational Thinking for Object Oriented Design". It includes information such as the course code, name, credits, prerequisites, course outcomes, syllabus overview and textbooks. Specifically, it discusses key concepts like classes, objects, inheritance, polymorphism, abstraction, encapsulation, exceptions and file input/output that will be covered in the course to help students apply object-oriented principles and design real-world solutions. The course aims to help students develop a real project using object-oriented programming concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Course Code- 21SC1203

Course Name: Computational Thinking for Object Oriented Design


L-T-P-S: 3-0-2-4
Credits: 5
Prerequisite: Computational Thinking for Structured Design
CO# Course Outcome (CO) PO/PSO BTL
CO1 Apply Object oriented paradigm for code reusability PO3,PO5 3

CO2 Design object-oriented solutions to the real-world problems PO3,PO5 5


through SOLID design principles.
CO3 Understand abstraction , achieve multiple inheritance and 3
apply them to Build Abstract Data Types to solve real world PO3,PO5
problems
CO4 Demonstrate Exception handling and File IO . PO3,PO5 3
CO5 Develop a real time project by using object-oriented PO5, 5
programming concepts. PO9,
PO10,

Syllabus:

Introduction: Understanding Object oriented programming paradigm vs Structured paradigm.


Advantages of Object-Oriented programming and its key features – abstraction, encapsulation,
inheritance & polymorphism. Java program hierarchy and compilation process. Building static
methods. Primitive Data Types and Arrays as a reference data type. Access specifiers for methods.
Logic building using control statements and iterative statements. Wrapper classes and implicit
casting. Command Line Arguments.

Classes and Objects: object, class vs object and object instantiation. Abstraction and
encapsulation using accessors and mutators. Constructors – default, user-defined and parametrized.
Introduction to Java API, Scanner class, console-based IO. Constructor chaining, this keyword,
array of objects, aggregation vs composition, ArrayList, SOLID design principles. Inheritance,
method overriding, dynamic polymorphism, dynamic method dispatch, Singleton classes. Inner
classes.

Abstraction & Applications: Abstract classes, abstract methods, final keyword for methods and
classes, template pattern, Introduction to interfaces, Interfaces vs implementation, Factory classes,
factory method pattern, Generic classes, application of interfaces to build abstract data structures,
Java API for Vector and LinkedList, comparable, comparator and cloneable, iterator interfaces.
Anonymous classes, Decorator pattern. Event driven programming with event listeners.

Exception handling & File IO: Introduction to exceptions & errors, Java API for exceptions, try,
catch, finally, throw and throws keywords, try with resources, user defined exceptions. File IO,
byte streams, character streams, wrapper classes for Object IO using serializable. String based
algorithms using StringBuffer and String Builder, String constant pool, regex, garbage collection.
Text Books:
1. Introduction to Java Programming, Comprehensive Version, 10th Edition by Y.
Daniel Liang.
2. Herbert Schildt, “The Complete Reference Java”, 7th edition TMH.
3. Timothy A. Budd, “An Introduction to Object-Oriented Programming”, 3/e,
Pearson, 2008.
Reference Books:

1. Deitel&Deitel, “‘Java – How to program”, 6th edition, PHI, 2007.


2. Cay.S.Horstmann and Gary Cornell “Core Java 2, Vol 1, Fundamentals”,
Seventh Edition, Pearson Education

You might also like