S11_CSE142_OBJECT_ORIENTED_PROGRAMMING

=CSE142: Object Oriented Programming= =Program:= BS(CS)

Semester:
Spring 2011

Instructor:
Abdul Wajed + Asma Larik

**Course Lead:**
Abdul Wajed

**Credit Hours:**
4 (3 credit hours for theory + 1 credit hour for lab)

Prerequisite(s):
CSE141, CSE145

Course Description:
This course describes another paradigm as a better replacement for structured/procedural programming paradigm (CSE141) for managing large programs to segregate code into reusable chunks called classes. Principles of Abstraction, Encapsulation, Inheritance and Polymorphism are explored as well as developing an understanding of code structuring and design philosophies. It requires a thorough understanding of fundamentals of programming. Topics include class definition, constructors, destructors, access control, method overloading and overriding, inheritance, static and dynamic binding, exception handling, object life cycle and garbage collection, and namespaces. Either Java, C# or C++ is used as a tool for implementation of concepts learnt in this course.

Course Objectives:
After studying this course the students should be able to: Organize large code by using classes and packages

To reuse and enhance existing code with the help of Aggregation & Inheritance Get a better understanding of object lifecyle and memory managment Understand the requirements for Exception Handling and Delegates Understand the need for Concurrency and Persistence

URLs (Optional):
The following website created by Nick Parlante of Stanford is very helpful for Programming Practice. []

Books:
A list of Required and Recommended texts should be given here. Indication of where the book may be obtained from (e.g. IBA library or local book store) may be useful.

by Harvey M. Deitel, Paul J. Deitel ISBN-10: 0136053068 | ISBN-13: 978-0136053064 | Publication Date: March 27, 2009
 * Java: How to Program,**

by Daniel Shiffman ISBN-10: 0123736021 | ISBN-13: 978-0123736024 | Publication Date: September 2, 2008
 * Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction**

by Bruce Eckel ([])
 * Thinking in Java (eBook)**

Web Resources:
[] [] [] [] []

Grading Policy:
Theory = 80% Mid Term = 20% + 20% Final = 40%

Lab = 20% Assignments = 10% Term Report = 10%

The recommended grading policy, with weights attached to Quizzes, Homework assignements, Midterm exams, projects and Final Exams.

Uploaded Reference Course Outline:
You may also upload a course outline here.

Class Time Spent On (In Credit Hours):
Theory: 2.5 Problem Analysis: 0.5 Solution Design: 0.5 Social and Ethical Issues: 0.5


 * ==**Topics Covered in the Course **== ||
 * S.No || Date of the lecture || Topic of Lecture || Additional Reference Material ||
 * 1 ||  ||   ||   ||
 * 2 ||  ||   ||   ||
 * 3 ||  ||   ||   ||
 * 4 ||  ||   ||   ||
 * 5 ||  ||   ||   ||
 * 6 ||  ||   ||   ||
 * 7 ||  ||   ||   ||
 * 8 ||  ||   ||   ||
 * 9 ||  ||   ||   ||
 * 10 ||  ||   ||   ||
 * 11 ||  ||   ||   ||
 * 12 ||  ||   ||   ||
 * 13 ||  ||   ||   ||
 * 14 ||  ||   ||   ||
 * 15 ||  ||   ||   ||
 * 16 ||  ||   ||   ||
 * 17 ||  ||   ||   ||
 * 18 ||  ||   ||   ||
 * 19 ||  ||   ||   ||
 * 20 ||  ||   ||   ||
 * 21 ||  ||   ||   ||
 * 22 ||  ||   ||   ||
 * 23 ||  ||   ||   ||
 * 24 ||  ||   ||   ||
 * 25 ||  ||   ||   ||
 * 26 ||  ||   ||   ||
 * 27 ||  ||   ||   ||
 * 28 ||  ||   ||   ||

showing add function || Using Static keyword in Java ||
 * ~  ||~   ||~ **Laboratory Projects/Experiments Covered in the Course ** ||
 * SNo. || Date || Topics ||
 * 1. || 14 Feb 2011 || Basic Concepts of Object Oriented Programming ||
 * 2. || 19 Feb 2011 || Classes and Objects. Basic class of Student and Course ||
 * 3. || 21 Feb 2011 || What are Constructors demonstrating with example ||
 * 4. || 28 Feb 2011 || Types of Constructors ||
 * 5. || 28 Feb 2011 || Feet Inches class complete description and modified text files
 * 6. || 6th March 2011 || Case studies for class, constructors, using array as variables ||
 * 7. || 10th March 2011 || Lab assessments ||
 * 8 || 14 th March 2011 || Solutions to assessment discused ||
 * 9. || 16th March 2011 || Using this keyword in Java
 * 10. || 7th April || Getting started with processing code discussed ||
 * 11. || 8th April || Lab on Processing discussing objects ||
 * 12. || 11th April || Inheritance ||  ||
 * 13 || 14th April || Inheritance Lab 2 ||  ||
 * 14 || 18th April || Combined class discussing class diagrams ||  ||
 * 14 || 21st April || Examples of UML ||  ||
 * 15 || 25th April || Example Polymorphism ||  ||
 * 16 || 27th April 2011 || Inheritance Examples Revisited ||  ||
 * 17. ||  || Lab Assessment 2 ||   ||
 * 18. || 16th May 2011 || IO Java ||  ||
 * 19. || 19th May 2011 || Lab Assessment Again ||  ||
 * 20. || 23rd May 2011 || Interfaces in Java ||  ||
 * 21. || 26th May 2011 || Demos of the assignment handed ||  ||
 * 22. || 2nd June 2011 || Exception handling in Java ||  ||
 * 23. || 7th June 2011 || GUI discussion and delegates ||  ||