Requirements Checker (stage 3 -- implementation)

Due: Mon Mar 2 by 7pm

Overview

It's time to start implementing the requirements checker to support multiple requirements. You will produce a version for peer review and feedback from classmates, then have one more opportunity to make modifications before we finalize this project. For this week, we are focusing on the logic (controller) and the model, not the user interface. The UI will be the last step (next week).

Assignment Tasks

Task 1: Copy your TESTING.md file to a new name TESTING-MULT.md and expand your testing strategy as needed to cover multiple requirements. If your testing file already covered multiple requirements, still make the copy. If you have to make changes to your testing strategy as you start to implement, make those changes to the TESTING-MULT file (we want to be able to compare the two files at the end).

You might find it useful to modify your CLAUDE.md file to tell it to only edit the TESTING-MULT and DESIGN-MULT, rather than the single versions.

Task 2: Implement the core logic of the checker. You should provide:

You choose the type of the concentration input (e.g., a name, some other structured type). You also choose the structure and type of the result output. You will have a chance to see variations of choices and their impacts during the peer review portion next week.

Don't forget to test your work as you go. Don't save your testing to the end. As you develop tests, focus on one feature or part of the code at a time and develop/run a good set of tests for it. Focusing on tests for a piece at a time helps the testing portion manageable from a cognitive perspective.

Task 3: provide a README.md file that tells someone how to (a) set up a concentration for your system and (b) run it in each of the two modes above.

Task 4: Don't forget to maintain your reflection journal

Submission

Push everything to your repo by the deadline, and submit your research journal link.

Grading

Your goal is to produce code that:

You will engage in a round of peer-review with your classmates to get feedback before you have to submit your final version (which you'll finish between Thurs-Tues a week from now). That final version will include a user interface and a way for Kathi to test your system. Details on those will be released next week. Your overall grades on this project will come from (a) the testing file which you submitted in stage 2, (b) the peer review that you will do in stage 4, and (c) the final version that you submit for stage 5.