CSC/ECE 517 Spring 2016/Badging System: Difference between revisions
No edit summary |
|||
Line 5: | Line 5: | ||
==Database Design== | ==Database Design== | ||
# badges table | |||
{| class="wikitable" | |||
|- | |||
! Column !! Type !! Comment | |||
|- | |||
| badge_id || int || Primary key. Auto-generated | |||
|- | |||
| name || string || Description of the badge | |||
|} | |||
# badge_users table | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 22: | Line 33: | ||
|} | |} | ||
# badge_groups | |||
{| class="wikitable" | |||
|- | |||
! Column !! Type !! Comment | |||
|- | |||
| badge_id || int || Primary key. Auto-generated | |||
|- | |||
| strategy || string || Describes the strategy of awarding | |||
|- | |||
| threshold || int || Score required to award the badge | |||
|} | |||
# assignment_groups | |||
{| class="wikitable" | |||
|- | |||
! Column !! Type !! Comment | |||
|- | |||
| assignment_group_id || int || Primary key. Auto-generated | |||
|- | |||
| badge_group_id || int || Referenced from badge_groups table | |||
|- | |||
| assignment_id || int || Referenced from assignments table | |||
|} | |||
==Design Pattern== | ==Design Pattern== | ||
# MVC – The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively). | # MVC – The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively). | ||
# Dry Principle – We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one. | # Dry Principle – We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one. |
Revision as of 15:01, 11 April 2016
Introduction
Much like physical badges in the army and youth scout troops, digital based badges are an assessment and credentialing mechanism that is housed and managed online. Badges are designed to make visible and validate learning in both formal and informal settings, and hold the potential to help transform where and how learning is valued. In other words, badges may be used in order to set goals and motivations for students and reward and may help to improve their academic scores. Badges can also be considered as a way to reward student’s success. Moreover, badges can be used by teachers for alternative assessment techniques.
One request for the Expertiza system is to add a badging system as a way to measure student performance. Expertiza will take advantage of the motivations created from badges by awarding students with new badges based off providing a variety of factors within the Expertiza system. Some of these badges include: achieving a top percentage of scores in an assignment, achieving a high peer review score, performing well overall in a course and other manual accomplishments deemed necessary by the teaching staff for a course. Instead of implementing the whole badging system, we will call an existing web service (probably Credly) and integrate it with Expertiza.
Database Design
- badges table
Column | Type | Comment |
---|---|---|
badge_id | int | Primary key. Auto-generated |
name | string | Description of the badge |
- badge_users table
Column | Type | Comment |
---|---|---|
badge_id | int | Primary key. Auto-generated |
user_id | int | Referenced from users table |
course_id | int | Referenced from courses table |
assignment_id | int | Referenced from assignments table |
is_course_badge | boolean | Whether badge is a course-badge or individual-badge |
strategy | string | Describes the strategy of awarding |
- badge_groups
Column | Type | Comment |
---|---|---|
badge_id | int | Primary key. Auto-generated |
strategy | string | Describes the strategy of awarding |
threshold | int | Score required to award the badge |
- assignment_groups
Column | Type | Comment |
---|---|---|
assignment_group_id | int | Primary key. Auto-generated |
badge_group_id | int | Referenced from badge_groups table |
assignment_id | int | Referenced from assignments table |
Design Pattern
- MVC – The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).
- Dry Principle – We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.