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
- Host: GitHub
- URL: https://github.com/oleks/trafaret
- Owner: oleks
- License: other
- Created: 2017-03-26T11:06:58.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-28T17:10:11.000Z (almost 9 years ago)
- Last Synced: 2025-02-10T13:44:05.709Z (about 1 year ago)
- Topics: exercise, programming, templates
- Language: Python
- Homepage:
- Size: 92.8 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.md
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.