Programming Assignment 1: The Byzantine Generals Problem¶

Due: Thursday, April 23rd @ 8pm

In this programming assignment, you must implement the OM(m) algorithm described in The Byzantine Generals Problem. You are allowed to use any programming language you want and, before the deadline, you will be able to test your solution using Kattis, a website that allows students to submit solutions to programming problems, and have them evaluated automatically by running a series of test cases on the submitted solutions. Please note that, while you are allowed to use any language, Kattis itself only supports a limited number of languages; if you do not use one of their supported languages, you will not be able to test your solution on Kattis (but you will still be able to submit your code for grading).

The full specification of the programming assignment is available on Kattis:

You are not provided with any starter code; you must implement your solution from scratch following the provided problem specification.

For more instructions on how to use Kattis, please see our Using Kattis page.

You will each be provided with an individual Git repository on the department’s GitLab server to work on your programing assignments. Place your work for this programming assignment in a top-level pa1 directory. Besides including your code in this directory, you must also include a README file with precise instructions on how to compile and run your code on a CS machine.

You must submit your work using chisubmit. The assignment identifier you should use is pa1.