CSCI 146: Programming Assignments

1. The Statistician Class. This is Programming Project 2 on p.83 of text, due at the beginning of Lab4, on September 15 or 16. See Michael Main's web page describing the assignment . That page includes links to pieces of code that you must use in carrying out your assignment. Since some of you are having trouble downloading this code using Microsoft Explorer from the PCs, I am also providing links here to local copies of the header file stats.h and the interactive test file stattest.cxx.

Here are two implementation files containing solutions to the Statistician Class: statsa.cxx and statsb.cxx . Note how the constructors are different in the two solutions.

2. The List Class with a Dynamic Array. This is programming project 2(a) on p.200 of the text. You should reuse the material for Lab 3 (the List class from Section 3.2 of the text) as much as possible. This program is due at the beginning of Lab 6, on Monday, September 29, or Tuesday, September 30.

3. Extending the Linked List Toolkit. You are asked to extend the Linked List Toolkit of Section 5.2 of the text by adding four new functions, called list_occurrences, list_insert_at, list_remove_at, and list_copy_segment. See Michael Main's web page describing the assignment . That page includes some comments that are specific to Unix tools, such as emacs, make, and gdb; you may safely ignore these comments. The page also contains links to pieces of code that you must use in carrying out your assignment. Since some of you are having trouble downloading this code using Microsoft Explorer from the PCs, I am also providing links here to local copies of the header file linkplus.h , the partial implementation file linkplus.cxx and the interactive test file linktest.cxx. This program is due at the beginning of class on Thursday, October 16, 1997.

Here is an implementation file providing a solution to the linked list toolkit assignment.

4. The n-Queens Problem. . This is Programming Project 9 on p.344 of the text. You must follow the outline given in the text and, in particular, use a stack as indicated there. You may use either the static array implementation of the stack or the linked list implementation of the stack, which are fully described (with code) in Chapter 7. If you like, you may use the dynamic array implementation of the stack, which is briefly discussed in Chapter 7, but without code. This program is due at the beginning of class on Tuesday, October 28.

5. Four Small Recursive Functions. Click here for the specifications of this assignment, as written by Michael Main. Please ignore the comments that are specific to the Department of Computer Science at the University of Colorado. Your program is due at the beginning of class on Tuesday, November 18.

6. Binary Search Tree to Linked List Converter. This is programming project 8 on p.490 of the text. It is due at the beginning of class on Thursday, December 4.

7. Towers of Hanoi, Recursive Version. This is programming project 12 on p.421 of the text. It is an optional assignment that can be used to offset the lowest score obtained in one of the six regular assignments. It can only be used if the other six assignments were turned in. It is due at the beginning of class on Thursday, December 4.