Programming Research -- Please Particpate

Do you have some time to do a simple programming problem in C for my research?
I want to see how C programmers solve a simple programming problem, CircularBuffer. There are no tools to set up. You will work on my cyber-dojo system. It has a build environment and a simple IDE.

Here are some of the instructions you will find when you do the exercise

Write a CircularBuffer module in c and make sure it works.

* A CircularBuffer is sized during create.
* It stores integers.
* It is FIFO.
* It can report its total capacity
* It can report if it is empty
* It can report if it is full
* Putting to a full CircularBuffer
  * returns false
  * loses no prior values
* Getting from an empty CircularBuffer returns a
  default value provided during create function.

For this exercise, do not worry about:
* Null pointers
* Concurrency

CircularBuffer Diagram

Starting point
The CircularBuffer interface is defined in CircularBuffer.h.
You must develop your implementation to that interface.  
The architects said so.

You have all the files you need, and should not need to
add files or modify the makefile.

Do all your work from within this cyber-dojo environment.
Pressing the 'test' button saves, builds and then runs your code.

Write CircularBuffer.c.  Once it compiles, test that the
CircularBuffer is working.  Use the provided main.c to exercise
your CircularBuffer.  Feel free to use printf or whatever you
would normally do.  Do not use any unit test framework.
Please do all your work in this cyber-dojo environment.

NOTE: In main.c that there is a 'exercise_state' variable.
It is initially set to 'writing'.  Once you finish writing
code, and are going to start testing, set the variable to
'testing'. Once you are satisfied that your code works, set it 
to 'working'. 

If you are interested, please email me for a link to your exercise using address 'research AT wingman-sw DOT com'.

Published: January 05, 2018