You are on page 1of 4
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus AUGS/ AGSR ion FIRST SEMESTER 2019-20 COURSE HANDOUT Date: 17.08.2020 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 No : CS F213 Course Title : Object Oriented Programming Instructor-in-Charge : Dr. Avinash Gautam (avinash@ pilani.bits- Instructor(s) Dr. J. Jennifer Ranjani (jennifer.ranjani@ pilani.bits- Lab Instructors: ~—_—Dr. Amitesh Singh Rajput (amitesh.singh @ pilani.bits-pilani.ac.in) Ms. Geetika Arora (p2016406@ pilani.bits-pilani.ac.in) 1. Course Description: This course provides a student with an in-depth understanding of object-oriented programming, object oriented analysis and design, and design patterns. Java programming language is chosen as a vehicle to teach the concept of object orientation. The course is taught with live demonstrations, running and debugging several examples, on tools like Eclipse. The later part of the course focuses on analysis and design of object oriented software system. After the completion of this course a student should be able to effectively realize and implement real world problems using object oriented principles and techniques. 2, Scope and Objective of the Course: a) Gives in-depth understandings of object-oriented programming using the java programming language, object oriented analysis and design, and design patterns )_In the classroom the course will be taught with live demonstrations, running and debugging several examples on tools like Eclipse. ©) The later part of the course focuses on designing object-oriented software. 3. Text Books: TI. Java: The Complete Reference, Herbert Schildt, McGraw Hill Education, Tenth Edition, 2017 T2. Object Oriented Design & Patterns, Cay Horstmann, John Wiley & Sons, 2004 4. Reference Boo! RI. Java™ Design Patterns — A Tutorial, James W. Cooper, Addison-Wesley, 2000 4. Course Plan ‘Module Number Lecture session Reference | Learning Outcome = Object and Class Basies - Basic Pillars of Object-Oriented Programming L1.1. Object-Oriented Basics TI, Ch. 2 © Abstraction 1. Object-Oriented © Encapsulation and Java Basics © Inheritance Polymorphism (05 Lectures) = Java Program Structure - Compiling and Executing a Simple L1.2. Java Programming 2 Syatax TICh.2-5 Java Application - Types of Variables in Java = Primitive Types in Java BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus AUGS/ AGSR Division = Type Promotion and Type Casting Rules = Operators = Control statements ~ Defining Classes and Access Modifiers - Creating Objects - Role of Constructors - Accessing Instance Fields and Methods TI.Ch.6 - Local Variables vs. Instance Variables - Mutable and Immutable Objects - Command-Line Arguments (lab) - Reading Input from console using Scanner class (lab) -_UML representation of a Class L13 - 14 Defining Classes and Object Creation LTS Use of static final = _ Use of static and final Keywords (ab) Keywords in Java, Method |) oy 7 - Method Overloading Overloading, Objects as - Constructor Overloading Parameters = _ Objects as Parameters to Methods L2.1 Amys in Java TI.Ch3.Ch. [= Implementing 1-D and 2-D Arrays 2. Arrays and String | 17"! AAYS 19 = Role of Arrays class in Java (02 Lectures) [75> surings in Java Thch 17 [> Sting class and methods \d StringTokennizer = Extending classes and role of super keyword 3.1. Inheritance in Java TLchs - Sete Raine vs = UML representation of Inheritance relationship [Abstract methods and classes = Interfaces in Java [Class vs Interface] = Comparable and Comparator 132.35 Abstract Classes. |) cy, g Interfaces Abstract Methods and |= Nested and Inner Classes Class notes Interfaces = Anonymous class and objects = Lamda expressions = UML representation of Abstract classes and methods [Introduction to Collection Framework = Important Collection Interfaces and their methods 4 Collections ; nicn is, [* Atavtistand LinkodList classes Collections vq [E443 Collections in ava | G12C% 19: | terators and Listlterators = Wrapper classes and Autoboxing = Sets and Hash-Maps in Java = UML representation of Collection Classes Lad =45 Generic TH, Ch 1, |= Generic Form of a class Programming Class Generic Interfaces and Bounded Types 3. Polymorphism and Inheritance in Java (05 Lectures) (05 Lectures) BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus AUGS/ AGSR Division 5. Exception Handling Mechanism (02 Lectures) LS.1- 5.2 Exceptions in Java TI, Ch. 10 ~ Exception basics and types - Catching Exceptions = _ Writing your own Exceptions 6, Input/ Output in Java (02 Lectures) L6.1 File handling in Java TI,Ch. 21 = Create a file in java - Reada file in java using BufferedinputStream - Read file in using BufferedReader - Write to a file in using FileOutputStream - Write to file in using Buffered Writer - Append to a file in java using BufferedWriter, PrintWriter, FileWriter - Delete file in using delete() method. - Rename file in Java using renameTo() method = Multithreading vs. Multitasking - Thread Class and methods 7. Multithreading | ti ea Progamming [Ti,ch. 1 [> $eting your own Threads and (04 Lectures) Meith Runnable Interface = Thread Synchronization = _Inter Thread Communication = The Java Type System 8. Object Model. | L8.1-8.3 och.7— {- Type inquiry (02 Lectures) Java Object Model = Object Class Shallow and Deep Co 9, Object-Oriented Analysis and Design (03 Lectures) L9.1 -9.5 Object-Oriented Analysis and Design 72, Ch. 2and class notes ~ Understanding Class Relationships, Multplicities (Cardinality) - Drawing Class Diagram [Dependency Diagram, and Relationship diagrams] State Diagrams 10. Software Design Patterns (10 Lectures) L10.1 - 10.10 Object-Oriented Design Patterns Class notes Derived from reference book RI and other online resources (a) Creational Patterns [1 Lecture] ~ Singleton - Abstract Factory and Factory Method (b) Structural Patterns [3 Lectures] - Adapter - Composite - Decorator -_ Bridge (©) Behavioral Patterns [6 Lectures] - Iterator = State - Strategy = Observer - Command - Chain of Responsibility = Memento BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus AUGS/ AGSR ion 5. Lab Plan Lab # | Topics to be Covered T__ [Introduction to Eclipse IDE 2 [ Reading user input, Designing Simple Classes 3__ | Unit testing using JUnit Framework 4 _| Static variables, methods, and blocks, Object as Parameter, Wrapper Classes 3__ [Inheritance, Polymorphism, Abstract Classes © _[ Arrays, Passing arrays, Mulli-dimensional arrays, Strings, StringBuffer, SiringTokenizer 7__ [interfaces (Comparable, Comparator), Inner classes and static inner classes, Lamda expressions 3 _ [Anonymous inner classes, Collections [List, ArrayList, erator, Listlterator, LinkedList], Generics 9 [ Exception Handling and Text File VO 10___| Multi-threaded Programming in Java TI___[ Design Patterns (creational, structural and behavioral patterns) Evaluation Scheme: Nature of component Component Duration | Weightage (%) | Date & Time (Close Book/ Open Book) Test-l 30 Min 15% * (Sep 10 Sep 20) “TBA Test-2 30 Min 15% * (Oct. 09 - Oct 20) “TBA Test-3 30 Min 15% *(Nov 10—Nov 20) “TBA “TBA “TBA 20% “TBA “TBA ‘As announced in the ive Exa 2 4 Comprehensive Exam 120 Min 35% Tele ‘Open Book During scheduled class hour, “To be announced later 7. Important Course Pol a a) Labs falling on holidays will not be cancelled or rescheduled. They will be conducted on the 8. Chamber Consultation Hour 9. Notices very same date and time. All the instructors can be contacted through email All notices be posted on Nalanda Make-up will be granted onl in case of hospitalization Dr. Avinash Gautam Instructor-in-charge Course No. CS F213

You might also like