Do these third.
Exams are developed to evaluate the limits of your understanding of the language elements described in class. Exams are inspired by code written by bad programmers, and they illustrate how extreme cases and unusual usages can mislead. Students are being deliberately exposed to "bad code" so that they evolve a distaste for it, and avoid the bad habits that inhibit the development of strong programming skills later. Note that all midterm exams are limited to exactly 50 minutes, while final exams are limited to 3 hours. Midterm exams follow progressive topics, and final exams are cumulative.
Exams are a test of your reading comprehension as well as your problem solving abilities. Algorithms can be precisely described in multiple ways, and comprehending the question statement often challenges students without an ear for the subtleties of meaning. Read old exams carefully to familiarize yourself with different ways in which algorithms can be described.
Exams developed for [CSE2] was developed by Brian Chen, Brian Davison, Shahida Parvez, Mark Earl, and Edwin Kay. Homework may be used for other courses by permission only (Contact Brian Chen).