Computer Science 115 - Object-Oriented Design
Course Outline
sadaouis@uregina.ca
Have a nice
semester!
|
|
|
|
|
Labs: |
||
|
|
|
|
|
Instructor: |
Office: CW308.14 |
|
|
|
|
|
|
Office Hours: |
MWF 1:30-2:30pm or by appointment |
|
|
|
|
|
|
Required Textbook: |
Problem
Solving, Abstraction, and Design using C++ |
|
|
Optional Textbook: |
C++ How to
Program |
|
|
|
|
|
|
Grading Scheme: |
Assignments |
20% |
|
|
Lab |
15% |
|
|
Midterm Exam |
25% |
|
|
Final Exam |
40% |
Major Topics
·
C++ Overview (chapters 2, 3, 4, 5 and 7):
C++ Program
Structure, C++ Language elements, Data Types, Selection and Repetition
Statements, Functions and Top-Down Design.
·
Arrays and Structures (chapter 9):
One Dimensional Arrays, Array Arguments, Searching (linear and binary)
and Sorting (selection sort and bubble sort) Algorithms, Structures and Unions.
·
ADTs and Classes (chapter 10; chapter 6 of Deitel):
Object-Oriented Design, Class Definition
and Implementation, Encapsulation and
Information Hiding, Public vs Private Access, Classes as Arguments, String Class.
·
Modeling Data with Arrays, Structures and
Classes (chapter
11; chapters 7, 8 and 11 of Deitel):
Multi-Dimensional
Arrays, Arrays of Structures, Function Templates, Class Templates, Indexed List
Class, Stack Class, Operator Overloading, Friend Functions, Separate compilation.
·
Inheritance (appendix E; chapters 9 and 10 of
Deitel):
Base Classes
and Derived Classes, Single and Multiple Inheritance, Protected members, Overriding, Constructors and Destructors Calls.
·
Pointers and Dynamic Data Structures (chapter 13):
Pointers and new operator, Pointer Operations, Pointers to Structures, Heap Management, Linked
Lists Operations, Linked lists as Class Templates, Stack Class, Queue Class.
Marking scheme of Assignments
·
Readability (program style): 10%
- program easy to
read,
- well commented,
- well structured
(layout, indentation, whitespace, …)
·
Compilation and execution process: 20%
- program compiles
without errors and warnings
- robustness:
execution without run time errors
·
Correctness: 70%
- code produces
correct results
- the output meets
the requirements (check for the output format)
Policies
1. An average of 65% in CS110 is recommended for CS115.
2. The class web site is:
www.cs.uregina.ca\~sadaouis/CS115/index115.html
3. Announcements and other relevant information will be
sent to the mailing list: cs-115-001@uregina.ca
4. Lecture notes, assignments and projects will be posted
on UR Courses.
5. E-mail questions can be directed to your Professor at sadaouis@uregina.ca.
You should
always use your UR or CS account. If you send messages from other e-mail
addresses, they will be ignored.
Include “CS
115” at the beginning of the subject e-mail.
6. Electronic submission of all assignments through UR
Courses.
The first page of your submission
should indicate your name, student ID, assignment number and e-mail address.
7. All your C++ programs SHOULD compile with CC (Sun Compiler) under the server Hercules.
From the third assignment, you
will submit a makefile.
8. LATE assignments will not be accepted without medical certification.
Partial marks will be given for incomplete assignments.
Students should
start working on the assignments as soon as they are posted on UR Courses.
9. For each assignment, the due date and time will be
posted on UR Courses.
It is the
responsibility of the student to make sure that the assignments have been
successfully submitted through UR Courses before the deadline.
You can check for that by opening
and viewing the uploaded files. Make sure that all the necessary files were
uploaded.
10. You should not read, copy or share other
students' work. Please consult the section of the university calendar on
Academic Misconduct and Penalties.
11. If you have a complaint about any marking, attach a
note to your assignment/exams and submit it to the instructor.
12. The midterm is closed book and will be given during
the regular lecture meeting time in the regular classroom.
13. The final exam is closed book and will be cumulative,
but with more emphasis on material covered after the midterm.
14. Lecture attendance is mandatory!