Introduction
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.
Logistics
·
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
Schedule
Schedule
Prerequisites
Data structures and Discrete
mathematics
Textbooks
·
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
Grading
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.