CIS 67: Program Design and Abstraction
Class Log Fall 2000
- By 12/13/00
- By 12/09/00
- More on classes and objects.
- Dynamic storage management: new, delete.
- Two dimensional arrays interpreted as one dimensional arrays.
- Relation between pointers and arrays.
- By 12/02/00
- The purpose of classes/objects.
- Constructors, destructors, friends, operators
including some notes.
- Strange definitions such as "const int * const (*a)[2][3]".
- By 11/18/00
- We have seen insertion sort and the merge algorithm.
- We have seen structures and their purpose.
- Why constructors and defined operators.
- 11/09/00 - By 11/11/00
- We know manipulators [see example].
Thus chapter 5 should be understood.
- We have seen examples of enumerated data types.
- We have seen examples of recursion
[see examples].
- 10/28/00 - By 11/04/00
- We are now confortable with arrays: chapter 9 is history. And we know
most of chapter 10, arrays of composite objects and strings.
- We are also confortable with files, we know how to use them, we know basic
methods [in addition to the methods we used for cin and cout, we have seen
open, close, fail, eof].
- We now know also C strings
and command line parameters.
- 10/28/00 - By 10/28/00
- We have continued using arrays. We have done selection sorting and binary search.
We have looked at the time complexity of these operations.
- We have started working with files. We have seen that we need to include fstream,
that we need to connect ifstreams to the files we want to read from, and to connect
ofstream to files we want to write to. For the rest files feel much like cin and cout.
- We have seen mysterious things called cstrings. We need to know more about them.
- 10/28/00 - By 10/21/00
- We have worked on arrays. We know how to use arrays, pass them (by address)
to functions and methods. We have done linear search.
- We have put down loop invariants
that help us better understand what is done in a loop.
- We have continued with strings and seen that by default objects are passed by value
to procedures.
We have seen a few more methods for cin and cout, get, put, putback, ignore, getline
as sown in this program.
- 10/09/00 - By 10/16/00
- Up to now we have been doing things in the first four chapters
and some in chapter 7.
By the end of this week we will have worked through chapter 7 (More Flow of
Control - without enums), done character functions from chapter 5, done
strings as indicated in
these
notes.
- We will have introduced informally the concept of array, and the array
notation, to the extent required to use strings.
- We will have discussed homework 5, the computation of Fibonacci
numbers, the Euclidean algorithm for computing the GCD of two
numbers, and played with string manipulation functions.
- We have knowledge by example of what classes and their instances are.
- 09/23/00 - By End of Week of 9/30/00
- We should be able to write small programs consisting of a single file, main program
plus one or more functions. The functions can have parameters and return a value. The
parameters may be passed by value or by reference (and we have seen passing by address).
- We have no problem with our tools (editor, compiler, mail, commands) using Unix.
- We have read (and understood) the first four chapters of the Savitch textbook.
- We have used in a very primitive way strings and input and output streams.
But we have no clue as to what they are (classes? instances?).
- 09/12/00 - By End of Week of 9/16/00
- We have accounts on NOVA (Windows NT) and Snowhite (Unix)
- We have seen how to use the PCs to telnet to the unix account and there, log in,
edit source files, compile them using g++, run them, send the source files to the TA
using email.
- We have quickly gone over the first two chapters. We know what are predefined data types,
some declarations (variable declarations, constant declarations, simple functions),
executable statements (assignment, input, output, function call, conditionals,
loops, return, break, continue). We need to go carefully again over this material.
But we are in the position to write significant programs.
- We have done a simple homework (printing out our initials in capital letters)
and we are working on a more complex problem (determining if a number is a prime).
- When uncertain, we try simple programs, we talk with our colleagues, we ask the TA,
we ask the teacher. And of course we first read the book.
- 08/28/00 - Before Class on 9/6
- This is hard to do, since probably you will not look here until
after the first day of class. But if you can, try to review what you
learned in previous programming classes. Start reading the first
chapter of the textbook.