[MSOE Homepage]

Dr. Taylor's MSOE homepage

Courses

Unix is a Four
Letter Word

My Photo Album

My Personal Homepage



LABS

Lab 1 -- Microsoft Visual C++

Lab 2 -- Using cin and cout

Lab 3 -- Gas Mileage

Lab 4 -- Hanoi Tower

Lab 5 -- Parity Checker

Lab 6 -- Hamming Coder

Lab 7 -- Cannon Video Game

Lab 8 -- Gas Mileage Revisited

Lab 9 -- Estimating Pi

CS-200 - Engineering Software Design

Fall Quarter 1998



Electrical Engineering and Computer Science Department
Dr. Christopher C. Taylor

S-331, 277-7339
t a y l o r@m s o e.e d u (remove spaces)
www.msoe.edu/~taylor/

This course provides a foundation in the design and implementation of computer programs using an object oriented approach and the C++ programming language. Particular emphasis is placed on the design, documentation, and testing of programs. Topics include data types, control constructs, and the STL library. (prereq: CS-100 or equivalent) (2-2-3)

Textbook

Structured and Object-Oriented Techniques, 2nd Ed., by Andrew Staugaard, Jr., Prentice-Hall, 1997.

My Schedule

MON TUE WED THU FRI
10:00 CS200 S210
11:00 CS200 S210 CS200 SG40 CS200 SG40 X
12:00 X CS321 S359 CS321 S307 CS321 S359 CS321 S359
1:00 DEPT MTG Office Hour CS321 S307 Office Hour Office Hour
2:00 Office Hour CS321 S307 Office Hour
3:00 Office Hour
additional office hours by appointment.

Quizzes

A quiz will be given at the beginning of each lab period. The lowest quiz score will be dropped. No make-up quizzes will be given.

Laboratory

Each student must submit an individually written report for each laboratory assignment. Reports should include software code written as part of the lab project and should conform to the specified documentation standards. There is a 20% per class late penalty for lab reports submitted after the scheduled due date. No reports will be accepted after 5:00pm, November 13, 1998.

Exams

There will be two hour exams and a comprehensive final in this course. It is your responsibility to be present for all exams. Please contact me in advance if you have a valid conflict with a scheduled exam.

Grading

Quizzes: (Mondays)

15%

Lab projects:

35%

Exams: (Oct 2 and Oct 30)

30%

Final exam: (TBA)

20%

Total:

100%

Attendance

Attendance in class and lab is expected. If you decide to drop out of the course, it is your responsibility to notify the registrar. I will not drop you for missing class. If you stop coming to class without notifying the registrar that you are dropping the course, it is likely that you will receive an "F" grade.

Professionalism

Students are expected to act in a professional manner in dealing with all matters pertaining to this course. In particular, deceptive practices of any sort are unacceptable. Note that copying is not necessarily unprofessional; engineers copy good ideas from many sources all the time (subject to ethical and legal constraints). If you do copy something, you must give credit to the source (e.g., article, book, fellow student); also, be sure you understand anything that you copy, as you will be responsible for it.

Lab projects are to be your own work. This does not mean that you cannot discuss ideas and approaches with other students or faculty, but the final product must be yours alone. If you have any question as to what types of cooperation are acceptable, please talk to me.

Announcements

You are responsible for assignments and announcements made in class or lab. You should periodically check the Web pages for this course.

Special Needs

If you have special educational needs, it is your responsibility to meet with me in my office in the first three weeks of the quarter to discuss them.

Feedback Wanted

I am interested in your feedback on how I can make this course better. Please feel free to stop by my office or send me email with suggestions on how I can make this a better class for you. Don't wait until evaluation time because I won't see those comments until the quarter is over.

Tentative schedule:

Date Topic Reading Assignment
Sept 8 Review of object oriented development
Sept 11 Problem solving and data abstraction 2-40
Sept 14 Lab 1 -- Microsoft Visual C++
Sept 15 Classes and objects 41-87
Sept 18 Input/output streams 97-141
Sept 21 Lab 2 -- Using cin and cout
Sept 22 Files streams 142-157
Sept 25 Standard operations in C++ 163-170
Sept 28 Lab 3 -- Gas Mileage
Sept 29 Examples 171-203
Oct 1 Exam I
Oct 5 Lab 4 -- Hanoi Tower
Oct 6 If/else statements 211-227
Oct 8 Switch statements 227-243
Oct 12 Lab 5 -- Parity Checker
Oct 13 Looping operations 251-296
Oct 15 Non-void functions 304-315
Oct 19 Lab 6 -- Hamming Coder Lab 6
Oct 20 Void functions 316-333
Oct 22 Examples 334-370
Oct 25 Lab 7 -- Cannon Video Game
Oct 26 Exam II
Oct 29 Arrays 378-389
Nov 2 Lab 8 -- Gas Mileage Revisited
Nov 3 Example 390-423
Nov 5 Standard Template Library introduction Supplemental material
Nov 9 Lab 9 -- In lab, no report
Nov 10 STL list containers
Nov 12 Strings
Nov 16-20 Final Exam