def comp_missing_3315(student, coursehistory, degree): # get necessary information ccodes = [c.code for c in coursehistory] uterms = dpr.unplanned_terms(student, coursehistory) unready = ('MATH 3315' not in ccodes and 'MATH 3316' not in ccodes and 'CSE 3365' not in ccodes and 'CS 3365' not in ccodes) # return appropriate warning if uterms <= 1 and unready: return dpr.DPRWarning( 4, "missing MATH 3315: Computational specializaion no longer possible." ) if uterms <= 2 and unready: return dpr.DPRWarning( 3, "missing MATH 3315: Computational specializaion becoming unlikely." ) if uterms <= 3 and unready: return dpr.DPRWarning( 2, "please change your schedule to be enrolled in MATH 3315.") if uterms <= 4 and unready: return dpr.DPRWarning( 1, "make sure to take MATH 3315 as early as possible.") return None
def incomplete_foundation(student, coursehistory, degree): # get necessary information uterms = dpr.unplanned_terms(student, coursehistory) fcomp = degree.grplist[0].satisfied # return appropriate warning if uterms <= 1 and not fcomp: return dpr.DPRWarning(4, "Foundation incomplete with <= 2 semesters remaining.") if uterms <= 2 and not fcomp: return dpr.DPRWarning(3, "Foundation incomplete with <= 3 semesters remaining.") if uterms <= 3 and not fcomp: return dpr.DPRWarning(2, "Foundation incomplete with <= 4 semesters remaining.") if uterms <= 4 and not fcomp: return dpr.DPRWarning(1, "Aim to complete foundation by the end of sophomore year.") return None
def anum_missing_1341(student, coursehistory, degree): # get necessary information ccodes = [c.code for c in coursehistory] uterms = dpr.unplanned_terms(student, coursehistory) ready = any([ (a in ccodes) for a in CS ]) # return appropriate warning if uterms <= 1 and not ready: return dpr.DPRWarning(4, "missing CS 1340/1341: on-time graduation impossible.") if uterms <= 2 and not ready: return dpr.DPRWarning(3, "missing CS 1340/1341: on-time graduation becoming unlikely.") if uterms <= 3 and not ready: return dpr.DPRWarning(2, "you should change your schedule to be enrolled in CS 1340/1341.") if uterms <= 4 and not ready: return dpr.DPRWarning(1, "it is best to take CS 1340/1341 by the end of Sophomore year.") return None
def pure_missing_3311(student, coursehistory, degree): # get necessary information ccodes = [c.code for c in coursehistory] uterms = dpr.unplanned_terms(student, coursehistory) unready = ('MATH 3311' not in ccodes and 'MATH 3308' not in ccodes) # return appropriate warning if uterms <= 1 and unready: return dpr.DPRWarning(4, "missing MATH 3311: Pure specializaion impossible.") if uterms <= 2 and unready: return dpr.DPRWarning(3, "missing MATH 3311: Pure specializaion very unlikely.") if uterms <= 3 and unready: return dpr.DPRWarning(2, "you must change your schedule to be enrolled in MATH 3311.") if uterms <= 4 and unready: return dpr.DPRWarning(1, "make sure to take MATH 3311 as early as possible.") return None
def comp_missing_3315(student, coursehistory, degree): # get necessary information ccodes = [c.code for c in coursehistory] uterms = dpr.unplanned_terms(student, coursehistory) unready = ('MATH 3315' not in ccodes and 'MATH 3316' not in ccodes and 'CSE 3365' not in ccodes) # return appropriate warning if unready and uterms < 2: return dpr.DPRWarning( 3, "missing MATH 3315: CSE/EMIS specializaion no longer possible.") if unready and uterms < 3: return dpr.DPRWarning( 2, "you need to change your schedule to be enrolled in MATH 3315.") if unready and uterms < 4: return dpr.DPRWarning( 1, "make sure to take MATH 3315 by Junior year at the latest.") return None
def comp_missing_1341(student, coursehistory, degree): # get necessary information ccodes = [c.code for c in coursehistory] uterms = dpr.unplanned_terms(student, coursehistory) unready = ('CSE 1341' not in ccodes and 'ASIM 1310' not in ccodes and 'CRCP' not in ccodes) # return appropriate warning if unready and uterms < 3: return dpr.DPRWarning( 3, "missing CSE 1341: CSE/EMIS specializaion no longer possible.") if unready and uterms < 4: return dpr.DPRWarning( 2, "you need to change your schedule to be enrolled in CSE 1341.") if unready and uterms < 5: return dpr.DPRWarning( 1, "it is best to take CSE 1341 by the end of Sophomore year.") return None
def anum_missing_1341(student, coursehistory, degree): # get necessary information ccodes = [c.code for c in coursehistory] uterms = dpr.unplanned_terms(student, coursehistory) unready = ('CSE 1341' not in ccodes and 'ASIM 1310' not in ccodes and 'CRCP' not in ccodes) # return appropriate warning if unready and uterms < 2: return dpr.DPRWarning( 4, "missing CSE 1341: will not be able to graduate on time.") if unready and uterms < 3: return dpr.DPRWarning( 3, "you won't graduate unless you add CSE 1341 to your schedule.") if unready and uterms < 4: return dpr.DPRWarning( 2, "CSE 1341 not taken by the end of Junior year: inadvisable.") if unready and uterms < 5: return dpr.DPRWarning( 1, "make sure to take CSE 1341 by the end of Junior year.") return None