Up : Teaching
 

                                         Computer Science 115 - Object Oriented Design
                         
                                                       Course Outline $\bullet$ Winter 2007
 
 
 
Time of Lectures: Wednesday  7-10pm Room:  CL408
     
Labs: CS115 Lab
     
Instructor: Dr Malek Mouhoub Office: CW308.13
     
Office hours: Tue 10:00-12:00 and Th 10:00-11:00
or by appointment
 
     
Required Text: Problem Solving, Abstraction, and Design using C++, 5th Edition
by Frank L. Friedman, Elliot B. Koffman
 


.
Recommended Text C++ How to Program
by Harvey M. Deitel, Paul J. Deitel

     
Method of Evaluation: Assignments (posted on WebCT) 25%
  Lab Test 10%
  Midterm Exam (Wed March 07)
25%
  Final Exam  40% 

 

Topics(as time permits)
 

  1. C++ Overview [PDF]
    1. Program Structure. (ch 2)
    2. Data Types. (ch 2 and ch 7)
    3. Control Structures. (ch 4 and ch 5)
    4. Functions and Top-Down Design. (ch 3)
  2. Arrays and Structures [PPT] [PDF] (ch 9)
    1. One-dimensional Arrays
    2. Searching (linear and binary) and Sorting (selection sort and bubble sort)  Arrays. Introduction to Big-Oh notation.
    3. Structures and Unions.
  3. ADTs and Classes  [PPT] [PDF](ch 10) (ch 6 Deitel)
    1. Object-Oriented Design.
    2. Encapsulation and Information-Hiding.
    3. Behavior and Implementation.
    4. Software Reusability.
    5. string class.
  4. Modeling Data with Arrays, Structures and Classes. [PPT] [PDF] (ch 11)  (ch 7,8 and 11 Deitel)
    1. Multidimensional Arrays.
    2. Array of Structures.
    3. Generecity, Function Templates and Class Templates.
    4. The Indexed List ADT.
    5. Operator Overloading and Friends.
  5. Inheritence and Polymorphism. [PDF](App E) (ch 9-10 Deitel)
    1. Base Classes and Derived Classes.
    2. Subclassing for Specialisation/Specification.
    3. Relationships Among Objects in an Inheritance Hierarchy.
    4. Polymorphism, Virtual Functions and Dynamic Binding.
  6. Pointers and Dynamic Data Structures. [PPT] [PDF](ch 13)
    1. Pointer Operations.
    2. Pointers to Structures.
    3. Heap Management.
    4. Linked Lists.


References
Resources




Policies
  1. Information about the course appears in this Web page. Changes will be made here and/or  posted to the course mailing list (cs115@cs.uregina.ca). All the assignments are posted on WebCT.
  2. WebCT should be used for all assignments submissions. Email and Hardcopy submissions are not accepted.
  3. Late assignments are not accepted for any reason and will receive 0 points, except for extensions granted to the entire class.
  4. Any question regarding assignment submission or marking should be promptly adressed to the marker (mark115@cs.uregina.ca).
  5. You can discuss the assignment with other students but MAY NOT read, copy, or exchange other student's code.
  6. Out-of-class help is available from your Professor and  can take one of the following ways of communication:
    1. face to face: please respect in this case the office hours posted in this web page and on office door,
    2. through email (from your UofR or CS account) to the instructor (mouhoubm@cs.uregina.ca). Note that any email sent from any account, other than UofR or CS, will likely not reach the instructor.
    3. or using the course mailing list (cs115@cs.uregina.ca).
  7. Attendence is expected in lectures and labs. Little time is available to assist those who have missed relevant classes.
  8. The midterm exam is closed book and will be given during the regular lecture meeting time in the regular  classroom.
  9. The final exam is closed book and will be cumulative, but with more emphasis on material covered after the midterm.
  10. You must pass the final exam in order to pass the course.