Exams

Exams

Introduction


As discussed in the syllabus, 30% of your grade will be from exams. We’ve decided to have one take-home in the middle of the term and one in-person finals week, each worth 15% of your grade.


Why exams?


We think exams are important for you to get the most out of 341. Homeworks are great, but “work at it until you are done” is different than “review and study until you’re confident you have the ideas down.” Also, homeworks are simply of a different style -- mostly writing code -- that does not work as well for some of what we’re trying to teach. Many prior offerings of 341 have had exams, and we're happy with them as a complement to the homeworks.


The Key Information for the Final

  • Now that the exam is done and graded you can see the exam with solutions or without solutions.

  • The final will be in person, CSE2 G10, Monday, March 14, 8:30-10:20AM (our assigned slot, not under our control).

  • The final is close-book, closed-notes, closed-computer, etc. except you can bring one sheet of paper of 8.5x11" paper with whatever you want on *both sides*. The content of your sheet can be typed, handwritten, etc. -- whatever you want.

  • The intention is for the exam to focus predominantly on material we studied after the midterm (units 5-8). However, the exam could include a little OCaml, including OCaml programming, which is also true of the second half of the course.

  • The last Thursday section of the quarter will be a review session.

  • We have added several practice exams to the folder of old exams. These exams are not a perfect match, not only because questions styles and focus always vary, but because these exams were originally from prior course offerings that used SML instead OCaml and Ruby instead of Racket-OOP. We have ported the questions to use OCaml and Racket-OOP, but you may find a typo or other glitch --let us know if you do.

  • We have also made available the Spring 2021 final, but that was an online exam on Gradescope that was open-computer, etc. It was also too long and difficult (the mean was 63% :-/), but nonetheless you might find the sample problems helpful or interesting. A sample solution is also available.

  • We recommend you not over-focus on the old exams. The reading notes, slides, code, and homeworks are all available to you and are a more thorough resource of "what we hope you learned" than the individual questions on old exams.


The Key Information for the Midterm

  • The midterm will be on Gradescope.

  • You will have two hours to complete it. It’s possible you will run out of time if you get stuck on some problems or under-prepare, but the intention is to give you plenty of time -- the quiz is not that much longer than what we would normally give “in class”.

  • It will be due Wednesday February 9, 5PM Pacific Time (so start the exam by 3PM). We will make it available by the morning of Monday February 7 at the latest and hope to make it available even a day or two before that. We expect this gives everyone enough flexibility to find a quiet time and space. Because it is timed, do not open it until you are ready to take it.

  • We will be getting you Homework 3 back by Monday February 7. It’s up to you whether you want that feedback before taking the quiz since the content covered by Homework 3 is also some of the content covered on the exam.

  • Homework 4 will not be due the same week as the quiz, so you can focus on the quiz for now. (Homework 4 will use Racket.)

  • The quiz is “open all course materials and tools” (slides, code, videos, REPL, editor of your choice, etc.).

  • For some of the questions, we’ll ask you to copy code into an OCaml file, add to the code and/or change it, and then upload the file. Other questions will be short answer, multiple choice, etc.

  • For fairness and feasible logistics, we won’t answer questions while you are taking the quiz. We will have a free-response box at the end where you can list any assumptions you feel you had to make about a question you found confusing. You can also email Dan after you take the quiz if you think something is really broken.

  • If you have trouble uploading files, maintaining Internet access, etc. during the exam, email Dan right away.


The material covered on the quiz can be anything up through Unit 4 except for the couple of topics we clearly marked “optional.”


Academic Integrity

  • You may not get any help from any other human being on the quiz.

  • You may not ask anyone who has taken the quiz anything about it.

  • You may not discuss the quiz with anyone until after Wednesday May 5, 5PM.


The last question on the quiz will have you confirm that you have followed these rules.


Okay, Now I’m Nervous, How Can I Get Less Stressed?

  • Studying for tests can help you learn. Study well. We do not expect everyone to get 100% -- do your best to show us what you have learned -- none (?) of you knew anything about functional programming a few weeks ago.

  • We have made a silly practice quiz on Gradescope so you can familiarize yourself with the interface. The questions on this quiz are not useful for studying, but this way the actual quiz will at least have familiar looking buttons, fonts, etc. Check out the silly practice quiz at some point.

  • We also have a non-silly practice midterm on Gradescope that was used in Spring 2021. This midterm turned out to be easier than intended (the median was about 93%), so our quiz will likely be a bit more challenging, but this gives you a good idea of what an online quiz for 341 is like. The folder of older midterm exams also has a copy of the questions and a sample solutions file.

  • We have some older midterm exams available from previous times Dan taught 341. This is a bit imperfect because:

      • Old exams were given using SML instead of OCaml. We recently “ported them to OCaml” but let us know if we introduced any typos, etc. along the way.

      • Old exams were closed-computer and taken on physical paper in a classroom. So some questions like, “infer the type of this code” wouldn’t work well for us because you could just paste them into the REPL and read out the answer. But they are still good practice problems for studying. Just don’t expect our midterm to have the same format of questions, just many of the same (not exactly the same) concepts.

  • Section 5 is a review session -- come with questions about the material or practice problems you’d like to discuss.

  • You can also ask questions on the discussion board about the material at any time before you take the quiz.