Skip to content

The style grader for EECS 183 at the University of Michigan.

License

Notifications You must be signed in to change notification settings

stevemer/183style

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

183style

Build Status Coverage Status Open bugs Stories in Ready

183style is the backend of the automated C++ style grader written for and used by EECS 183 at the University of Michigan. This package is continuously integrated into https://github.com/vianuevm/183_style_grader, which provides the front-end interface for students to interact with the grader.

##Installing

For now, just git clone the repository and run python setup.py install -- eventually this will be packaged and added to PyPI.

##Getting Started with 183style

We'll let you know as soon as we know!

##Release Notes

ReadTheDocs coming soon, once things actually work well enough to merit documentation.

##Development

183style is still in development, and contributions are welcome! Fork away and have at it. Here's how the package works at the moment:

  1. style_grader_main.py (driver) creates a StyleRubric, which does the heavy lifting.

  2. StyleRubric.load_functions pulls all enabled functionalities out of rubric.ini, looks them up in their respective files and plugs them in for grading.

  3. The StyleRubric then calls "grade_student_file" function on all files:

    for self.current_line_num, code in enumerate(clean_code):
         for function in self.single_line_checks: function(self, code)
         for function in self.multi_line_checks: function(self, clean_lines)
         ...
    
  4. If an error is discovered, the StyleRubric class adds an instance of the StyleError class to its ever growing list of errors. This list is eventually returned as the final result.

About

The style grader for EECS 183 at the University of Michigan.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.3%
  • C++ 8.7%