ECE 2524

Introduction to Unix for Engineers

Do my scores approach a normal distribution?

Usage

  • The README contained everything I needed to easily use the program:

  • The program compiles/runs without errors:

  • The program worked as advertised:

    as a reviewer said, the error checking needs improvement, when I enter '90%' instead of '90' for the confidence interval

Style

  • The code is cleaning divided into modules and multiple files:

    It would have been a cleaner design to separate out the statistical calculations in a separate source file and put only UI code in main(). Like our wordfreq project.

  • Variable and function names are meaningful:

  • Comments are used where appropriate:

    using a standard docstring format would allow for automatic generation of documentation with a tool like Doxygen

Philosophy

  • The program most closely follows the ed-like interface pattern:

    it would make sense to also accept input from standard input, if provide, like bc does. A true ed-like interface would have just a single type of prompt, data semantics would be determined by the command, not the prompt.

  • This choice of pattern is a good one for this application:

    This type of application would be best implemented using a cat-like filter UI pattern. An interactive interface could still be provided as a light wrapper. After I get grades in I will provide an example of how this could be done.

  • This program follows the Rule of Silence and Least Surprise:

    Given the implementation as an ed-like interactive program the amount of output was acceptable. Entering the confidence interval as an integer isn't intuitive since it is a percentage. I would expect the program to handle either '90%' or '.90' or '.9', but '90' isn't a valid confidence interval. Also, when I press Ctrl+d to close standard input I would expect the program to print summary statistics and exit.

  • This program follows the Rules of Modularity and Composition:

    I would like to see a cleaner separation between the algorithm and interface

  • This program follows the Rules of Representation and Simplicity:

    All data is coming from user input, which is good.