Spring 2024 [Bono]
All students should use their PA5 workspace to complete this milestone. The Lab 13 workspace is only for DEN students to submit the lab (similar to how Lab 5 worked): they will also use the PA5 workspace for working on the lab. More information for DEN students at the end of this document.
Note: it is possible to complete your assignment without doing this milestone. However, this lab concerns a specific test program; no lab credit will be given for a completed PA5.
Because this involves code you will be turning in for a programming assignment this lab must be completed individually (i.e., not as part of a partnership) and because of the size of the problem you will ideally spend significant effort on it before your lab section (See Advanced Preparation section below for more details.)
This milestone is too large to do start-to-finish during one lab period. Ideally you'll have the milestone code pretty much written and tested before the lab period to get all the lab points: your lab period serves as a deadline for having this code working.
However, even if you don't have much chance to work on the assignment before the lab, you can use the lab session as a pre-scheduled 2-hour block of time to work on your assignment with TA help available. If you are behind, you should still be able to get Exercise 1 completed during the lab period.
To help avoid version control problems, there are no separate starter files for this lab: complete it in your Vocareum PA5 workspace, unless you are using some outside IDE. There is a Lab 13 workspace, but it is solely for DEN students to submit their lab. This means DEN students will need to do a little extra at the end to submit it (details at the end of the lab).
The Makefile for the programming assignment will also work to compile the milestone. Use the command
make pa5listto compile your milestone code.
For this check-off point, you will only need to have stub versions of all of the operations (involves changes to listFuncs.cpp and listFuncs.h , plus a main function that tests all of them thoroughly with hard-coded data in pa5list.cpp. That means, of course, thinking through what the interesting boundary and "normal" cases are for each of these functions. To help organize your code, you may want helper functions for main that test each list function separately, e.g., testRemove would contain all the tests of listRemove.
For check-off show the TA your "working" program running and explain the various test cases. You do not have to get this part checked off before starting on Exercise 2.
For checkoff show the t.a. your working complete or partial pa5list program.
If you did your work using the Vocareum IDE you should have completed your work in the PA5 workspace. When you are ready to submit your lab, you will need to copy this work to the Lab 13 workspace. You can do this by selecting work folder in the file list in PA5 on Vocareum and choosing Copy (menu above that list). Then going to Lab 13 and choosing Paste (same menu). It will create another subdirectory called work with the new files. You can then use Linux commands to move the files into your home directory (that's where the Submit script will expect them). If you worked outside of the Vocareum IDE, you should upload your Milestone into the Lab 13 workspace, compile and test it there, and then submit it.
When you click the Submit button in the Lab 13 workspace, it will be looking for and compiling the files pa5list.cpp, listFuncs.h, and listFuncs.cpp. Make sure you put your name and loginid in all the files you submit.