Last modified April 19, 2012

COMP 271, Spring 2012—Schedule

In the early part of the course, we'll try to adhere to this regular pattern:
Tuesdays:Discussion and review of important programming concepts and practices.
Thursdays:Detailed examination of a chapter (or part of a chapter) in the Collins textbook
Laboratory / homework exercise
Then in the second half of the course, we'll pick up the pace, covering the rest of this highly concentrated data-structures material in roughly the sequence of the textbook chapters.

NOTE: The schedule may be changed in response to students' backgrounds and interest or to adjust to the difficulty of certain topics.

s
Date Topic(s) Reading
Web articles may contain links to other interesting items.
Asgn.
given
Asgn.
due
Jan 17 Course introduction
Review of Java
Object-Oriented paradigm—Part 1
Collins 0 - 0.4
Is Binary Still Important?
Why Are We Instantiating non-Objects?
1 -
Jan 19 Object-Oriented paradigm—conclusion
Recursion
Collins ch. 1
& 5.1 - 5.4
Stop Computing Factorials
- -
Jan 24 Program Quality Source-code Readability
(with related links)
2 -
Jan 26 Using Java
Testing
How does Java work?
Too Many Strings
Collins ch. 2
Please Enter . .
Avoid Redundant Data Validation
- -
Jan 31 Data type and representations Data Item Taxonomy - 1
Feb 2 Efficiency of algorithms Collins 3.1 - 3.2.1
Analysis of algorithms
3 -
Feb 7Testing strategies and
Review of Java program structure
Unit Testing
Think-first programming
- -
Feb 9 Parameterized types
Arrays and ArrayLists
Collins ch. 4 & 6 - 6.2
Atrocious programming thrives
- -
Feb 14 Role of the programmer - 4 -
Feb 16 Parameterized types
Stacks & queues—concepts
Collins ch. 8
Java's Casts of thousands
- 2
Feb 21 Stacks & queues—underlying representation
1. Array based
2. Linked-node based
Collins 6.3 & ch. 7 - -
Feb 23 Review of first half of course
Extended workshop exercise
Binary Trees—General concepts
Helpful diagrams and definitions from the University of Vermont
Collins ch. 9 - 3
Feb 28 Mid-term examination - - -
Mar 1 Binary trees and intro.
to binary-search trees
Mid-term examination suggested answers
Collins through 10.1.2.3
5 & 6 -
Mar 13 Binary Search trees
applications
Collins 10.1.2.4 through 10.1.2.6
Wikipedia definitions
- 4
Mar 15 Rotations
AVL trees
Collins rest of ch. 10, incl. projects 10.1 & 10.3 (not to do, just to read) - -
Mar 20 Sorting & searching, part 1 Collins. 11-1 through 11.4.2
Too many primitive items
Assignments 3 & 4 sample solutions
- -
Mar 22 Sorting. part 2 Collins: rest of ch. 11 - (5)
Mar 27 Red & black trees
Map Interface
Collins 12.1 through 12.2 - -
Mar 29 Tree Maps and Tree Sets Collins 12.3 through 12.5 - -
Apr 3 Priority Queues
Heap Sort
Huffman codes
Collins 13.4 through 13.5
Collins 13.1 through 13.3 7 -
Apr 5 Holiday - - -
Apr 10 Hashing Collins 14.1 through 14.2 - 6
Apr 12 Hash maps & hash sets Collins ch. 14.3 through 14.5
Some Objects shouldn't be Hashed
8 -
Apr 17 Graphs and networks—Introduction Collins 15.1 through 15.3 - -
Apr 19 Graphs, trees, &: networks—Details and algorithms Collins 15.4 through 15.5 - 7
Apr 24 Graphs, trees, & networks—more algorithms Collins 15.6 through 15.7 - -
Apr 26 Review and course summary Collins Appendix 1 - 81
May 1 Final Examination2 Suggested answers to Part A
and Part B
- -

NOTES:
1—Assignment 8 may be turned in May 1 with the final exam. However you won't have the graded copy for study or for the open book part of the exam.
2—Note time change: 4:15 until 6:00 P.M.
rescinded!   We're back to 4:45 until 6:30.

Return to syllabus