F11_CSE142_Object_Oriented_Programming

=CSE142: Object Oriented Programming=

Program:
BS(CS)

Semester:
Fall 2011

Instructor:
Farhan Ahmed Siddiqui fsiddiqui@iba.edu.pk, farhan@uok.edu.pk

**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:


 * Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction, inheritance, and polymorphism;
 * Design, implement, test, and debug simple programs in an object-oriented programming language;
 * Describe how the class mechanism supports encapsulation and information hiding;
 * Design, implement, and test the implementation of “is-a” relationships among objects using a class hierarchy and inheritance;
 * Compare and contrast the notions of overloading and overriding methods in an object-oriented language;
 * Explain the relationship between the static structure of the class and the dynamic structure of the instances of the class
 * Understand the requirements for Exception Handling and Delegates

Books:
1) Professional C#, Wiley Publishing, Inc. http://www.wiley.com 2) Beginning C# 2008 Objects: From Concept to Code Copyright by Grant Palmer and Jacquie Barker 3) C#: The Complete Reference, By Herbert Scheldt 4) C# 2010 For Programmers DEITEL® DEVELOPER SERIES

Web Resources:
[]

Grading Policy:
Hourly Exams : 30% (15 + 15) Final Exam : 35% Quizzes : 10% Assignment : 10% Project : 15%

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

Virtual and Non Virtual Methods ||  || Indexers & Interfaces ||  || Delegates & Multi Cast Delegates ||  ||
 * ==**Topics Covered in the Course **== ||
 * S.No || Date of the lecture || Topic of Lecture || Additional Reference Material ||
 * 1 || Week 1 || Basic Concepts of Object Oriented Programming ||  ||
 * 2 || Week 2 || Classes and Objects Examples ||  ||
 * 3 || Week 3 || Static and Instance Methods, Encapsulation & Examples ||  ||
 * 4 || Week 4 || Constructor / Static Constructor / Destructor Examples ||  ||
 * 5 || Week 5 || Inheritance Concepts & Examples ||  ||
 * 6 || Week 6 || Method Overloading
 * 7 || Week 7 || Concepts Review ||  ||
 * 8 || Week 8 || Payroll Implementation Example ||  ||
 * 9 || Week 9 || Polymorphism Concepts & Examples ||  ||
 * 10 || Week 10 || Operator Overloading Concepts ||  ||
 * 11 || Week 11 || Error & Exception Handling,
 * 12 || Week 12 || GUI Concepts,
 * 13 || Week 13 || File Streaming & Database Concepts ||  ||
 * 14 || Week 14 || Case Study: ATM Case Study & Implementation ||  ||
 * 15 ||  ||   ||   ||
 * 16 ||  ||   ||   ||
 * 17 ||  ||   ||   ||
 * 18 ||  ||   ||   ||
 * 19 ||  ||   ||   ||
 * 20 ||  ||   ||   ||
 * 21 ||  ||   ||   ||
 * 22 ||  ||   ||   ||
 * 23 ||  ||   ||   ||
 * 24 ||  ||   ||   ||
 * 25 ||  ||   ||   ||
 * 26 ||  ||   ||   ||
 * 27 ||  ||   ||   ||
 * 28 ||  ||   ||   ||


 * ==**Laboratory Projects/Experiments Covered in the Course (optional) **== ||
 * S.No || Date of the Lab || Topic of the Lab || Additional Reference Material ||
 * 1 ||  ||   ||   ||
 * 2 ||  ||   ||   ||
 * 3 ||  ||   ||   ||
 * 4 ||  ||   ||   ||
 * 5 ||  ||   ||   ||
 * 6 ||  ||   ||   ||
 * 7 ||  ||   ||   ||
 * 8 ||  ||   ||   ||
 * 9 ||  ||   ||   ||
 * 10 ||  ||   ||   ||
 * 11 ||  ||   ||   ||
 * 12 ||  ||   ||   ||
 * 13 ||  ||   ||   ||
 * 14 ||  ||   ||   ||