CS 250 Computer Programming and Problem Solving - FALL 1998 |
---|
[ Home | Syllabus | Notes | Glossary | CS250 WEB Version Home Page | Project Page | Final Study Guide]
Title | CS 250 Problem Solving and Programming |
Instructor | Chris Wild |
wild@cs.odu.edu | |
Phone | (757) 683-4679 |
Home Page | http://www.cs.odu.edu/~wild |
Lectures | Tuesday/Thursday 4:20-5:35 PM |
Office | ED 249-2 |
Class Room | BAL 104 |
Office Hours | Tues/Thurs 2:30-4:00 PM or by appointment |
Textbook | C++ and Object-Oriented Programming, Kip Irvine, Prentice Hall, 1997, ISBN 0-02-359852-2 |
Lab Book | A Practical Guide to the Unix System, Mark Sobell, Benjamin Cummings, 1995, ISBN 0-8053-7565-1 |
Objectives: Upon successful completion of this course, the student will have gained an increased understanding of problem solving techniques in software systems. Students will be introduced to recommended methods of program design, development, and implementation. Methods of decomposition, abstraction, and problem solving techniques will be presented. Students will be provided with a working knowledge of Object-Oriented Design and Programming.. The role of experimentation in Computer Science will also be discussed. This course is based on the C++ language and introduces UNIX and X windows and associated tools to the students.
Laboratory: is a co-requisite for this course. Students who are not registered for one of the sections of CS 250 lab will not be allowed to remain registered in CS 250.
Attendance: Attendance at classes is not generally required, but students are responsible for all material covered and announcements made in class. Consequently, if you are going to miss class, be sure to get notes, handouts, etc., from another class member. Class notes and other information will be available at the following WebSite: http://www.cs.odu.edu/~cs250.
Late/Missing Work: If a course project assignment is not turned in on the due date or tests are missed, they will receive a grade of zero unless prior permission has been given by the instructor.
Please note that the due dates for assignments are designed to allow more than enough time to complete the assignment. Occasional hardware failures are a fact of life in the computing field. Unless unusually severe or prolonged, such problems are not cause for a due date extension. Similarly, the 48 hours before an assignment due date invariably feature heavy competition among students for the available computing resources. Such competition is never an acceptable reason for requesting an extension. Budget your time accordingly!
Cheating: Everything turned in for grading in this course must be your own work. The instructor reserves the right to to question a student orally or in writing and to use his evaluation of the student's understanding of the assignment and of the submitted solution as evidence of cheating. Violations will be reported to the Honor Council for consideration for punitive action. However, it is entirely appropriate seek and give assistance on procedural matters (such as how to send e-mail, how to run the debugger, how to send files from a home PC to a UNIX workstations). If there is any question on whether a particular behavior is appropriate, the student is encouraged to seek guidance from the instructor.
Grading:
Tests (2) | 10% each |
Course Project | 25% |
Lab Work | 25% |
Final Exam | 30% |
Schedule: (approximate)
Topic |
Reading From Irvine Textbook (page numbers in parentheses) |
Date |
Introduction | Chapter 1 (1-21) | Sep 1 |
Prob Solving & Soft Eng | handouts | Sep 3 |
Class on Classes | Chapter 2 (22-42) | Sep 8 |
Classier Classes (revised) | Chapter 2 (43-59) Chaper 3 (71-72) | Sep 10 |
Function Overloading and Stream I/O | Chapter 3(73-96) | Sep 15 (last date to withdraw 1/2 tuition) |
Composite Classes | Chapter 4(106-127) | Sep 17 |
OO Analysis: Class Relationships/Behaviors | Chapter 4 (106-127) | Sep 22 |
1) Examples of OO analysis, design and
implementation 2) Additional Notes |
Chapter 5 (149-177) | Sep 24 |
Test Review | Chapters 1-5 (1-177) | Sep 29 |
***** Test 1 Answers ***** | Oct 1 | |
Additional Notes OO Design | Chapter 5 | Oct 6 |
OO Design | Chapter 6 (178-219) | Oct 8 |
Examples Derived Classes | Chapter 7 (220-254) | Oct 13 |
Dynamic Memory Allocation | Chapter 7 (220-254) | Oct 15 |
Templates and Linked Lists Review | Chapter 11 (377-416) | Oct 20 |
List Objects | Chapter 11 (377-416) | Oct 22 |
Project discussion and Lists continued | Oct 27 (last day to withdraw) | |
Test 2 Review | Chapters 6,7 and 11 | Oct 29 |
***** Test 2 Answers***** | Nov 3 | |
Testing and Example of Random Generation | Handouts | Nov 5 |
***** Project phase 1 due ***** | Nov 10 | |
Review Test 2 | Nov 10 | |
Project discussion/analysis | Nov 12 | |
Templates revisted | Chapter 10 (349-372) | Nov 17 |
Algorithm Analysis | handouts | Nov 19 |
***** Project phase 2 due ***** | Nov 19 | |
Project discussion/analysis | Nov 24 | |
Exception Handling | Chapter 8 (281-299) | Dec 1 |
Operator Overloading | Chapter 9 (303-325) | Dec 3 |
Polymorphism/ Recursion | handouts | Dec 8 |
***** Course project due ***** | Dec 8 | |
Last class -- review | Comprehensive | Dec 10 |
***** Final exam ***** | Comprehensive | Dec 15 (3:45-6::45 PM) |