CSE 355: Introduction to Theoretical Computer Science
Fall 2009, Arizona State University


This course provides a first introduction to the theoretical concepts of Computer Science. The focus of the course is the study of abstract computing devices without targeting a specific programming language and/or computing platform. In particular, we will study:


a)      finite automata, which model computing machines with finite fixed memory, and the class of regular languages, which is used for pattern matching languages;

b)      pushdown automata and context-free grammars that facilitate declarative specifications of language syntax;

c)      the universal computational model of Turing machines, and the inherent limits of what can be solved on a computer (undecidability); and, finally,

d)     time complexity theory, which helps us measure the time used to solve a problem.

The course also emphasizes rigorous thinking and mathematical proofs.


         Class: Mon, Wed and Fri 10:45-11:35, BYAC 110

         Instructor: Georgios Fainekos (fainekos at asu),

         Office hours: Mon 3:30-4:30 & Tue 10:00-11:00

         Office: BYENG 474




Data structures and Discrete mathematics


         Required: Introduction to the theory of computation, Michael Sipser, Thomson Course Technology, Second Edition, 2004.

         Additional Reference: Introduction to Automata Theory, Languages and Computation, J.E. Hopcroft, R. Motwani, and J.D. Ullman, Addison Wesley, Third edition, 2006


Grades will be based on

         Seven Homework Assignments: One third

         Two Midterms: One third

         Final Exam: One third

         There will be one or two optional projects. Those who choose to do the project will be graded as follows:

o   Homework: 1/4

o   Midterms: 1/4

o   Final exam: 1/4

o   Projects: 1/4

Homework Policy

The homework must be turned in by the end of the class on the due day (unless specified otherwise).


         If turned in one day late, 10% off.

         If turned in two days late (next class - some week), 25% off.

         If turned in three days late (next class on Monday next week), 50% off.

         If turned in later than above, NO credit.

The homework policy will be *strictly* enforced.
NO excuses will be accepted, plan ahead!

Plagiarism Policy

Your work for this course must be the result of your own individual effort. Having said that, you are allowed to discuss problems with your classmates or me, but you must not blatantly copy others' solutions. Copying (or slightly changing) solutions from online sources, other books or your friends is easily detectable. If the latter copying is detected the worst credit will be split among the perpetrators, or worse! Also, if you can find an answer online, then so can I!

The best way to prepare for the midterms and the exams is to do the homework on your own!

Special Needs

If you are entitled to extra accommodation for any reason (such as a disability), I will make every reasonable attempt to accommodate you. However, it is your responsibility to discuss this with the instructor at the beginning of the course.