Schedule  CS 337 
Spring 2012
This schedule, and the links contained in it, are subject to change
during the semester.
Date  Topic  Reading and Events Reading Assignments are from the required course pack by Professor Jayadev Misra unless otherwise noted. Read the assignments before class. 
Jan 18 
Syllabus and Course Introduction Notes: cs 337 intro 
1.Read the course syllabus carefully. 2. Project 0 will be posted later this week. 
Jan 20 
CS 337 pretest  
Jan 23 
Compression Notes: intro to information theory Proof techniques review 
1. Read 1.11.2. 2. Morse code translator 3. Braille code 4. Letter frequencies in English text 5. log rules 
Jan 25 
Compression  
Jan 24/26 
pretest 
1. Quizzes likely in discussion after today. 
Jan 27 
Compression Notes: Huffman coding and Dictionary methods 
1. Read 1.31.4 
Jan 30 
Compression Error Detection/Correction Notes: LZ78 Implementation XOR applications 
1. Read 2.12.2. 
Feb 1 
Error detection  
Jan 30/Feb 2 
Discussion: Q&A about project 1 Description of unit testing requirements for projects Quiz likely 
1. Complete and return your graded work return form in
discussion today. 
Feb 3 
Error Detection/Correction  1. Read 2.22.4 2. More about Nim 
Feb 6 
Error Detection/Correction Notes: More with XOR: Nim+RAID 
1. Read 2.52.6. 2. Quiz likely 
Feb 8 
Error Detection/Correction  
Feb 7/9 
Discussion: Q&A about project 1 

Feb 10 
Error Detection/Correction Notes: Parity Check & Hamming Code 
1. Read 2.7 
Feb 13 
Hamming code and ReedMuller code Cryptography Notes: Hamming & ReedMuller Cryptography  Mathematical Preliminaries and Early Crypto 
1. Read 3.13.2. 2. ReedMuller code used in Mariner 9 
Feb 15 
Cryptography  1. Dancing
Men
code 
Feb 14/16 
Discussion: Q&A on project 2 and
homework 3 Quiz over material covered in class last week. 

Feb 17 
Cryptography Notes: Crypto: RSA 
1. Read 3.3.2 2. Common mistakes in induction proofs. 
Feb 20 
Cryptography Notes: Crypto: RSA, Fast Factorization, Block Ciphers 
1. Read 3.3. 
Feb 22 
Cryptography  1. Schneier on caller
ID
spoofing 
Feb 21/23 
Discussion  1. Work on midterm 1 review sheet, posted below, before
today's class. 2. Complete homework 4 and bring solutions with you. 
Feb 24 
Cryptography Notes: Crypto: HellieDiffman key exchange + digital signatures Practice problems for exam 1 
1. Read 3.4 
Feb 27 
Exam 1 Review Finite State Machines 
1. Exam 1 will be given on Wednesday, Feb 29, and will cover
material through 2/24. Exam 1: 2/29/12, 7:309 pm, WCH 1.120 2. Review problems for exam 1, and solutions 3. You may bring one 8.5"x11" sheet of paper with handwritten notes on ONE side to the exam. 
Feb 29 
Exam this evening Finite State Machines 
1. Dr. Misra's old
337
exams 2. Spring 2010 midterm 3. Spring 2011 midterm 4. Spring 2010 and Spring 2011 solutions 
Feb 28/Mar 1 
Discussion: No discussion this week 

Mar 2 
No class today 

Mar 5 
Finite State Machines 

Mar 7 
Finite State Machines 

Mar 6/8 
Discussion: exams returned 

Mar 9 
Finite State Machines Notes: Finite Automata 
1. Read 4.14.2. 
Mar 1217 
SPRING BREAK 

Mar 19 
Finite State Machines Notes: FAs and transducers 
1. Read 4.3. 
Mar 21 
FAs  
Mar 20/22 
Discussion  
Mar 23 
Regular Languages Notes: NFAs & regular expressions 
1. Read 4.4. 
Mar 26 
Regular Expressions Notes: regular expressions & closure properties 
1. Finish reading chapter 4 
Mar 28 
Regular expressions  
Mar 27/29 
Discussion: Practice with regular expressions quiz likely 

Mar 30 
Recursion and Induction Notes: Haskell Intro 
1. Read 5.15.2. 2. Some Haskell tutorials 
Apr 2 
Recursion and Induction Notes: Haskell functions, Type, Tuples and Lists 
1. Read 5.35.4. 
Apr 4 
Recursion and induction  
Apr 3/5 
Discussion: Practice with DFA to regular expression
conversion, regular expressions, and Haskell functions 

Apr 6 
Recursion and Induction Notes: Recursion and Lists 
1. Read 5.55.6. 2. Sample exam 2 3. Another sample exam 4. Spring 2010 and Spring 2011 exam solutions 
Apr 9 
Exam 2 Q&A 
1. Exam 2 review
sheet and solutions Finish reading chapter 5. 
Apr 11 
String Matching Notes: RabinKarp algorithm and KMP 
1. J
Moore's
page on KMP and the BoyerMoore algorithms 2. Helpful explanation of KMP 3. Read sections 7.17.3. 4. Another description of KMP 5. Exam 2: April 11, 7:309 pm, WCH 1.120 
Apr 10/12 
Discussion: Project Q&A Exam 2 Solutions 

Apr 13 
String Matching 
1. Finish reading chapter 7. 2. BoyerMoore algorithm 
Apr 16 
String Matching Notes: More on BoyerMoore 

Apr 18 
String Matching 

Apr 17/19 
discussion: project Q&A quiz likely 

Apr 20 
String Matching Relational Database 
1. KMP Example 
Apr 23 
Relational Database Notes: Relational Database Intro 
1. Friday, May 4, is our last class day. 2. Read sections 6.16.2. 
Apr 25 
Relational database  
Apr 24/26 
Discussion: Another KMP Example Q&A for exam 3 TA Evaluations 

Apr 27 
Relational database 

Apr 30 
Relational Database Notes: Identities and Optimization Database Examples 
1. Finish reading chapter 6. 2. Sample exam 3 3. Sample exam solutions 4. Another sample exam 
May 2 
database examples 

May 1/3 
Discussion 

May 4 
Relational Database 

Exam 3: 
Date/Time TBD 