CMSI 3802
Quiz 2 Preparation

The quiz will made available online late in the afternoon of April 9, and must be turned in by 11:59 p.m. America/Los Angeles time, on April 11. You are allowed only 100 minutes to work on it, but you can choose any 100-minute period in the allotted range.

The quiz focuses on semantic analysis and some basic computation theory, so make sure to review the relevant course notes.

There will be twenty questions, each worth five points. The questions will be a mix of multiple choice, true/false, and short answer. The quiz will be open book, open notes, open internet, but you may not collaborate with anyone else. You can neither solicit answers (from a human or chatbot) nor can you answer anyone else’s questions. You may not discuss the quiz with anyone else until after the deadline has passed.

POSSIBLE questions (I haven’t worked out the final list yet, so what you see below is subject to change.)

  1. Understanding the pieces of a compiler
  2. Getting Ohm to parse x-----x
  3. Python-style positional args vs kwargs, the syntax
  4. Things that are not context free
  5. Something about a |> operator
  6. Given a TM, which statements are true about it?
  7. Java and the Billion Dollar Mistake
  8. Classify errors
  9. Extending Carlos to have more flexible array expressions
  10. Extending Carlos to have something interesting about types
  11. Something about what Ohm does for an ambiguous grammar
  12. How can a compiler detect unused variables?
  13. Generics and static typing
  14. Which of the following TMs do __________?
  15. Something about palindromes
  16. Something about how assignment is to be understood
  17. Static typing and functions
  18. Understanding type checking for an subscript expression, in Swift and Python
  19. A language theory question
  20. How to analyze given a requirement that a return statement must appear in a function

Things to do in preparation:

If you work on the practice problems that sufficiently look like they cover material we’ve discussed in class, you should be fine. I recommend studying in groups with friends. Take over a whiteboard. Bring food. Play some nice background music. Studying should be fun and not stressful. You should learn things together.