Assignment 3 - Bits and Character Encodings
Due: Thursday, September 28, at 10:00pm
Starter code: bits-package.tar
Upload solutions via Moodle as: bits.tar (see below)
Goals
This assignment is designed to help you with the following:
- practice with bit operations (
~,|,&,^,<<,>>) in C - dig into the details of the UTF-8 character encoding
- practice with writing your own tests
Rubric
This assignment is worth a total of 15 points. They are allocated as follows:
1 - author name (and collaborators) in a comment at the top of bits.c
2 - to_upper correctness
2 - to_lower correctness
3 - middle_bits correctness
3 - to_utf8 correctness
2 - from_utf8 correctness
2 - code quality
Note that “correctness” in this rubric includes “meets all documented specifications”. So, for example, if you don’t follow the requirement that to_upper may only use bitwise operations on the chars in s, as described in the documentation for to_upper, that will detract from your “to_upper correctness” score.
Your assignment
In this assignment, your job is to implement the five functions described in bits.h; all of your coding will be done in bits.c.
The only file you are required to submit is bits.c. You may include your own main.c and Makefile (starter versions of which are included in bits-package.tar), but we will use our own main.c and Makefile to do our testing and grading.
Keep the following in mind as you do your work:
- You should only write code in
bits.c(the starter version is provided for you). - Do not change
bits.h. - You will submit your file(s) as
bits.tarvia Moodle.
Getting started
Download the file bits-package.tar and extract it while ssh’ed into mantis. Then, take a look at the readme.txt file to get an idea for how to build and/or test your code.
Finally, read the descriptions of the functions in bits.h. After that, you’re ready to start!
Handing it in
You should build a bits.tar file as your submission. This is provided for you using the make build-tar option in the Makefile:
build-tar: bits
tar cf bits.tar bits.c
If you want to add extra files in your submission (main.c and Makefile, as mentioned above), you can change the Makefile as follows:
build-tar: bits
tar cf bits.tar bits.c main.c Makefile
To submit this assignment, you should upload your bits.tar to the Bits and Character Encoding assignment on Moodle.