Exams

The midterm will be held from 2:30-3:20pm on Friday, January 30th, in Seig 143 (same room).

Final Solutions

15wi_143x_solutions.pdf

Practice final Exams:

Some of the problems on these tests have not been explicitly covered, if you don't recognize a type of problem, then you won't be tested on it. We strongly suggest that you try to solve all of these problems yourself, on paper, without a computer, and without looking at the answer key until you're done. You may also want to time yourself to practice your pacing.

iconcheat_sheet.pdf
  • Collections mystery: Given some collections code and inputs write the output.
  • Binary search trees: Given a set of values, add them to a binary search tree. Then perform traversals in the three standard orders on that tree.
  • Polymorphism mystery: Given a set of classes with inheritance relationships, a set of variables declared using those classes, and a set of method calls made on those variables, write the output.
  • Collections programming: Write a method that uses one or more class from the Java Collections framework (with focus on Sets and Maps).
  • Binary tree programming: Add a method to the IntTree class from lecture.
  • Binary tree programming: Add a method to the IntTree class from lecture. Similar in spirit to the previous question but harder (likely involves modifying or building a tree).
  • Linked list programming: Add a method to the LinkedIntList class from lecture.
  • Recursion programming: Write a method that uses recursion

The following topics are guaranteed NOT to be explicitly tested on the final exam:

  • 2-D arrays
  • detailed knowledge of Big-Oh (some questions may ask you to solve them within a certain big-Oh limit, but mainly this is just to ward off extremely inefficient answers)
  • recursive backtracking (recursion will definitely be needed, but not specific backtracking problems)
  • scanners (file or line)
  • writing code with 2-D arrays
  • catching exceptions
  • priority queues
  • input/output streams
  • abstract classes
  • inner classes
  • implementing an Iterator class
  • implementing a "generic" class (one that accepts type parameters such as <T>)
  • hashing

icon practice final exam (key at the bottom)

Our actual final exam will be most similar to the practice exam above. Additional practice problems can be found in Practice-It or in the PDFs below:

Midterm Solutions

Solution.pdf
Regrade Request

If you would like to request a regrade, please check the solutions above. If you choose to have your test regraded, I will personally regrade your entire test. This means that you may lose points on other questions if we happen to have made any mistakes in the other direction. If you would like to request a regrade, please attach a note to the front page explaining which question you think was graded incorrectly.

Midterm Content

The midterm will cover the majority of information from cse142, including chapters 1 through 10. You are not allowed to use more advanced material to solve the programming problems.
  • icon cheat sheet (will be provided as last page of exam)
  • Practice-It has many practice midterms which are meant to be similar in structure to the exam you will take.
  • We recommend practicing on paper. Here are PDFs you can print: Please keep in mind that some of the contents from these practice exams have not been covered in class yet. If you haven't seen it in class, then it won't be covered. For example we have not covered Inheritence, so you can skip those problems on the practice tests
  • The following topics are guaranteed NOT to be explicitly tested on the midterm exam:
    • converting between decimal (base-10) and binary (base-2) numbers
    • classes DrawingPanel and Graphics
    • do/while loops and the break statement (regular while loops may be needed, though)
    • exceptions and try/catch statements
    • preconditions and postconditions
    • the Java assert statement
    • null
    • multidimensional arrays
    • the Object class; implementing an equals method; the instanceof keyword
    • classes with static fields / methods
    • the advanced Husky-only methods of Critters, such as getX, getNeighbor, win, lose, and mate
    • interfaces; abstract classes
    • material from Chapter 10 and above
  • Here are some addtional resources for questions from past cse 142 midterms
  • Midterm Rules and Information:

    • We may ask to check your UW ID card during the exam so please have it ready.
    • You will have 60 minutes to complete the exam. We will distribute the exam early and you can read and fill out the cover page of the exam, but you should not look at the exam questions until you are told to begin. At the end when time is called, you are required to stop writing and close your exam. Students who look at the exam before being told to begin and students who make changes to their exam after time is called will receive a 10-point penalty. Students who do not close their exam booklet when time is called may also receive a 10-point penalty.
    • The exam is closed-book and closed-note. You must work alone and may not use any computing devices of any kind including calculators or digital copies of the textbook. Cell phones, music players, and other electronic devices may NOT be out during the exam for any reason.
    • There will be a cheat sheet included as the last page of the exam (see the link above). You may remove this from your exam if you wish once the exam begins, but be sure to hold the staple when you remove the exam because otherwise your exam is likely to come apart. Space will be provided for your answers and you may use the back of the cheat sheet as scratch paper. If you need additional scratch paper, raise your hand and a TA will give it to you. You are not allowed to use your own paper during the exam.
    • Unless a question specifically mentions otherwise, the code you write will be graded purely on external correctness (proper behavior and output) and not on internal correctness (style). So, for example, redundancy or lack of comments will not reduce your score.
    • You are allowed to abbreviate "Always", "Never," and "Sometimes" as "A", "N", and "S" for the assertions question, but you should otherwise NOT use any abbreviations on the exam.
    • You don't need to write any import statements in your exam code.
    • Please be quiet during the exam. If you have a question or need assistance, please raise your hand.
    • When you have finished the exam, please turn in your exam quietly and leave the room.