This homework will be worth a total of 50 points.

There will be an autograder, AND a manual-grading part for this homework. You are encouraged to resubmit until you earn a higher score on the auto-grading part before the due date. However, we will only do manual grading once, after the late period is over.

Auto-grading part (42 points)

StringUtils

You should check that the test cases provided with the starter code pass. However, we may check your code against additional hidden tests.

Executable

You should check that it behaves as intended with the provided .category files, and it’s a good idea to try it out with some other Wikitext files using the scripts you made in the previous HW.

Manual-grading part (8 points)

At the top of the file, include a header comment containing your name and UWNetID, the date of code creation, and a concise description of the program’s functionality. A header comment template is included in the starter code.

Include descriptive comments throughout your code to explain the purpose and functionality of different sections. Comments should provide clarity and aid understanding for others.

Use good style, including helper functions and naming conventions. Make sure you declare your functions (prototypes) before defining or using them in the code. Comments should be written above the prototypes and/or above the function definitions themselves.

Code efficiency is important. Minimize unnecessary input/output (I/O) operations. You may consider storing variables as needed, even if more than strictly necessary. Utilize pointers when appropriate for efficient data passing between functions.