Course Syllabus
CS 315 – Automata Theory
Dept. of Computer Science
Northern Arizona University
FALL 2008
Time and location: T-TH 2:20-3:35 (3 credit hours), Engineering Rm 224
Course Website: http://www.cefns.nau.edu/~edo/Classes/CS315_WWW/index.html
| Textbook (Required): |
Languages and machines: an introduction to the
theory of computer science, Author:
Sudkamp, Thomas A. Publisher: Addison-Wesley |
Course Description: Finite and infinite models leading to an understanding of computability.
Course Objectives: Upon completion of this course, students will be familiar with fundamental
principles of computability. Familiarity will be gained through the
study and use of different families of languages.
Instructor: Dr. Eck Doerry
Office and email: Engineering 259, Eck.Doerry@nau.edu
| Office
hours: |
Tuesday, Thursday: 1:00-2:00
Wednesday: 10:00-11:00 |
Although you should try hard to make
it to scheduled office hours, I am also available at other times
by
appointment. To schedule, see me before or after class or send email. Aside from scheduling meetings, email is appropriate for short questions only ; longer discussions should be handled in person.
If my office door is open or cracked outside of office hours, feel
free
to knock - I may be available (no guarantees). I enjoy talking to and
helping students, so if you are having problems please find some way
to let me know as soon as you can.
Course Stucture and Evaluation
Methods
Tentative Course Coverage:
| Weeks |
Topic(s) |
Readings |
| 1-2 |
Math.
Preliminaries and Languages |
Ch.
1 & 2 |
| 3-5 |
Finite
Automata; Regular languages and Sets |
Ch.
6 & 7 |
| 6-8 |
Context-free
grammars; Normal forms |
Ch.
3 & 5 |
| 9-11 |
Pushdown
automata and CFL |
Ch.
8 |
| 12-14 |
Turing
machines |
Ch.
9 |
| 15 |
Chomsky
hierarchy (time permitting) |
Ch.
10 |
Course Stucture and Evaluation
Methods
- General expectations:
- The internet and the course web site is where
all the action is. In my classes, all homeworks, programming assignments,
solutions, announcement, etc. appear on the class website. This means specifically:
-
You will very rarely have
anything handed to you in hard copy. If you need it, it's on the course website!
-
Although there is usually redundancy, some important announcements may appear only in email! I expect you to check your
email at least once a day, preferably more often. Get in this habit early.
-
Quizzes and Homeworks:
- There will be homeworks and quizzes during the semester
to test your comprehension and give you a chance to practice the analytic
skills we learn. Homeworks will usually be assigned weekly. Quizzes
may happen in the first 10 minutes of class and will not necessarily
be announced in advance; be sure to keep up on your reading and come
to class ready to think!
- Grade Challenges:
- Although I try hard to grade as accurately and fairly
as I can, mistakes do occur. If you feel that I owe you some points,
or would like to discuss an evaluation, I encourage you to stop by office
hours. To avoid loss of context, any grade disputes must be brought
to my attention no later than 5 business days after the assignment was
returned.
- Class participation:
- This class is not some sort of surreal dream that you sit and let wash
over your senses. The concepts we will cover are challenging, but will
be infinitely easier to master if you actively participate in the course.
Thus, interaction -- both with the instructor and with other students
-- is crucial for understanding and integrating the ideas presented
in lecture. To emphasize this, a few (possibly crucial) points are set
aside to reward students who take an active role in the class.
- Exams:
- There will be two exams during the semester and one
final exam. The exams allow you to explore the extent to which you have
mastered the concepts presented in class.
- Grading: The grading scheme for the course is as follows:
2 exams = 40%
Homeworks and Quizzes= 30%
Final
exam = 25%
Participation=5%
Grading Scale:90-100% = A, 80-89% = B, 69-79% = C, 56-68% = D,
under 56% = F |
Simply completing what is required is enough to earn
a "C". To get an "A" or a "B" you must
show exceptional (i.e. above average or outstanding, respectively) initiative
and creativity.
Course Policies
- Attendance:
- Attendance is required. You are responsible for all
material covered during the lectures whether you attend or not. If
you must miss a class, be sure to get the notes from another student.
After reviewing their notes and doing the assigned reading, let me
know if you have specific questions ("Did I miss anything?"
is not a specific question!). Late arrivals are very disruptive and
are not acceptable --- plan to arrive five minutes before the start
of class.
- Homework Submission and Format:
- All homework must be submitted in hardcopy. For details on formatting and submission
requirements. See Formatting Guidelines on the class website. In particular, make sure you always have a cover sheet with the required information on it!
-
- Electronic Device usage:
- All cell phones, PDAs, music players and other electronic devices must be turned off (or in silent mode) during lecture, and may not be used at any time. Laptops or workstations (if present) are allowed for note-taking only during lectures; no surfing or other use is allowed. I devote 100% of my attention to providing a high quality lecture; please respect this by devoting 100% of your attention to listening and participating.
-
Late work:
- No late work will be accepted. Unless otherwise
noted, all assigned work is due at the beginning of class on the
date they are due! I will drop your lowest homework grade: this
may be a homework you didn’t do (for whatever reason such as illness,
family problems, etc.) or it may just be your lowest grade.
- Make-ups:
- No make-ups are given for homeworks. Make-up
exams will be given only in the case of a documented emergency or
with approval from me at least 24 hours prior to the exam. Make-up exams may be different and possibly harder than the original exam.
- Academic Dishonesty:
- Cheating will not be tolerated
and will result in immediate serious sanctions. Serious incidents
of academic dishonesty will also for brought to the attention of
the
university and may result in expulsion. All work in this class is
meant to be an individual effort by the person receiving the grade.
Any variation from this is considered cheating and all parties involved
(giving or receiving) will be sanctioned.
University Policies
You should familiarize
yourself with the following university policies, which are available
at the Engineering Sciences Front Desk:
Vital Skills and other Hints for success in CS315
- Be active, not
passive.
- One of the skills
you should develop is an ability to read difficult material on your
own - you will exercise this skill in the present course. Try to read
at least lightly through the material in the assigned reading before
the related lecture; you should certainly review readings after lecture
to be sure you understand the material -- well enough to pass a quiz!
You are expected to read the material more thoroughly before (and
preferably well before) any exams. Also read introductory sections,
summaries, and chapter notes, and skim exercises and problems to gain
an idea of what's going on and where to find material!
- Strive for elegance.
- Those who have taken
my courses before know that I am a big fan of elegant solutions. This
goes for algorithms and programming, but also (and maybe particularly)
for theoretical work. A presentation of cleanly-written, well-reasoned
work is almost half the battle; you will get some credit just for
convincing me that you've given the problem careful thought, even
if your answer is incomplete in the end.
- Don't procrastinate.
- Don't delay working on homeworks until the last minute.
Theoretical thinking isn't something you get done is five minutes
in the hallway before class. Rather, it is something that needs to
percolate: start right away on the problem and work until you're
stumped,
then let is percolate around in your head for a bit while you tend
to other things. Often the next step of the solution will hit
you just
before you drop off to sleep at night.
|