IS – 0020 Programming Design and Software Tools
5:45 -8:10 Thursdays, CL 239

Contact Information
Instructor: Stephen Hughes
Phone:  624-1178
e-mail:  shughes@mail.sis.pitt.edu
Office:  IS B208
Office Hours:  Tuesdays 11:00 - Noon
Wednesday 3:00 - 4:00
or by appointment
Course Web Page: http://www2.sis.pitt.edu/~shughes/classes/fall00/is0020.html
GSA:  Jamie DeVoogd
e-mail jdevoogd@mail.sis.pitt.edu
Office IS A206
Office Hours Tuesday 1:30 - 2:30pm


Course Content
The following is a tentative schedule of the topics that we will cover.
 
Date Topic Readings Activity
Aug 31 Class Overview
Introduction to C++ Programming
Chap. 1  
Sept 7 Control Structures  Chap 2 Assign 1 Due
Sept 14 Functions Chap 3 Quiz 1
Sept 21 Arrays Chap 4 Assign 2 Due
Sept 28 Arrays and Structs  Chap 4, 6.1-6.4
Oct 5 Pointers & Strings Chap 5 Assign3 Due (Oct 9)
Oct 12    
Mid-term
Oct 19 Review Mid-term
Oct 26 Data Structures, File Processing Chap 14.1-14.5, 15.2-15.4, 17.5 Quiz 2
Nov 2 Introduction to Classes Chap 6 Assign 4R, 5
Nov 9 More Classes Chap 6-7 Quiz 3
Nov 16 Operators Chap 8 Quiz 4
Nov 23
Classes Cancelled: Thanksgiving Break
Nov 30 Inheritance Chap 9 Assign 6
Dec 7 Final Exam


Grading
 
20% Quizzes
40%  Assignments
40% Exams


Course Materials
    Required: C++ How to Program. Deitel & Deitel. 3rd Edition. 2000.
    Optional: C++: An Introduction to Programming. J. Liberty, J. Keogh. 1996.
    Optional: The Annotated C++ Reference Manual. M. Ellis, B. Stroupstrup 1990
I don't anticipate explicitly referring to any material in either of the optional texts. They are provided in case you want additional references.
Prerequisites

INFSCI 0015: Data Structures (or equivalent). This means that I have the following expectations:

    1. You to have experience writing and debugging programs use the following constructs:
    2. You have been exposed to the following concepts:

Course Policies

Academic Honesty
Honesty and integrity are qualities we respect in ourselves and in others. Therefore, you are expected to be fully aware of your responsibility to maintain a high quality of integrity in all of your work. Furthermore, you are expected to have read and understood the University Guidelines for Academic Integrity. Any unauthorized collaboration or copying will result in no credit for the affected assignment (at minimum!)

Submitted Work
By submitting work under your name, you are indicating that you have completed the assignment. This means that you should be able to completely explain every line of code in your program. Failure to be able to account for your coding decisions (to my satisfaction) will be reflected in your grade.

Late Assignments
One of the goals of this course is to train you to accurately and efficiently program in C++. Your grade will measure how well you achieve this goal. However, I understand that circumstances conspire against us all, and when 3 term papers and a programming assignment are due within a 24-hour span, something has to give. Therefore, you have 5 late days that are penalty-free to use at your discretion (i.e. you may use them on a single assignment, or distribute them over several assignments.). Any submission beyond your grace period will be penalized 20% per day.

Resubmitting Assignments
Another goal of this class (or any educational experience), is to be able to learn from our mistakes. Whenever your submissions contain errors, you will have 7 days to resubmit a corrected version for up to 50% of the difference.

Office Hours
Office hours are an opportunity for you to clarify details you may have missed in class. They are not a place to get answers on the assignment. If you come to office hours with a problem on the assignment, you should come prepared to answer questions, as well as asking them. Additionally, you need to make sure that you have access to an electronic version of your code.



Assignments

 Assignment 1 : Due  Sept 7

 Assignment2 : Due Sept 21  ( Sample exe )

 Assignment 3 : Due Oct 9  (Sample Main).

Assignment 4:  Due Nov 2 (wumpus.zip)  !!  Assignment 4 Revised (caves.zip)
                                                               Sample exe for Assignment 4R

Assignment 5:  Due Nov 7  (this is an extension of Assignment 4, 4R)

Assignment 6:  Due Dec 11 queue.zip



Notes

Week 1
Week 2
Week 5: Data & Memory
Week 6
Week 9
Week 10
Week 11
Week 12queue.zip

Quiz 4 Answers