Quizzes

Introduction


As discussed in the syllabus, 20% of your grade will be from quizzes. We’ve decided to have one quiz in the middle of the term and one during finals week, each worth 10% of your grade. As you have no doubt encountered in other classes over the last year, quizzes during remote instruction require some different mechanics and expectations. We think we have a good plan in place, or at least as well as we can do under the circumstances, and want to explain everything here to minimize surprises and stress.


Why quizzes?


We think quizzes 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. 341 has always had exams and as silly as it may sound, we want to give you as much of the full educational experience even during the pandemic as we can -- that’s what we’re here working our hardest to do.


The Key Information for the Final Quiz


Since the midterm quiz went well, the basic approach and logistics will be similar for the final quiz. Read on for specifics.


  • The quiz 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 avoid time pressure.

  • You can take it any time between Saturday June 5, 6AM Pacific Time and Thursday June 10, 10:30AM (not 5PM) Pacific Time (so start the exam by 8:30AM or, more likely, take it the day before). 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. Note the 10:30AM due time aligns with when our final exam would have been scheduled and gives the TAs time on Thursday for grading -- they are also eager to finish the quarter.

  • We will not have Homework 7 graded before the quiz.

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

  • Like on the midterm, for some of the questions, we’ll ask you to copy code into a 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 intention is for the quiz to focus predominantly on material we studied after the midterm quiz (Units 5 through 8). However, the quiz could include a little OCaml, including OCaml programming, as a contrast to Racket -- which is also true of the second half of the course.


Like for the midterm quiz, we have some practice quizzes (old final exams) available from previous times Dan taught 341. This is a bit imperfect because:

    • Old exams were given using SML instead of OCaml and Ruby for the OOP portion of the course. We recently “ported" relevant parts to OCaml and Racket classes but let us know if we introduced any typos, etc. along the way -- we probably did.

    • Old exams were closed-computer and taken on physical paper in a classroom. So some questions may make less sense for our setting. But they are still good practice problems for studying. Just don’t expect our quiz to have all the same format of questions, just many of the same (not exactly the same) concepts.


Section on June 3 will be a review session.


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 June 10, 10:30AM.


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


Older information below about the Midterm Quiz


The Key Information for the Midterm Quiz


  • The quiz 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 only a little longer than what we would normally give “in class”.

  • You can take it any time between Saturday May 1, 6AM Pacific Time and Wednesday May 5, 5PM Pacific Time (so start the exam by 3PM). 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 the morning of Monday, May 3. 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.

    • Note 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 ML 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?


  • Quizzes are helpful for learning. 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 five 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 have some practice midterm quizzes (old 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 quiz to have all 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.