Comments for Exam 1
CSc 75010: Theoretical Computer Science
Graduate Center, City University of New York
Fall 2002
Grading
The exam was graded in the same style as the comprehensive
exam in June. Each question was worth 20 points. The overal score
was the sum of the best five question scores. You can not score over
100%.
Regrading:
If you would like your exam regraded, please attach a
note on the front of the exam. Your note should explain which questions
you would like regraded and why. Please use complete sentences. Do not write
on the exam itself. If you do so, your exam will not be considered.
You must turn the exam in for regrading by Friday, 25 October.
Scores:
After each exam was graded, the average of the
different exams were calculated. The scores were than normalized to
make up for any differences in difficulty between the different versions
of exams. The average across all exams is 93 with standard deviation
7.
Version:
|
Average:
|
Standard Deviation:
|
To Calculate your score:
|
Blue
|
95
|
5
|
raw score
|
Green
|
92
|
11.5
|
min(raw score+3, 100)
|
Pink
|
97
|
4
|
raw score
|
Yellow
|
90
|
6.8
|
min(raw score+5, 100)
|
Comments
When taking the exam in June, each question must be answered on a separate piece of paper (actually, separate "blue book").
Question 1: Define basic terms.
Most everyone had no problems providing the simple definitions required.
A similar question to this has appeared frequently on the exam offered
in June. See for example, June 2002, #2. On the June exam, this
question is considered easy, so, mistakes on this are graded harshly. The
same was done for this exam.
Question 2: Find error in proof of 2=1.
This comes straight from the homework. You needed to state the reason
the proof failed (dividing by 0 is not allowed) to get full credit.
Question 3: Build 2 NFAs.
While each version of the exam had different questions, they were all variations
on a theme. Part a) was recognize the language of all words that contains
a fixed substring (i.e. "yellow"). Part b) was slightly harder and
asked the string begin or end with a fixed substring (i.e. "hi" or "bye")
and satisfy some condition about length. Partial credit was given for
NFAs that recognized part, but not all, of the language. All and all,
everyone did well on this question.
Question 4: Prove closure under a regular operator.
This is straight from the lecture notes or book. The most common mistakes
were notational-- writing down a machine M but not saying how it related
to the question (did it recognize the original language? was it the machine
you were trying to build?)-- and proving that some other operator was regular
instead of the one on your version of the exam. If the idea was there
but muddled by notation, only 5 points were deducted.
Question 5: Prove a language is not regular.
When using the Pumping Lemma, you cannot choose the length of the y given
by the Pumping Lemma for a given string. The lemma is weaker, it only
says that some y exists that satisfies the conditions of the lemma for each
string s longer than the pumping length. 1/2 the points were deducted
for choosing a fixed y, instead of considering all the possibilities that
it could be.
The blue exam asked to show that the complement of {0^n1^n |
n >= 0} is not regular. Half of the points were awarded if you only
showed the language (and not it's complement) is regular. This question
can be approached in a number of ways. The easiest would be to show
the language is not regular, and then note that the class of regular languages
is closed under complementation. You could also look at the language in
two parts: those words that have more 0's than 1's and those that have more
1's than 0's. Or, you can do this directly using the Pumping Lemma
by choosing 0^p1^{p+p!} and pumping with (1+p!/j) where j is the length of
y.
The pink exam asked similar question to the blue and can be solved in the same way.
The yellow exam asked about the language ADD from the homework. Most
mistakes were forgetting that "=" is just another symbol in the language.
If you choose s = "1^p = 1^p + 0", then the rest follows as before.
Question 6: Give CFGs
This was the question most likely to be skipped. All of these are from
the book and homework. Part a) for each version was a simple CFG, and
part b) more complicated. The most common mistake was to draw DFA's
instead of writing out grammars.