- Sep 9 - Read Ch 1-5 - Copy, compile, and run the program on the back of
the assignment sheet.
OOPS! I didn't run the program before I duplicated it. If you see
this note, delete the cout statement that I originally typed, and put in these
2 statements instead:
user_input -= 3;
cout << "I have modified your character. It is now "<< user_input;
Hand in a hardcopy of your source code and the output of your program for 3 different runs.
- Sep 16 - Read Ch 6-10 Winston and sections 4.6 (p 123) and 5.1 (p 143) in Stroustrop. Then write a program that prints out information about EECS/CS 284. Define a class that holds the data about the course and defines methods to perform operations (like inputting and printing) on the data.
Hand in a hardcopy of your source code and the output of your program for 1 run.
Central campus people can put it on the door at 1829 East Hall. North Campus people put it under the door at 1213 EECS.
- Sep 23 - Read Ch 11-14 in Winston and sections 5.2.2 (p 146) , 5.2.4 (p 150) and 5.2.6 (p153) in Stroustrop. Then rewrite your class from Program 2 to include private data members (data hiding), at least 2 constructors, and access functions (data abstraction) for appropriate data members. Write a program that prints out information about the courses you are taking this term, using your rewritten class. Use each of your constructors at least once.
Hand in a hardcopy of your source code for Program 3 and the graded Program 2 and the output of your new program for 1 run. Central campus people can put it on the door at 1829 East Hall. North Campus people put it under the door at 1213 EECS.
- Sep 30 - Read Ch 15-16 in Winston and pp. 181-187 in Stroustrop. Write a main header for your project. Include a rough sketch of what the input and output will look like. Draw a preliminary class hierarchy.
Explain the design principles you used.
Hand in the header, the I/O description, the class hierarchy and the design
explanation.
- Oct 7 - Read Ch 17-20, 30-31 - Revise your project design, redraw the new class hierarchy and rewrite the main header. Write a detailed description of each class as an abstract data type. Write code for one of your classes and a driver to show what it does.
Hand in the new class hierarchy and main header, the ADT description for each class, the source of the code you have written and the output it produces.
- Oct 14 - Read Ch 21-26 - If necessary, revise your design, redraw the new class hierarchy and rewrite the main header. Write code for another class and add code to your driver to show what it does. Add at least one array of class objects to your code and include the capability to read the information from a file and write any changes out to a file.
Hand in hardcopy of the source code, input file(s), output file(s), and output
for your program. If you revised your design, hand in the revision information.
- Oct 21 - Midterm Exam
- Oct 28 - Read Ch 27-29 - Continue to develop your project. Change the array(s) of class objects from the previous assignment to an array of pointers to base
class objects.
Hand in hardcopy of the source, output, etc.
- Nov 4 - Read Ch 36, 40-42 - Add character strings to your project.
Hand in hardcopy of the source, output, etc.
- Nov 11 - Read Ch 32-35, 37 - Rewrite your member functions and other functions so your constructors call other constructors and you use call-by-reference where appropriate. Include the keywords private, protected, and public where appropriate.
Hand in hardcopy of the source, output, etc.
- Nov 18 - Read Ch 38-39 - Overload the output operator and any other operators you want to handle instances of your classes.
Hand in hardcopy of the source, output, etc.
- Nov 25 - Read Ch 43-46 - Break up your program into header files and code files. Write destructors and copy constructors for your classes, where appropriate.
- Dec 2 - Read Ch 47 - 50 - Finish the project.
Hand in hardcopy of the source, output, etc.
- Dec 9 -