Due Dates:  Oral presentations of material begin on 13 October.
Written descriptions of material presented due one week after presentation.

Topics: Context-Free Languages (Chapter 2).

An integral part of this class is understanding and presenting the problems assigned as homework. Everyone is expected to do all the problems, but we will take turns on who presents the problem solutions to the class (every 2-3 weeks, depending on the number of students in the class). Within a week of presenting a problem solution to the class, you must submit a written description of it, via the Blackboard system. The written solutions will be posted on the Blackboard website for the class, so, they can used by everyone to study for the exams. Since it's hard to write down answers that are concise and are easily readable by all, if you wish to improve a grade on any problem, you may resubmit it for grading.

Undergraduate Problems

All students enrolled should complete the following:

  1. Let G be the context free grammar:
    E → E + T | T
    T → T x F | F
    F → (E) | a
    Give the parse tree and derivation for: a+a+a.

  2. Let G be the context free grammar:
    E → E + T | T
    T → T x F | F
    F → (E) | a
    Give the parse tree and derivation for: a x (a+a).

  3. Let G be the context free grammar:
    E → E + T | T
    T → T x F | F
    F → (E) | a
    Give the parse tree and derivation for: ((a)).

  4. Give a context free grammar that generates the language:
    {w | w starts and ends with the same symbol}
    where Σ = {0,1}.

  5. Give a context free grammar that generates the language:
    {w | 0n1n for n ≥ 0}
    where Σ = {0,1}.

  6. Give a context free grammar that generates the language:
    {w | w has odd length}
    where Σ = {0,1}.

Graduate Problems

Students enrolled for graduate credit, should complete all the undergraduate problems, as well as:

  1. Give a context free grammar that generates the language:
    {w | w has twice as many a's as b's}
    where Σ = {a,b}.

  2. Give a context free grammar that generates the language:
    {w | w is a palindrome}
    where Σ = {a,b}. A palindrome is a word that's the same as its reverse.