CSC/ECE 517 Spring 2016/Badging System: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 5: Line 5:
===Purpose===
===Purpose===
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 online badging web service, Credly, and integrate it with Expertiza.
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 online badging web service, Credly, and integrate it with Expertiza.
==Requirements==
===Deciding External Web Service===
{| class="wikitable"
|-
! Factors !! Open Badges !! Credly !! Bestr
|-
| Native User Management || No || Yes. No need to store all records locally. || No
|-
| Extensive API Support || Yes. But many still in beta phase. || Yes. (Primary reason for choosing Credly) || No
|-
| Interactive Badge Builder SDK|| Yes. But still in beta phase. || Yes || Yes. But gives few options for cusromization.
|-
| Existing Integration with other systems || Few || Many || No
|-
| Monetary Costs || Free || Free tier as well as paid plans. || Paid.
|}


==Database Design==
==Database Design==

Revision as of 17:04, 11 April 2016

Introduction

Background

Much like physical badges in the army and youth scout troops, digital 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.

Purpose

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 online badging web service, Credly, and integrate it with Expertiza.

Requirements

Deciding External Web Service

Factors Open Badges Credly Bestr
Native User Management No Yes. No need to store all records locally. No
Extensive API Support Yes. But many still in beta phase. Yes. (Primary reason for choosing Credly) No
Interactive Badge Builder SDK Yes. But still in beta phase. Yes Yes. But gives few options for cusromization.
Existing Integration with other systems Few Many No
Monetary Costs Free Free tier as well as paid plans. Paid.

Database Design

The following tables will be created to implement a solution for this project. 1. badges table - which stores badge_id and their descriptions.

Column Type Comment
badge_id int Primary key. Auto-generated
name string Description of the badge

2. badge_users table - which stores details about what badges are assignment to a user and related details.

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

3. badge_groups - which stores information about which badges should be assigned depending on the threshold score.

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

4. assignment_groups - which stores details about the team badges.

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

  1. 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).
  2. 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.

Object Oriented Design

As with most Ruby on Rails applications, this solution uses the Model-View-Controller design pattern. The following diagram shows a workflow of the planned design along with the attributes and operations that are relevant to the implementation of this solution.


Mockups

Mockup goes here