Reading Quizzes
Overall Instructions
- EJ3 refers to Effective Java, 3rd Edition; we require the 3rd Edition.
- PP1 refers to The Pragmatic Programmer, 1st Edition; we support the 1st or 2nd (20th Anniversary) Edition
- PP2 refers to The Pragmatic Programmer, 20th Anniversary Edition; we support the 1st or 2nd (20th Anniversary) Edition
- For each batch of quizzes, you must take two of the quizzes as follows:
- The EJ3 quiz
- The PP1 or PP2 quiz but not both
- You will only be able to take each quiz once and it won't show
you the correct answers, but the quizzes are not designed to be
difficult.
- You will need to authenticate with your UW G Suite account; your
netID will be automatically recorded (so we don't ask your name). If you are having trouble logging in, try using a private-browsing / incognito-mode browser window, then log in with your UW credentials.
Reading Quiz Batch 1, Due October 14 11PM
- EJ3 quiz, covering:
- 8.49 Check parameters for validity
- 9.57 Minimize the scope of local variables
- PP1 quiz, covering:
- 1.1 The Cat Ate My Source Code
- 3.15 Shell Games
- 3.17 Source Code Control
- 7.39 The Specification Trap
- PP2 quiz, covering:
- 1.2 The Cat Ate My Source Code
- 3.17 Shell Games
- 3.19 Version Control
- 8.45 The Requirements Pit
Reading Quiz Batch 2, Due October 21 11PM
- EJ3 quiz, covering:
- 8.50 Make defensive copies when needed
- 9.58 Prefer for-each loops to traditional for loops
- 9.62 Avoid strings where other types are more appropriate
- PP1 quiz, covering:
- 2.7 The Evils of Duplication
- 4.21 Design By Contract
- 8.43 Ruthless Testing
- PP2 quiz, covering:
- 2.9 DRY - The Evils of Duplication
- 4.23 Design By Contract
- 9.51 Pragmatic Starter Kit
Reading Quiz Batch 3, Due November 18 11PM
- EJ3 quiz, covering:
- 9.68 Adhere to generally accepted naming conventions
- 3.14 Consider implementing Comparable
- 4.18 Favor composition over inheritance
- 4.19 Design and document inheritance or else prohibit it
- PP1 quiz, covering:
- 2.8 Orthogonality
- 3.18 Debugging
- PP2 quiz, covering:
- 2.10 Orthogonality
- 3.20 Debugging