Archive

Walkthrough videos require that you log into YouTube with your @berkeley.edu account.

SemesterInstructorMidtermFinalNotes
Fall 2024John DeNero, Jedi Tsang, Shm Almeda N/A
Summer 2024Eric Kim For the midterm:
We apologize for the low quality PDFs for this semester, it was all online and unfortunately we don't have better ones.

For the final:
We apologize for the low quality PDFs for this semester, it was all online and unfortunately we don't have better ones.
Spring 2024Michael Ball N/A
Fall 2023Michael Ball For the midterm:
Thanks CSM for the walkthroughs! Please note some typos in the exam and walkthroughs below.
  • This exam had many clarifications during the exam, which you can view here.
  • 1(a): In the video walkthrough, the narrator writes the indices of the outermost list as 0, 1, 2, 4 in purple. However, it should be 0, 1, 2, 3.
  • 2(e): In the video walkthrough around 14:10, the narrator says the return value of the huh frame is a list like this: [lambda, lambda, [lambda]]. However, it should be: [lambda, lambda, lambda].
  • 2(f): Similar to 2(e), in the video walkthrough around 20:00, the narrator says the return value of the huh frame is a list like this: [lambda, lambda, [lambda, lambda]]. However, it should be: [lambda, lambda, lambda, lambda].
  • 4(d): The solution is distorted on the PDF. Here is the full solution: The code errors and does not run. The call to the dot_prod on line 6 passes arguments improperly; the arguments must be curried. In other words, they must be passed in like this: dot_prod([2, 3, 2, 1, 4])([10, 20, 30, 40, 50]).
  • 5(e): The solution should say chars.items() not chars.keys()


For the final:
Thanks CSM for the walkthroughs!
Summer 2023N/AN/AN/AN/A
Spring 2023Michael Ball For the midterm:
Thanks CSM for the walkthroughs! Please note some typos in the exam below.
  • Q10(a): curr_field and bool(curr_field) are both acceptable answers
  • Q10(c): The correct answers are curr_field[0] == 'cobble' and 'cobble' in curr_field
  • Q11(c): In the problem description, it should say self.seal_compliments instead of self.compliments


For the final:
Thanks CSM for the walkthroughs! Note there are some typos:
  • For Q2 (c), none of the answer options are correct. The correct answer is -1.
  • For Q12 (c), it should say return 4 * squared_experience(n // 2).
Fall 2022Michael Ball For the midterm:
Thanks CSM for the walkthroughs!

For the final:
Because of the strike this semester, this final is not representative of most final exams.
Summer 2022N/AN/AN/AN/A
Spring 2022Michael Ball For the midterm:
Q7a is part of the Closet ADT, so you do not need to worry about abstraction barrier violations

For the final:
Thanks CSM for the walkthroughs!
Fall 2021Michael Ball For the midterm:
Thanks CSM for the walkthroughs!

For the final:
Thanks CSM for the walkthroughs!
Summer 2021N/AN/AN/AN/A
Spring 2021Michael Ball, Gerald Friedland For the midterm:
Thanks CSM for the walkthroughs!
Fall 2020Michael Ball N/A
Summer 2020N/AN/AN/AN/A
Spring 2020Michael Ball For the final:
Formatting may be off since the PDF was generated by examtool.
Fall 2019Michael Ball For the midterm:
Q1: fun(max, 61, 88) evaluates to 61. The correct calls to alt_fib(6) is 25 not 26.

For the final:
Note there are some typos:
  • Q1 video walkthrough: they(cant(stop, all(of, us))) should error, not print SASUKEEE twice.
  • Q5 solutions: last line, helper(n // 10, n % 10) should be helper(num // 10, num % 10).
  • Q5 video walkthrough: At 5:10, the correct answer is not elif num % 10 <= prev, it should be if prev > n % 10 (which matches the solution PDF).
  • Q7: The doctests at the beginning of the question should say "Yum, I ate 3 pieces of chocolate" instead of "Yum, I ate 3 pieces of milk chocolate", and "Oh no! There is no more chocolate" instead of "Oh no! There is no more milk chocolate".
Spring 2019Gerald Friedland N/A
Fall 2018David Culler N/A
Spring 2018Gerald Friedland N/A
Fall 2017N/AN/AN/AN/A
Spring 2017N/AN/AN/AN/A
Fall 2016N/AN/AN/AN/A
Spring 2016David Culler N/A
Fall 2015N/AN/AN/AN/A
Summer 2015N/AN/AN/AN/A
Spring 2015N/AN/AN/AN/A
Fall 2014N/AN/AN/AN/A
SemesterInstructorMidtermFinalNotes
Summer 2020N/AN/AN/AN/A
Fall 2019Computer Science Mentors N/AN/A
Spring 2018Gerald FriedlandN/A N/A
Spring 2017N/AN/AN/AN/A
Spring 2016David CullerN/A N/A