CS 3500B: Theory I


Tuesday and Thursday, 9:30 - 11:00 in CCB 16;

Wednesday 10:00 - 11:00 in CE 142A.

Hao Wang, T.A. Email wanghao@cc, office hours MW 3-4:30 Student Commons Area.

Vivek Kwatra, T.A. Email kwatra@cc, office hours Tu 4:30-6:00, F 3-4:30, Student Commons Area.

Newsgroup: git.cc.class.cs3500b, accessible on CoC machines.

For the course syllabus, homework assignments, solutions etc. see

Official Course Web Page: Fall 1999 (this pointer doesn't work yet; see below for now)


For programs that can help you learn about regular expressions, DFAs, and other automata, get JFLAP info and source at Susan H. Rodger's Tools. Rodger also has a pumping lemma learning tool and other material on automata theory.


Homework 1 August 31 due Sept 7

1.4(c,e,f,h); 1.5(c,f,g); 1.7a; 1.9; 1.12. Read 1.10. Harder: 1.30, just for n=5.


Homework 2. Sept 8, due Sept 15. This is not a short assignment.

1.13(a,b,c,d,e,f); 1.16; 1.17(a,b); 1.23 (You can use any theorems in the book. Note b and c are not the same.); 1.24; 1.36.


Homework 3. Sept 16, due Sept 23. 2.1(c,d); 2.4(a,d,e); 2.6(a,b,d);2.8; 2.14; 2.21 (extra credit but interesting).


Syllabus and course info (.ps file)


Homework 4. Sept 23, due Sept 30. 2.5(d,e); 2.7(c,d); 2.18(b,c,d). 3.1(a,d).


Test 1: Sept 28. This test will cover Sipser Ch.1 and Ch.2 except for the CFL pumping lemma. You can bring one 3 inch by 5 inch card or piece of paper with handwritten notes (both sides). I recommend that you be able to convert a CFG into Chomsky normal form, an NFA into a DFA, and a DFA into a regular expression (via GNFA).

Old tests are available on the newsgroup. Contact kwatra if you can't find them.

Test 2: Nov 18. This test will cover the material starting with the CFL pumping lemma, including Turing machines, and the algorithms material that was covered from chapters 2,4, 6, and 7. (Big O, recursions, sorting algorithms). Study your homework and lecture notes. You may bring one sheet of handwritten notes, 2-sided, 8.5 by 11 inches or smaller.

Answers to Chapter 3 Homework 5 problems

Homework 5. Oct 7, due Oct 14. 3.6,3.14(a,d,e), 3.15(a,d) notice there is no e (why not?). Read sections 5.1 and 5.3. Do problems 5.12, 5.13.


Homeworks 6 and 7. Oct 25, due Nov. 2 (Tues), Nov. 4 (Thurs). Textbook: Cormen, Leiserson, and Rivest.

Homework 6 : 2.1-4 (yes, no); 2-2 but only do two columns, the first saying yes/no if A = O(B), and the second saying yes/no if B=O(A). 4.3-1; 4-3.

Homework 7: 6.2-3, 6.3-2 ((n+1)/2), 6.4-2 (3.2). 7.1-4, 7.2-4, 7.3-2 (I did this in class), 7-1. Extra credit: 7.4-2 for the case where the array is already sorted in the order you want (so the build-heap won't do anything).

Homework 8: 17.3-1,2,6,8. (due Nov 17)

Homework 9 (due Nov. 30): Chapter 9: 9.1-1, 9.1-4, 9.2-1. Chapter 13: 13.1-2, 13.1-5, 13.3-6, 13.4-2, 13-1(a,b,c,d). Hint: the worst-case performance in 13-1d might occur when the algorithm always makes the same decision. This is like flipping a coin repeatedly, and always getting heads. On average, however, if you flip a coin n times, the number of heads is very likely to be in the range [n/2-D,n/2+D] where D=2 sqrt{n}.

homework 10 (due Dec.2) : 10.3-1, 10.3-3, 10.3-7, 10.3-9. 25.1-1, 25.1-8, 25.2-2, 25.3-1, 26.2-1.

Last homework (Do not turn this in. Answers will be posted the last week of class.)

Chapter 36: 36.1-1, 36.1-4, 36.1-5, 36.2-3,36.4-6. For the following problems, use only theorems in chapter 36. That is, only do reductions from problems shown NP-complete in your textbook: 36.5-1,36.5-4, 36-1(a,b). Extra: 36-2. Homework 11 Solutions


Projects