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)

Warning

You should not use this autograder as your primary test mechanism, but it will provide some immediate feedback. In fact, your submissions will be rate-limited so that you can only submit to the autograder 5 times every hour. This is to help encourage you to test locally before relying on the autograder!

You should test that your wordcount.c can compile and run on calgary.

Error messages should be sent to stderr, unless otherwise noted. If the error message isn’t prescribed in the assignment, you should choose something reasonable and informative.

Manual-grading part (8 points)

At the top of the file, include a header comment containing your name, the date of code creation, and a concise description of the program’s functionality.

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.

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.