Up: Computer Science 272 Software

Updated Schedule

This class meets every Monday, Wednesday, and Friday from 11:00 AM to 11:50 AM, except on University holidays or if I cancel class.

All dates in the following schedule are tentative, except those fixed by the University; if some topic listed here as taking one lecture in fact takes two lectures to cover adequately, or vice versa, the schedule will shift.

Note that the reading assignments for the first half of the course have little or nothing to do with the corresponding lectures. Feel free to organize your time differently, so long as you finish chapters 0--3 and Appendix C before we start on C++.

I expect you to have read the reading assignments before the lecture that deals with that topic; this way I can concentrate my time on answering questions and clarifying subtle or difficult points in the textbook, rather than on reading the textbook to you, which will bore both of us. Please read ahead!

Date(s) Assignment Reading Lecture Subject
22 Jan Administrivia, ``what is software engineering?''
24 Jan wait for textbook Typographic techniques for readability
26 Jan HW1 wait for textbook Constants, enumerated types, and defined types
29 Jan wait for textbook Avoiding duplicate code
31 Jan 0, 1--1.2 ``Chunking'' with modules and functions
2 Feb 1.3--1.6 Abstraction and information-hiding
Last day to add courses
5 Feb HW1 due 1.7--1.9 Objects vs. sequence
7 Feb Appendix C Data stored in objects; CLOS slots
9 Feb HW2 2--2.4 Classes and subclasses in CLOS
12 Feb 2.5--2.8 Operations on objects; run-time polymorphism
14 Feb 2.9--2.10 Programming with CLOS generics and methods
16 Feb HW3 2.11 How to design an object-oriented program
Last day to drop courses
19 Feb HW2 due 2.12--2.14 HW2 questions and help with Scheme
21 Feb 2.15--2.16 Scheme: the Read-Eval-Print loop
23 Feb 2.17--2.21 Scheme: symbols and quote
26 Feb HW3 due 3--3.5 HW3 questions and Scheme.
28 Feb non-HW 3.5 3.6--3.8 Recursive programming in Scheme
1 Mar 3.9--3.10 Discuss Scheme, midterm; catch up
4 Mar 3.11 Catch up, review for midterm
6 Mar Midterm exam
8 Mar Centennial Symposium; no classes
11 Mar 5--5.1 Objects in C++: aggregating data
13 Mar 5.2--5.3 Objects in C++: class member functions
15 Mar 5.4--5.5 Writing member functions; public and private
18--22 Mar Spring vacation; no classes
25 Mar HW4 5.6 OO design of a Scheme interpreter
27 Mar 5.8 OO design of a Scheme interpreter
29 Mar 5.9 OO design of a Scheme interpreter
Last day to withdraw from courses
1 Apr Interfaces and shared classes
(April Fool's Day)
3 Apr 6--6.1 Constructors and destructors
5 Apr Good Friday; no classes
8 Apr HW5 6.2 More on writing member functions
10 Apr HW4 due 8--8.2 Inheritance in C++
12 Apr 8.3--8.4 Interfaces and Implementations in C++
15 Apr 9--9.1 Polymorphism in C++
17 Apr 9.2 Complications with multiple inheritance
19 Apr 10--10.1 More on OO design of large programs
22 Apr I'm going to a conference; I'll
either cancel or get a substitute
24 Apr HW6 10.2 And yet more
26 Apr HW5 due Catch up
29 Apr 10.3 Catch up; discuss interpreter
1 May Catch up; discuss interpreter
(May Day)
3 May Catch up; discuss interpreter
6 May Catch up; discuss interpreter
10 May HW6 due Review for final exam
17 May 10:30--12:30, Final Exam

Miscellaneous topics, to fit in wherever I can

Up: Computer Science 272 Software

Dr. Stephen Bloch
Wed Apr 3 10:37:50 EST 1996