CMSC/LING 723 Assignment 2
Finite State Automata

Bonnie Dorr (professor)
Nitin Madnani (co-instructor)
Hamid Shahri (TA)
Alexandros Tzannes (TA)

Out: Sept 19, 2007; Due: Oct 3, 2007


Download and unzip the following file: assignment2.zip You should see the following files:

Read the entire pdf file and following all instructions therein. Submit your assignment by the due date to: hamid@cs.umd.edu, tzannes@cs.umd.edu.

Frequently Asked Questions

[Note: This FAQ (and those for all subsequent assignments) will be moved to the official CS forums as soon as possible. We will notify the class when the move has happened.]

Problem 2

Q: Should our acceptors be verifying the validity of the date as well, e.g, "September 31" should be rejected ?
A: Yes. The point of the exercise is to accept ONLY valid date expressions. Your code will be judged based on false positives as well as false negatives. Therefore, you should NOT accept invalid date expressions like "September 31"..

Q: If we are to reject invalid dates, what should we assume about February ?
A: For this problem, it's ok to assume that the month of February only has 28 days (even in a leap year). If you wish to accept "February 29" or "29th of February", you are free to do so. However, we will not deduct any points if you don't.

Q: I assume our acceptors should be case-sensitive, i.e., "christmas" should be rejected ?
A: Yes. The holidays that we will test your code on will have their leading letters capitalized.

Q: Are 0-prefixed dates invalid, i.e., should "August 03" be rejected ?
A: Yes.

Q: I assume superstrings e.g., "Christmas Day" should be rejected ?
A: Yes.

Q: Do you care how compact our acceptors/transducers are ? For example, there are states in my acceptor that are functionally equivalent and could be combined to produce an acceptor with fewer states, if desired.
A: No, we don't care about compactness for this assignment.

Q: Should February 30 or 31 be accepted ?
A: No. As mentioned above, ONLY valid date expressions are to be accepted.

Q: Should we handle multiple whitespace, or just a single space ?
A: You may assume that there's only a single space between the words.

Problem 3

Q: It's stated the first letter of the name can be any case. Should we assume the remaining letters in a valid name are lower-case (e.g. we will not be asked to soundex "McCleod")? It's easy enough to add arcs for the upper case letters as well if we should accept this type of name, but then is there any other type of checking/validation we should do (e.g. no sequential pair of upper case letters)?
A: No, it's ok to assume that all letters other than the first will always be lowercased.

Q: Similarly, should we allow spaces in names? For example, using a web-based soundex tool on "De Kleer" results in D426.
A: No, it's ok to assume that there are no spaces within the names.

Return to course home page