This EXploratory Project is intended to be a vehicle for you and your teammates to showcase your ability to apply the tools and techniques covered prior to EXP01 being due (compiler, make, git, gdb, Criterion, TDD (Test Driven Development), software testing, and application of the 'golden rules'). Make sure your use of git provides evidence of the steps you've taken and the tools you've used. Use well named branches, commit often (e.g. write and commit tests prior to writing and commiting implementation code), add samples of gdb output to the repo, record your plans as well as the outcomes of actions taken in commit comments. Remember, your job is to convince whoever grades your work that you and your teammates actually followed the proper steps in the proper order, used tools effectively, etc. Simply adding in a commit comment that you "used gdb to track down a bug" is not sufficient evidence. When you work on a bug, create a bugfix branch, write tests that reveal the presence of the bug, run Criterion to prove that the tests fail due to the bug, commit with a description of the bug and possible fixes, work on a fix, run tests, capture Criterion output to show your progress, capture gdb output to demonstrate the results of your investigations, add to the commit comments why you used gdb, what you expected to find, what you did find, etc. This is the level of detail expected. There needs also to be evidence that all team members contributed equitably to the project. You can contribute team meeting minutes to the repo as well.
DescriptionONE member of your team (you keep the same team as for PRE) must follow the link before to first set up a team in GitHub classroom. They must name their team according to their Piazza group. For example, team 72 will create a team named "Team72-" followed by whatever fun name you want (e.g. "Team72-PuttingBugsInCodeSince1972"). Once a team has been created all team members must click to join that team (be sure to select the correct team). Once you have joined your team you can clone the common team repository.
Accept assignment