# CS
525, Theory of Computation, Online Section, Winter 2014

## Instructor: Krzysztof Nowak

Office: University Crossings 109

Office Hours: No Office Hours, contact the instructor
via e-mail instead

e-mail: kn33@drexel.edu

Broadcasted and recorded meetings of CS 525
evening section: **Wednesday 6:00 pm - 8:50 pm (US Eastern Time Zone),
University Crossings 153**

**Course Prerequisites**

Data Structures, Discrete Mathematics

**Course
Description**

The course covers the fundamentals of automata theory, formal languages, Turing
machines, computability and computational complexity. It emphasizes theoretical
aspects of the field. Numerous illustrating examples provide intuitive
understanding of formal definitions and proofs. Graphical representations are
frequently used to facilitate the understanding of concepts. A strong stress is
put on developing a thorough understanding of fundamental results.

**Required Text**

Michael Sipser, Introduction to the Theory of Computation, Cengage Learning 2013
(Third Edition, most of the material is also available inside the Second
Edition).

**Reference Texts**

John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, *Introduction to
Automata Theory, Languages, and Computation*, Addison-Wesley, Boston, 2006
(Third Edition), available for reading in University Crossings 147

Stephen Simpson, *Mathematical Logic*, Lecture notes at PSU:

http://www.math.psu.edu/simpson/courses/math557/logic.pdf

Herbert S. Wilf, *Algorithms and Complexity*, A K Peters, Ltd., 2002
(Second Edition), Downloadable First Edition:

http://www.math.upenn.edu/%7Ewilf/AlgoComp.pdf

**Syllabus**

Week 1: Chapters 1.1-1.3

Week 2: Homework 1 due Wednesday midnight, Quiz 1 due Sunday^{*}
midnight, Chapters 1.4, 2.1-2.2

**Week 3:** Homework 2 due Wednesday midnight, Quiz 2 due Sunday^{*}
midnight, Chapters 2.3-2.4

Week 4: Homework 3 due Wednesday midnight, Quiz 3 due Sunday^{*}
midnight, Chapters 3.1-3.3 without Nondeterministic Turing Machines (NTMs)

**Week 5:** Quiz 4 due Sunday^{*} midnight, one-hour Test 1 due
Sunday^{*} midnight, NTMs, Chapters 4.1-4.2

**Week 6:** Homework 4 due Wednesday midnight, Quiz 5 due Sunday^{*}
midnight, Chapters 5.1-5.3

Week 7: Homework 5 due Wednesday midnight, Quiz 6 due Sunday^{*}
midnight, Chapters 6.1-6.3

Week 8: Quiz 7 due Sunday^{*} midnight, one-hour Test 2 due Sunday^{*}
midnight, Chapters 7.1-7.2

Week 9: Homework 6 due Wednesday midnight, Quiz 8 due Sunday^{*}
midnight, Chapters 7.3-7.4 without Cook-Levin (C-L)

**Week 10:** Homework 7 due Wednesday midnight, Quiz 9 due Sunday^{*}
midnight, C-L, Chapters 7.5

**Week 11:** Quiz 10 due Sunday^{*} midnight, three-hour final exam
due Sunday^{*} midnight

Sunday^{*} – Sunday during the weekend that follows a given week

Both Wednesday midnight and Sunday midnight of the syllabus refer to your local
time zone

**Course Objectives**

Gain proficiency with mathematical tools and formal methods

Understand automata and Turing machines

Understand various equivalent descriptions of regular and context free
languages

Understand fundamental results of computability and complexity theories

Course Grade and Exams

We will have 10 individual quizzes, seven individual homework assignments, two
individual tests (weeks 5,8), and an individual final exam (week 11). The final
grade will be computed as follows: quizzes count for 25%, homework for 25%,
tests for 25%, final exam for 25%.8de19939-0312-4d49-8e41-7e842db8eb0cY2:8de19939-0312-4d49-8e41-7e842db8eb0c