Syllabus
Catalog Description
Formal languages; finite automata and regular expressions; properties of
regular languages; pushdown automata and context-free grammars; properties
of context-free languages; introduction to computability and unsolvability
(Turing machines) and computational complexity.
Prerequisites
Computer Science 40; open to computer science and computer engineering
majors only.
Course Goals
The goals of this course are to:
- introduce you to the need for, and the working of, mathematical proof;
- develop facility with the concepts, notation, and techniques of the
theories of automata, formal languages, and Turing machines;
- give a historical perspective of the creation of the computer, and
an understanding of some of its capabilties and limitations.
I believe that the future belongs to those who enjoy learning things for
themselves. I consequently hope that you explore on your own some
additional topics that are of interest to you . Self-directed learning, like
any skill, takes practice. Persevere. Self-directed learning does not
mean that you cannot talk to people. It means that you take personal responsibility
for organizing and executing---in a word, directing---your own learning plan.
As an instructor, my goal is to encourage you to become a more
self-directed learner.
Why have an upper division course on automata & formal languages?
Aspects of automata theory and formal languages are valuable tools
in a variety of disciplines. The theoretical, mind-expanding exercises in
this course retain their value, regardless of how practical your particular
interests may be.
Contributions to educational objectives (to be fixed)
This course contributes directly to the following educational goals:
- S4: communicate effectively.
and indirectly to:
- S2: recognize the need for, and expect to engage in, life-long learning
for continued effectiveness in the profession.
- S9: have the knowledge and capability that prepares them to be highly
trainable in the job market
Relevance to Program (to be fixed)
Course
Goals |
Mapping to
Educational Objectives |
Contibution to
Program Goals* |
|
1
|
S9
|
5
|
|
2
|
S6, S9
|
5
|
|
3
|
S6
|
2
|
* Scale: 1 is Low and 5 is High
Workload
This is a 4-credit course at UCSB. You are expected to finish this
course in 10 weeks, working intelligently for an average of 10 hours/week.
Discussions & Lectures
Please email Peter Cappello comments
about what you would like to see in future lectures, so that he can better
accommodate your wishes.
Required Text
Peter Linz. An
Introduction to Formal Languages and Automata (3rd edition), Jones and Bartlett, Incorporated,
2001, Library of Congress: QA267.3.L56 2000; ISBN: 0-7637-1422-4.