Preparation for CSCI 439 Quiz 2 (2025)

As per the exams page, the quiz will be closed book, closed notes, no electronics, and held in the lab during your scheduled lab section. You will have 50 minutes to complete the quiz.

You are permitted one double-sided 8.5x11" page of notes ('cheat sheet').

This second quiz is again primarily theory, focused on the lecture material through Feb. 12th, emphasizing the process of transforming regular expressions into minimized DFAs. The quiz will not cover yacc/lex.

There will be three questions with an emphasis on the following:

Suggested practice:

Below are two starting regular expressions, one simpler and one a bit more involved. Apply the three techniques (Thompson's, subset, Hopcroft's) in sequence to develop minimal DFAs for each of the two regexes.

  1. ( 0 | (0|1)*00 ) (represents evenly binary integers divisible by 4)

  2. ( 0 | (1(01*0)1) )+ (represents binary integers evenly divisible by 3)
    (Trivia: the 1(01*0)1 effectively represents 2N + 2N-1 - 3, which you can convince yourself does actually provide multiples of 3, and the overall regex is combining multiples of this so still produces multiples of 3.)

When checking your answers for these two, the final result (after Hopcroft) should boil down to DFAs with four states:

Note: in the quiz questions I'll give you specific regular expressions, NFAs, and DFAs to start from in the respective questions (to avoid potential problems in one answer from cascading into later questions).