Mini-Exam 1 Rules and Information

The first “Mini-Exam” (I hate to call it a midterm because there are 3 of them, they are small, and its not the middle of the semester) will be Thursday, February 25th during the class period.

The rationale for this style of exam is discussed on the Course Web:

The exam will be semi-synchronous: you must take it during the class period (11am-12:15pm, Madison time, Thursday February 25th), but it is up to you when during that 75 window that you take it.

The exam will be given as two Canvas quizzes. You will be allowed to spend 20 minutes on each. You can start a quiz any time during the exam window, but once you begin a quiz, you must complete it within 20 minutes. And you must complete both quizzes by 12:15. If you want to start at 12:10, you will only have 5 minutes. If you want the full 40 minutes to do the work, you need to start before 11:35. If you start earlier (11am or shortly after), you will have time to take a short break between the quizzes (recommended).

Details of the rules and content are given on the Mini-Exam 1 Rules and Information page on the course web.

Key rules

  1. You must not communicate with other students in class during the exam window (even when you are not taking the exam).

  2. You must not discuss the exam with anyone during the exam window. This includes any form of writing (posting, replying, messaging, etc.) to any forums (Piazza, Stack Exchange, Discord, etc.).

  3. You must avoid listening/reading to people violating the rules; e.g., if someone else makes a posting or message during the exam period, you should not read it.

  4. The exam is “open book” - we will not try to prevent you from reading (or viewing) existing materials. The exam timing will limit your ability to do research on the answers to the questions. Remember, that writing (asking a question, or posting an answer) is not allowed during the exam window. And, reading something illegal is academic misconduct.

  5. You may use a “calculator”, which includes writing programs. But, be careful of the time it takes. The questions are designed that you should be able to figure them out “by hand” (with pencil and paper) more quickly than trying to program.

  6. We must be strict about the start/stop time of the exam window because students in class are allowed to discuss the exam and class material outside of the window.

  7. The rules of proper academic conduct apply. See the course page on Collaboration Policy and Academic Conduct for more details.


Mini-Exam 1 will cover the topics presented in class during weeks 1-4, including Workbook 4 and Lecture 8. Lecture 9 may review these topics, but the new material (curves) will not be tested on the exam. Workbook 5’s material (curves) will not be part of the exam.

You are responsible for all topics discussed in lecture, described in the readings and presented workbooks. We will ask you about the concepts in the workbook, but generally not things that are specific to the questions (for example, we will not ask you about flocking algorithms). We will not ask you about optional tools (e.g., Visual Studio Code or the Debugger). We may ask questions about JavaScript, such as testing your ability to understand programs using closures.

The weekly surveys are a good model for the kinds of questions we will ask.

The outline of slides and lectures also provides a topic list (

The key topics for the exam:

  1. Web programming concepts
  2. JavaScript and functional programming concepts
  3. “Graphics 101” (images, buffering, human vision, etc)
  4. Browser 2D Graphics APIs
  5. 2D drawing, primitives and polygons
  6. 2D Transformations, coordinate systems, basic transformations
  7. Scene-Graph representations, hierarchy and articulated figures
  8. Transformations as functions and matrices
  9. Linear algebra basics
  10. Affine transformations with linear algebra
  11. Homogeneous coordinates
  12. How transformations are implemented with linear algebra

In case of technical difficulties

Inevitably something will go wrong for someone.

If you have a problem:

  1. If you have a technical issue during the exam, try to complete the quiz you are taking as best you can. You may want to take a screen shot of the problem. You may want to save your work (e.g., a screenshot or print-to-PDF) if you fear Canvas might mess up

  2. After completing the current Quiz, send a private message to the course staff on Piazza explaining the problem. If you have an internet failure that precludes accessing Piazza, you can send email to the Professor. If you can’t even send email, send a message as soon as your internet access is restored.

  3. Please alert us to technical problems as promptly as possible.

  4. We will not answer content questions during the exam. If you feel a question has an error or is ambiguous, take your best guess at what the question means. The questions usually ask for the “most correct” answer (in cases where you feel no answer is exactly correct).

  5. Please check Piazza and Canvas for announcements before beginning each Quiz.

  6. Canvas may allow you to take the quizzes in the wrong order. In the event you start taking the wrong quiz, complete the one you have started. Then complete the remaining quizzes in the correct order.

Technical problems do happen. During the Spring 2020 559 Final, the internet went out in my neighborhood! I had to proctor it by phone (fortunately, the peer mentors and TAs were in a different neighborhood).

Accomodations for McBurney Students

If you have already arranged for additional time, we will try to convince Canvas to give it to you. You must still complete the quizzes within the exam window, but you be given longer to take each quiz. This means that in order to take all of your additional time, you must start the exam relatively promptly at the beginning of the window.

Because of limitations of Canvas, portions of the quiz may not be compatible with screen readers or other assistive technologies. If you are visually impaired and rely on screen reading technology for viewing the web, please contact the course staff before the exam.