THE ARAB AMERICAN UNIVERSITY



THE ARAB AMERICAN UNIVERSITY

College of Information Technology

Programming Fundamentals II

Course # 11041200

Syllabus, Spring 2008

Prerequisite: Programming Fundamentals I (11041101)

Instructor: Zakiya Tamimi, room 11103B, Tel: 04-2510801 ex 605, ztamimi@aauj.edu

Textbook: C++ How to Program (4th Ed) by Harvey M. Deitel and Paul J. Deitel. Book slides are available at

Lecture: NTR 12:00 – 1:00 room 11005.

Office hours: NTR 11:00 – 12:00, NTR 1:00 – 2:00

Course Description: This course demonstrates advanced topics in C++ including: Pointers, Object Oriented Programming, String manipulation, and file processing. It is necessary for the student as a prerequisite for Data Structure and Principles of Object Oriented Programming.

Learning Outcomes:

1. Understand pointer variables, their operators and applications.

2. Learn to use pointers to pass arguments by reference.

3. Understand the relations between pointers arrays and the usage of arithmetic operators on pointers.Learn to use and implement the basic string manipulation functions: strlen, strcpy, strcat, and strtok.

Learn how to define user-defined types using struct and class in C++.

Understand basic concepts of object oriented programming including: data-members, methods, and access privilages.

Learn to define and implement a class with access functions, utility functions, constructor and destructor.

Understand the concept of "this" pointer.

Learn to define and call friend functions.

Learn how to define new classes as composition of other objects and how to access methods of internal object.

Understand restrictions on operator overloading, how to define operator function as a method or as a friend function and how to call the operator function.

Learn how to extend existing classes using inheritance.

Learn to define and use function and class templates.

Understand basics of exception handling.

Learn input/output stream manipulation.

Learn basics of file processing.

Topics

|Week 1 |Quick review of functions and arrays |Chapter 3 and 4  |

|Week 1 |Introduction to pointer variables and operators, |Sections: 5.2 and 5.3 |

| |L-value and R-value | |

|Week 2 |Calling functions by reference and pointer arithmetic. |Sections: 5.4, 5.6, and 5.7 |

|Week 3 |Relationship between pointers and arrays, and string |Sections: 5.8, 5.9, and 5.12 |

| |processing | |

|Week 4 |User-defined types, accessing class memebers, and types|Sections: 6.2, 6.3, 6.5, and 6.8 |

| |of access priviliages | |

|Week 4 |Access functions and utility functions. |Sections: 6.9, 6.12, and 6.15 |

|Week 5 |Constructors, Desctructors and default arguments |Sections: 6.10, 6.11, 6.13, and 6.16 |

|Week 6 |Using this pointer, friend function |Sections: 7.5, and 7.4 |

|Week 7 |Composition, static class members |Sections: 7.3, 7.7 |

|Week 8 |Function overloading, operator types, restrictions on |Sections: 3:20, 8.2, and 8.3 |

| |operator overloading | |

|Week 8 |Overloading operators as methods and as friend |Sections: 8.4, 8.6, 8.7, and 8.11 |

| |functions. | |

|Week 8 |String class |Section: 8:10 |

|Week 9 |Introduction to inheritance, protected members |Sections: 9.1, 9.2, 9.3, and 9.4 |

|Week 10 |Three level inheritance, constructors and destructors |Sections: 9.5, 9.6, and 9.7 |

| |in derived classes | |

|Week 10 |Types of inheritance |Section: 9.8 |

|Week 11 |Functions templates and class templates | |

|Week 12 |Exception handling | |

|Week 13 |Input and output streams | |

|Week 14 |File Processing | |

Evaluation:

|1st exam |25% |Week 5 |

|2nd exam |25% |Week 10 |

|Final |50% |Week 16 |

What to expect during class meeting:

▪ In class discussion will mostly utilize white board

▪ Occasionally I will demonestrate some actual programming in class.

▪ Take some quick notes and avoid copying everything on the board.

▪ Attendance is very important to understand the material.

▪ You don't lose points for missing a class and you don't have to present an execuse.

▪ A pop quize is possible at the beginning of any class; earned points are bonus.

How to study:

▪ Textbook and slides will serve as study material

▪ Sutdy on weekly basis and avoid last minute studying.

▪ Practice by programming examples on your machine at home or using open-lab hours.

▪ All exercises are self-assesment and won't be graded.

How to make use of office hours:

▪ You can bring questions, problems, solution and even codes to office meeting.

▪ Read related material before ask a question.

▪ Make an attempt to solve a problem before asking for help.

Exams policy:

▪ All exams are closed-book, closed-notes.

▪ Midterm exams are one-hour and scheduled by the department.

▪ Final exam is three hours and is according to university finals schedule.

▪ Any make up exam has to follow university policy in that regard.

▪ A make up test can possibly, but not necessarly, be more difficult than original test.

▪ Your final grade is the sum of all earned points; there's no curve or push up.

|Grad |Min |Max |

|A |88 |100 |

|A- |84 |88 |

|B+ |80 |84 |

|B |76 |80 |

|B- |72 |76 |

|C+ |68 |72 |

|C |64 |68 |

|C- |60 |64 |

|D+ |56 |60 |

|D |50 |56 |

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download