Up: Computer Science 272
Software
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 |
Up: Computer Science 272
Software