From WeBWorK_wiki
Jump to navigation Jump to search

Achievements (or Mathchievements) are gamification features designed to reward students for solving homework problems and for practicing good WeBWorK behavior. In a nutshell, students can earn achievements by meeting preset goals. For example, they might earn an achievement for solving 3 homework problems in a row without any incorrect submissions, or for solving a problem after taking an 8 hour break. Earning achievements and solving problems earns students points and after a student gets enough points they will be given a new Level. Depending on settings the math level may come with an Achievement Item. Students can view their current level and their progress towards various achievements by visiting the Achievements page. Instructors can modify and administer achievements by using the Achievement Editor page.

Enabling Achievements

To enable Achievements go to the Course Configuration page and under the General tab set the Enable Course Achievements option to true. From this page you can also change the default number of "Achievement Points" awarded to a student for getting 100% on a problem and enable Achievement Items.

  • Note: By default the Achievement Points Per problem is set to 5. This value is such that if the default level thresholds are used in a course with approximately 200-230 problems per semester then most students will get to level 9 or 10 by the end of the course. If you use fewer or more than 200 problems in your courses then you should adjust the Achievement Points Per Problem value in ratio to 200. If you add in additional custom achievements, or change the number of points awarded for achievements then this also affects how quickly students will earn levels.

From here you should reload the page and then go to the Achievement Editor page. There you should go to the Import tab, select the default_achievements.axp file and hit "Take Action". (If you are using achievement items use default_achievements_items.axp.) If you choose you can have the achievements assigned to your students now or you can do that later.

  • If you do not have default_achievements.axp listed in the Import drop down menu then you should download the tar.gz files at and The first archive should be uploaded and unpacked using the File Manager into the templates directory. (This is the default directory when you enter File Manager.) The second should be uploaded and unpacked into the html directory. (This is can be found by clicking on the ^ button to go up a directory from templates.) Once you have done this you should have the ability to import the default achievements as described above.

Once the achievements have been assigned you should be able to test the system by vising any open problem and submitting a correct answer. Note: check answer does not work. You can also visit the Achievements page to see that things are functioning.

  • The achievements are designed to all run automatically. The one exception to this are the "Challenge" achievements. These achievements are awarded for completing challenge problems. If you don't want to have challenge problems then delete or disable these 11 achievements. If you do want to have challenge problems then create a set called Challenge with 10 problems and the challenge achievements will work automatically.

Administering Achievements


From this page you can change nearly everything about the achievements.

  • If you either use the Edit tab or click on the pencil next to an achievement name you will get to the editor page. The table on this page look like the following

Achievement Edit Table.png

  • Here is a description of the fields in the edit table.
    • The left most column contains the current icon of each achievement. The file name for the icon is contained in bottom right field. These icon files are all located in the [TMPL]/html/achievements directory. If you put in the wrong file name then you will end up with broken image links. If you don't put in any filename into the Icon File entry then you will get a default icon.
    • The Edit link in the right most column brings you to the achievement "evaluator" which is described at Achievement Evaluator.
    • The left top field is the Achievement ID, which you cannot edit and is not visible to students.
    • The left middle field is the Achievement Name. This is the visible title attached to the achievement.
    • The left bottom field is the achievement category. This has a special purpose. Achievements are sorted and presented first by category and then alphabetically according to their achievement id. (This is why the achievement id's tend to start with numbers...) This makes the student achievement page easier to parse. There are two special categories that deserve to be singled out. Achievements in the "secret" category will not be visible to the students until after they are earned and are for fun/surprise achievements. There is also a "level" category. These are the achievements which are used to determine/control a students Level. If you do don't want to use levels then delete or disable these achievements before assigning any data.
    • The top middle check box indicates if the achievement is enabled.
    • The middle middle field is for the number of achievement points the student will gain by earning the achievement.
    • The middle bottom field is used for "counting" achievements. For example, if the achievement requires students to solve 5 derivative problems, the 5 would be stored in this field.
    • The top right field is where the description of the conditions necessary to earn the achievement is kept.
    • The middle right field is where the name of the evaluator file corresponding to the achievement is kept.

Importing and Exporting

Using the Import and Export tab you can import or export achievements. This is useful if you have customized your achievements for a particular course and want to transfer them to a different course. The system works much like importing and exporting homework sets with a couple of exceptions.

  • The import data is stored in an .axp file. These files should be kept in your [TMPL]/achievements directory.
  • If you export achievements it exports it to a file CourseID_achievements.axp stored in the [TMPL]/achievements directory.
  • When moving files between courses you should save the achievements directory in your templates folder and move it to the new course. You will need to do the same thing with the achievements directory in the html folder. (This second folder is where the achievement icons are kept.)

Assigning and Scoring

The Assign tab can be used to assign all or some of the achievements to students.

  • There is certain data about students (like their total number of achievement points for example) which is stored separately from any given achievement. The only way to reset this data is to use the overwrite all data option on the Assign tab.

The Score tab can be used to create a csv with data about student progress on achievements.

  • If you use the score tab the resulting data is stored in a file CourseID_achievement_scores.csv in the scoring directory of your course
  • If you score no achievements the file will contain only the students total achievement score and other global data.
  • If you score some, or all, achievements the file will contain columns for each achievement with a 1 or 0 indicating if the achievement was earned or unearned.

Creating and Deleting

The Create tab can be used to create a brand new achievement with the given achievement id.

  • Remember: Achievements are sorted and presented first by category and then alphabetically according to their achievement id. (This is why the achievement id's tend to start with numbers...)
  • More information on how to create achievements is on Achievement Evaluator

The Delete tab can be used to delete an achievement and the associated student data. There is no undo for this.

Modifying Individual Student Data

The "Edit Users" column of the Achievement Editor page shows how many students in the class have been assigned a particular achievement. If you click on this link you will be taken to the Achievement User Editor page. Here you can do the following:

  • Change whether the achievement has been assigned to a given user.
  • Change whether the achievement has been earned by a given user. (This also changes their achievement score.)
  • Change the "counter" for a particular user. This is only used for "counting" type achievements. For example if the achievement requires students to solve 5 derivative problems, then this field would contain the number of derivative problems the student had currently solved.

Remember to save before leaving the page!