Athene is a tool designed to help students learn to program by providing many concrete, discrete tasks whose solutions can be automatically verified to provide immediate feedback to students. This model is the antithesis of the semester-long project. Following this approach, students complete many dozens of assignments during the semester instead.
Students in a particular class are presented with a sequence of programming assignments for that class. Each assignment consists chiefly of a problem number, name, full description and a due date. Based on the description provided for the assignment, the student writes a solution to the assignment and submits it for immediate scoring. Each submission is called an attempt and immediately receives a score via an automated scoring mechanism.
Typically the student will be unsuccessful on their first attempt; in this case feedback is provided, specifying why the solution was not completely acceptable. While the exact feedback is dependent upon the curriculum author, generally specific test cases (i.e., exact test input and expected output) are provided to the student. The student is then encouraged to improve upon their solution and submit another attempt.
Again, the specific policies are highly configurable, but generally multiple attempts are allowed without penalty. This allows the student to iterate and hopefully master each assigned task, rather than try once and fail without feedback. Generally assignments and student attempts remain available to the student for later reference, including the option to submit an attempt for scoring and feedback whose due date has passed (not for the grade but for the feedback).
The teacher for a particular class primarily creates assignments for the students. This consists of selecting and ordering problems from a problem-bank, also known as a curriculum.
Teachers may view and export the scores, number of attempts, actual submissions, etc. for their class and individual students. Teachers may also force an attempt to be regraded or override the automated score for an assignment.
Follow this link to setup Canvas integration.
The author of a curriculum is responsible for creating a collection of problems designed to progressively challenge the student. Curricula are intended to to survive from semester to semester and improve as additional (incorrect) solutions are discovered.
For more information about how you can use this tool in your own courses contact email@example.com.