This section of the CSC 430 course includes a "Basic Mastery" option. It’s not really clear to most people what that is. This document explains it. If you’re interested in taking advantage of Basic Mastery, you should read this document carefully!
Historically, some students have struggled with the material in this course. That’s fine, that’s kind of the nature of higher education; some stuff is easier than other stuff, and what’s easy or hard for you may be different from what’s easy or hard for someone else.
In this course, the later material builds heavily on the earlier material, and what we’ve observed in the past is that students that have trouble with the early parts of the course struggle to keep their heads above water in the latter part of the course, scraping through on a hope and a prayer, not learning much about the later material and experiencing super-high levels of stress.
Refocus your attention on the more important parts of the course, and
Reduce your stress level.
The basic mastery model therefore provides a "safety net." If you demonstrate solid knowledge of the material in the first part of the course, we guarantee that your grade won’t be worse than a C.
Moreover, the goal of basic mastery is to ensure that you don’t have to engage in strategic thinking, where for example choosing the basic mastery track would prevent you from pursuing the main course goals. Completing the basic mastery items absolutely does not prevent you from getting a grade in the regular way.
In order to earn Basic Mastery credit, you need to complete a number of basic mastery items.
You need to complete the first four labs,
you must individually re-submit assignments 2, 4, and 5, resolving all grader comments and suggestions, and
you need to pass the midterm or one of the makeup midterms with a score of 80% or better.
You need to earn credit for the first four labs.
For basic mastery, you must individually re-submit assignment 2, 4, and 5, repairing all test case failures and repairing or addressing issues identified by the grader.
This is the part of basic mastery that generally causes the most confusion.
Specifically, you’ll need to leave the grader comments in your code, and add comments underneath these comments, indicating how you resolved the issues. It’s fine to simply say something like
... if you simply took the grader’s suggestion or repaired it in an obvious way. If the solution involved a refactoring of some kind, use a comment to indicate how you resolved the issue. If you genuinely believe that the grader misunderstood your code or that the suggestion doesn’t make sense, it’s fine to add a comment indicating this, though you run the risk of having to go back and fix it again.
If you get 80% or better on the midterm in week 6, you’ve completed the midterm portion of basic mastery. If you get less than 80%, you have two more chances to re-take a similar exam to earn an 80%.
Note that if you want to take one of the makeup midterms (probably in weeks 8 and 10), you’ll need to resubmit your assignments first. That is, the deadline for resubmission of Assignments will be before the re-take of the midterm.
Your instructor may also require you to signal your interest in basic mastery by sending an e-mail, filling out a form, or in some other way. Please make sure you know what mechanism your instructor is using.
The basic mastery path is more or less independent of the main grade computation. Here’s a function that shows roughly what we mean:
#lang typed/racket ;; given quiz score and assignment score and whether you've completed ;; the basic mastery checklist, return a grade. All scores are between ;; zero and one. (define (compute-grade [quiz-and-exam-score : Real] [assignment-score : Real] [basic-mastery-complete? : Boolean]) : Grade (define base-score (+ (* quiz-and-exam-score quiz-and-exam-weight) (* assignment-score assignment-weight))) (define base-grade (score->grade base-score)) (cond [basic-mastery-complete? (grade-max base-grade 'C)] [else base-grade]))
Are there questions we failed to answer? Let us know.