Laborationer och rekommenderad planering
Vi rekommenderar att labbarna är klara senast följande datum:
2018-02-14: Labb 1 och 2
2018-03-02: Labb 3 och 4
2018-04-15: Labb 5 och 6 (för de som vill göra betygshöjande uppgifter)
2018-05-15: Labb 5-7 (för de som bara vill ha godkänt) men 7 och betygshöjande för de som vill höja sitt betyg.
Om du inte hinner klar med labbarna innan sista redovisningstillfället i augusti så behöver du göra “optional mandatory assignments” på de labbar som du redovisar sent.
Betyget i kursen beräknas enligt följande regler:
def calcgrade(results, slutbetyg=False): """ Parses a list of grades on the form [1, 1, 0, 1 .... ] where index 0 i tal6 on the exam and the rest is L1, L2 ... results = [Tal6ex, L01, L02 .. L10] Returns None on fail. "A"-"E" otherwise. L1-7 for E, any additional in order gives +1 """ grade = 0 if results[1]=='1' and len(set(results[1:8]))==1: # Första 7 krävs för E grade = 1 for extralabb in range(8,11): # Gör extralabbarna i ordning. if results[extralabb] == "1": grade += 1 else: break if slutbetyg: if results[0] == '1': # sista talet på tentan grade += 1 return [None, "E", "D", "C", "B", "A"][grade]
Exempelkörningar nedan:
>>> print(calcgrade(["0"] + ["1"]*10, True)) # Alla labbar men ingen extrauppgift B >>> print(calcgrade(["1"] + ["1"]*10, True)) # Alla labbar och en extrauppgift A >>> print(calcgrade(["0"] + ["1"]*7 + ["0"]*3, True)) # De 7 obligatoriska, ingen extrauppgift E >>> print(calcgrade(["1"] + ["1"]*7 + ["0"]*3, True)) # De 7 obligatoriska och extrauppgiften D
>>> print(calcgrade(["0"] + ["1"]*7 + ["0", "1", "0"], True)) # Labb 9 höjer inte utan 8:an
E
>>> print(calcgrade(["0"] + ["1"]*7 + ["1", "1", "0"], True)) # De obligatoriska, 8:a och 9.
C
>>>
Det kommer att gå att redovisa labbar under labbveckan i juni samt under extrainsatta labbpass i augusti (mer information om augustipassen kommer senare).