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 pre-test
Jan 23
Compression

Notes:
intro to information theory
Proof techniques review

1. Read 1.1-1.2.
2. Morse code translator
3. Braille code
4. Letter frequencies in English text
5. log rules
Jan 25
Compression
Jan 24/26
pre-test
1. Quizzes likely in discussion after today.
Jan 27
Compression

Notes:
Huffman coding and Dictionary methods
1. Read 1.3-1.4
Jan 30
Compression
Error Detection/Correction

Notes:
LZ78 Implementation
XOR applications
1. Read 2.1-2.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.2-2.4
2. More about Nim
Feb 6
Error Detection/Correction

Notes:
More with XOR: Nim+RAID
1. Read 2.5-2.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 Reed-Muller code
Cryptography

Notes:
Hamming & Reed-Muller
Cryptography - Mathematical Preliminaries and Early Crypto


1. Read 3.1-3.2.
2. Reed-Muller 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: Hellie-Diffman 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:30-9 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.1-4.2.
Mar 12-17
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.1-5.2.
2. Some Haskell tutorials
Apr 2
Recursion and Induction

Notes: Haskell functions, Type, Tuples and Lists

1. Read 5.3-5.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.5-5.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:
Rabin-Karp algorithm and KMP
1. J Moore's page on KMP and the Boyer-Moore algorithms
2. Helpful explanation of KMP
3. Read sections 7.1-7.3.
4. Another description of KMP
5. Exam 2: April 11, 7:30-9 pm, WCH 1.120
Apr 10/12
Discussion: Project Q&A
Exam 2 Solutions

Apr 13
String Matching

1. Finish reading chapter 7.
2. Boyer-Moore algorithm
Apr 16
String Matching

Notes:
More on Boyer-Moore

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.1-6.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