Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More flexible grade points for lessons #269

Open
egillespie opened this issue Apr 22, 2020 · 0 comments
Open

More flexible grade points for lessons #269

egillespie opened this issue Apr 22, 2020 · 0 comments
Labels
enhancement epic Too big, needs to be split into smaller issues

Comments

@egillespie
Copy link
Collaborator

Code Lab currently uses an hours/effort estimate to complete the lesson (usually 1-3), a hard-coded semester length measured in weeks (14), and course credit hours (around 3) to calculate the number of grade points earned by completing each lesson.

Here's the formula:
round(lessonHours * maxGrade / (normalizedSemesterWeeks * course.credits))

Where:

  • maxGrade / normalizedSemesterWeeks approximates the number of grade points earned per week to achieve the max grade
  • lessonHours / course.credits is the proportion of credits per week the lesson is expected to take (course.credits is the number of hours per week a student is expected to spend on course work)

Example:

  • Lesson effort: 2
  • Semester weeks: 14
  • Credit hours: 3
  • Lesson grade points: round(2 * 4 / (14 * 3) = 0.19

This formula has several opinions or requirements that can vary or not exist depending on the course:

  • An unchangeable fixed program length
  • Assumption of credits earned
  • Assumption of a 4.0 grade scale
  • Strong connection between effort, hours, and grade points earned

There are many variations in which Code Lab is used that violate these requirements/assumptions. For example,

  • MI 349 at MSU only uses Code Lab for part of the grading scale, so not all 4.0 grade points are earned in Code Lab
  • MI 449 has a wide variety of experience of students and association between grade points and hours estimate can be misleading and make project planning difficult
  • Code Lab 517 programs run for 4-8 weeks and do not reward course credits

Besides being inflexible, it is complicated and has led to many similarly-named utility functions that may explain #266, and may contribute to performance issues on the Student Progress page.

Proposals:

  1. Make normalizedSemesterWeeks configurable per course
  2. Make maxGrade configurable per course
  3. Make lesson grade points configurable per lesson instead of calculated
  4. Add interactive calculator to frontend to help instructors determine lesson grade points using estimated hours/effort/grade/semester-length formula
@egillespie egillespie added enhancement epic Too big, needs to be split into smaller issues labels Apr 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement epic Too big, needs to be split into smaller issues
Projects
None yet
Development

No branches or pull requests

1 participant