COMP 121: Data structures. Fall 2000
Do your fellow-students a favor – please complete this on-line, entirely student-managed,
feedback form
[12/21/2000]
The course grades will be submitted to the registrar’s office by Friday (tomorrow), and you should be able to look them up via the WWW from the reigstrar’s homepage. I’m afraid I cannot respond to grade queries by email – thank you for understanding this.
I had a great time teaching this course this semester – hope y’all learned something useful, too. Have a great break!!
-Sanjoy
Grade distribution thus far
Course syllabus
in Word format
in HTML
Instructor’s office hours
TuTh 2:00-3:00
Teaching assistant
Huajun Luo (huajun@cs.unc.edu)
Office: SN 038
Office hours:
TuTh 3:15-4:45
Unix help
Getting started with X-Win32
Getting started with the Emacs editor
Prof Kye Hedlund’s crib sheet
Prof Hedlund’s list of some basic Unix commands
Further help, from UNC’s ATN
crib sheet for the debugger gdb
Programming assignments
Assignment 0 (due September 5th)
HTML
Word
- Assignment 1 (due September 25th)
HTML
Word
Assignment 2 (due October 4th)
HTML
Word
DataSets: One, Two, Three, Four
Your colleague Tony DeLuca has written a C++ program for generating random datasets – feel free to use it to test your program.
(
Note: You only need to submit the output files for datasets One and Two; your timing analysis must be for all four data-sets. If your program does not run for some of the larger datasets, then state this in your submission.
Please delete the input and output files after you use them – the larger files take up a lot of space. If your directory cannot accommodate a file, store it – temporarily – in the directory
/tmp )
- Assignment 3 (due October 24th)
HTML
Word
Data file is here -- use a dictionary-size of 500
Rules for submitting the remaining programming assignments:
Do not submit programs that will not compile. Signing the honor code is an acknowledgement on your part that your code compiles and executes. If your code does not compile, you get a zero.
No honor pledge ==> you get a zero.
We will be VERY strict in grading the remaining programs: everything asked for – design plan, test plan, data and output files, etc. – must be submitted in order to receive any credit.
Remember – you must perform acceptably in the programming assignments in order to obtain a passing grade in this course.
- Assignment 4 (due November 14th)
HTML
Word
Assignment 5 (due December 7th)
HTML
Word
Data file is here
Reading/ practice assignments
By September 5th, you should have read all of Chapter 1 of the text, and should be completely familiar with all the C++ features covered there.
Practice problems from Chapter 1 (page 38): 1.5, 1.6, 1.7, 1.8a-c, 1.11, 1.12
Practice problems from Chapter 2 (page 62): 2.1, 2.2a, c-d, 2.3, 2.5, 2.6
Further practice problems from Chapter 2: 2.7(a), 2.10, 2.13, 2.14, 2.15, 2.22
Read Chapter 3.1, 3.2.1-3.2.6 of the text – you need these for the first programming assignment
Practice problems from Chapter 3 (page 116): 3.1, 3.10, 3.17, 3.20
Further practice problems from Chapter 3: 3.28, 3.29, 3.30
Read Chapter 4.1, 4.2, and 4.3 of the text
Practice problems from Chapter 4 (page 170): 4.2, 4.4 – 4.6, 4.9, 4.16
Further practice problems from Chapter 4 (page 170): 4.19, 4.20, 4.22, 4.25
Practice problems from Chapter 6 (page 246): 6.2 – 6.3, 6.10, 6.16
Practice problems from Chapter 5 (page 204): 5.1a-c, 5.4, 5.16
Class handouts
[08/24/2000] Sample C++ program
[08/24/2000] Sample C++ program – separate .h, .cpp. Separate compilation
[08/29/2000] Sample C++ program – file input-output
[08/31/2000] A note on software testing
[09/09/2000] A note on operators
[09/11/2000] Sample C++ program – class template definition
[09/11/2000] Sample C++ program – class template use; function template definition
[09/14/2000] A note on program documentation
[09/15/2000] Sample C++ program – I/O for a class template
[09/20/2000] Sample C++ program – Array implementation of the list ADT
[10/03/2000] Partial implementation of the binary search tree ADT and a program that uses this ADT.
[10/17/2000] An example program that illustrates command-line arguments, the use of string input-output, and the use of the eof() method on files.
[10/17/2000] Sample C++ program on inheritance handed out in class.
[10/18/2000] A note on inheritance
[10/19/2000] Another C++ program on inheritance handed out in class.
[10/26/2000] Partial AVL tree implementation
[11/21/2000] Matrix implementation of graphs, and the test program, discussed in class
Some transparencies used in class
[08/31/2000] Run-time efficiency
[09/05/2000] Big-Oh notation
[09/21/2000] Intro to Stacks & Queues
[09/28/2000] Intro to Binary trees
[12/-7/2000] Course Review
Rod Howell’s Java implementation of
binary search trees