Computer Science 173
Intermediate Computer Science

Denison

Week Day Topics Reading
Due
HW / Project
Due
1 Overview and C++ Basics
1/14
to
1/18
M Course Admin; C++ Top Level Syllabus
T Lab: Learning the tools in Linux Denison Linux
W C++ Types -- Primitives, Constants, and Arrays Sec. 2.1-2, C.6-9;C++ for Java Prog (up to Enumerations)
F Control Structures and Software Engineering Ch. 1 and Sec. C.10 Turingscraft 1
2 C++ Basics
1/21
to
1/25
M No class -- MLK Observance    
T Types, Conditionals and Iteration Appendix C.10  
W Arrays and memory; C-style strings (null terminated) Sec. 3.2  
F C-style Structs and memory Sec. 3.5 Homework 1
3 Dynamic C++, Memory and Pointers
1/28
to
2/1
M Enums and Pointer introduction Sec. 2.3-2.4 Turingscraft 2 -- Conditionals and Iteration
T Dynamic Arrays and Pointers and the new operator Sec. 3.4  
W Commenting, Style, and Pointer arithmetic   Turingscraft 3 -- Arrays and Techniques2
F Function invocation and Reference Parameters Sec. C.11 Homework 2
4 Intro to Classes
2/4
to
2/8
M More reference parameters and functions; Quiz redux    
T Introduction to Classes Sec. 4.1-4.3 Turingscraft 4 -- Functions
W Continuing with Classes -- Interface (.h) and Implementation (.cpp)   Turingscraft 5 -- Pointers and Strings
F Practicing Classes with the Card/Deck/PokerHand   Turingscraft 6 -- Class Definitions
5 Continuing Basic Classes and List ADT
2/11
to
2/15
M Class Development continued    
T Unsorted List ADT; Dynamic creation and Constructors/Destructors Sec. 4.4
W Continue Unsorted List ADT and Test Review   Homework 3
(Thursday 5:00pm)
F Midterm1    
6  
2/18
to
2/22
M List ADT implementation issues, static vs. dynamic object creation, release, and access Sec. 6.1-6.3
T List driver tips; separate compilation; Operator overloading  
W Assignment overload -- motivation and "How to"   Homework 4 (Thursday 11:59pm)
F Linked List introduction Sec. 6.3-6.5
7  
2/25
to
2/29
M Practicum with Node wrapper and Links    
T Copy constructors    
W Copy constructors    
F Assignment overload   Homework 5 phase 1 by class time
8  
3/3
to
3/7
M Homework 4 Redux and Stack intro   Homework 5 complete
T Stream insertion overload and Stacks Sec. 7.1-7.5
W Stack working session    
F Stack Programming Contest   Homework 6 (due by class time)
9  
3/17
to
3/21
M Linked List Copy Constructor; Queue intro Sec. 8.1
T Queue implementations Sec. 8.2-8.3
W Template Classes Sec. 9.1, 9.3
F Queue Programming Contest Sec. 8.4
10  
3/24
to
3/28
M Doubly Linked Lists and SortedList ADT Sec. 11.3 Homework 7
T Midterm review    
W Midterm2    
F Recursion Sec. 10.1-10.3  
11  
3/31
to
4/4
M Recursion Practicum    
T Midterm2 Redux    
W Last midterm question; recursion continued   Homework 8
F Recursion conclusion incl. Function call stack    
12  
4/7
to
4/11
M O(n^2) sorting algorithms Chapter 13  
T Mergesort    
W Quicksort   Homework 9: Nyhoff Prog Probs Ch 10: 7, 21, 22, 25
F Quicksort Split algorithm; Sorting Out Sorting    
13  
4/14
to
4/18
M Huttenlocher talks    
T OOP: Encapsulation, Inheritance, and Polymorphism Chapter 14  
W Inheritance    
F  Academic Awards Convocation   Homework 10
14  
4/21
to
4/25
M  Binary Search Trees    
T  Binary Search Trees    
W      
F      
4/28 M      Homework 11



 All rights reserved, Thomas C. Bressoud and Denison University
For problems or questions regarding this web, contact bressoud@denison.edu.
Last updated: 08/20/04.