DU Computer Science Bootcamp: Systems Assignment 6

Due: Wednesday November 25 at 11:59pm


For this assignment you will be converting some functions into a class. After completing your program, you will submit it via the department's Git server.

Converting code to a class

You will take code that is based upon Systems Assignment 3 and convert it to classes.

You should make a class named BitMatrix which follows RAII, has functions setBit, clearBit, toggleBit, testBit, and print. Your conversion should remove unnecessary parameters from the functions. For example, in Assignment 3, the functions needed to take as parameters the matrix to modify, and the total number of rows/columns. These are not needed after the conversion because they should be attributes of the BitMatrix class.

Your conversion should also split the program into header (.h) and implementation files (.cpp) using good programming practices like include guards. The test code should be in a separate file from the main BitMatrix implementation, and it should be a collection of free functions, not a class.

In the end you should have five files, two header files and three implementation files. The file containing the main function should have only the main function and does not need a corresponding header.

Starting Code

Start with this code. If any problems pop up, please email Will.

Submission

Your work must be submitted via the department's Git server. To do so, perform the following steps:

  1. Use the existing "bootcamp" repository you created for Systems Assignment 1
  2. Create a "systems_assignment6" directory and place your source code in it
  3. Commit your changes and push them to the department's server
  4. When complete you should verify the files are present by using the web interface.
If you have any questions or problems with the submission system, email Will.