An open API service indexing awesome lists of open source software.

https://github.com/oleks/trafaret

Template-Driven Programming Exercises
https://github.com/oleks/trafaret

exercise programming templates

Last synced: 11 months ago
JSON representation

Template-Driven Programming Exercises

Awesome Lists containing this project

README

          

``trafaret`` — Template-Driven Programming Exercises
====================================================

The solution to a small programming exercise usually adheres to one of a set of
possible templates.

``trafaret`` helps with grading, when this is the case.

Using ``trafaret`` effectively requires you to be attentive: teachers readily
undermine the creativity of their students, and pose overly liberal programming
exercises, having an infeasible set of solutions. This is why I use the word
"exercise", rather than "task": to emphasize that ``trafaret`` is not
well-suited for more open-ended programming tasks.

Despite these formal shortcomings, ``trafaret`` can help you bootstrap your
students.

``trafaret`` should not be used as the sole judge of solution quality.

Project State
-------------

.. image:: https://travis-ci.org/oleks/trafaret.svg?branch=python3
:target: https://travis-ci.org/oleks/trafaret

Templates
---------

When it comes to programming, variations in the following are readily stripped:

* Whitespace
* Comments
* Naming (up to alpha equivalence)
* Order of certain groups of tokens (e.g., the order of functions in a module)

In some cases, you might also want students to adhere to a style guide. This is
beyond the scope of ``trafaret``: use a linter.