CS 138: Automata and Formal Languages (Spring '18)
Total credits: 4 Topics: 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 with a
grade of C or better; open to computer science and computer
engineering majors only.
Instructor: Stefano Tessaro, tessaro@cs, Harold Frank Hall 1117
Burak Kadron (kadron@cs)
Magzhan Zholbaryssov (magzhan@cs)
Mohith Pukale (mohithpukale@cs)
Class time and location
Mon and Wed 2:00-3:15pm (South Hall 1431) Discussion sections
Fri 9-9:50am (Phelps 2516)
Fri 10-10:50am (GIRV 1116) Office hours
ST: Tue 4:30-5:30p or by appointment (HFH 1117)
Burak: Mon 3:30-5:30p (Trailer 936 Room 104)
Magzhan: Thu 3:30-5:30p (Trailer 936 Room 104)
We will be using the (recommended) textbook: Peter Linz, An Introduction to Formal Languages and Automata, Jones and Bartlett Learning.
While we will not force you to buy it, it will be helpful if you get your hands on a copy. We will post pages covering materials from the class, and the notation will be (largely) consistent.
Homework: There will be 8 problem sets
distributed over the quarter. Generally, problem sets are
posted online on Monday, by 11:59pm PST, and are due 9 days
later on Wednesday, 2pm PST (use the homework box in the CS
mail room for submission, or subit at the beginning of class
at 2pm.) Homework will be graded, and will constitute an
important part of the grade. An exception is Homework 4.5,
which will serve the purpose to refresh some concepts before
Midterm: There will be one midterm
on Wednesday, May 2, 2018. Allowed are
only two letter-size sheets of handwritten notes. (Four
Final: The final will take place on Monday,
June 11, 4-7pm . Allowed are only four letter-size sheets
of handwritten notes. (Eight pages.)
Final grade: The final grade will be made by the
homework (30%), midterm (25%), and final (45%). The lowest
homework grade will be dropped.
Academic Honesty: The following applies to
every course you attend at UC Santa Barbara (from UCSB Campus
Regulations, Chapter VII: "Student Conduct and
It is expected that students attending the University of California understand and subscribe to the ideal of academic integrity, and are willing to bear individual responsibility for their work. Any work (written or otherwise) submitted to fulfill an academic requirement must represent a student’s original work. Any act of academic dishonesty, such as cheating or plagiarism, will subject a person to University disciplinary action. Using or attempting to use materials, information, study aids, or commercial “research” services not authorized by the instructor of the course constitutes cheating. Representing the words, ideas, or concepts of another person without appropriate attribution is plagiarism. Whenever another person’s written work is utilized, whether it be a single phrase or longer, quotation marks must be used and sources cited. Paraphrasing another’s work, i.e., borrowing the ideas or concepts and putting them into one’s “own” words, must also be acknowledged. Although a person’s state of mind and intention will be considered in determining the University response to an act of academic dishonesty, this in no way lessens the responsibility of the student.
Specifically for the current CS138 course this means that
You are not allowed to copy or transcribe answers to homework assignments from others or other sources.
Although you are allowed to discuss homework assignments with others, you should write down your answers independently. You should always be able to argue and explain your answers when asked for clarifications.
During the Midterm and Final Examination no electronics are allowed, additional notes are only allowed to the extent described prior to the test.
When you will be unable to hand in the homework in time you should report this to the lecturer (ST) as soon as possible, but always before the deadline. No matter the reason, you will always be asked to present documentation.
When in doubt, ask.
Schedule and Homework
The following is a tentative schedule, and is intended to give a rough idea about what I hope to cover in the class and in which order. There will be (slight) changes depending on the pace of the class, and more information will appear on the schedule.
Welcome to CS138
Regular languages and DFAs
From DFAs to NFAs
Equivalence of DFAs and NFAs
Non-regular languages and the Pumping Lemma
From regular languages to grammars
Regular languages wrap-up
Context-free grammars and languages
Simplifying context-free grammars I
Normal forms and parsing
|7||2018-05-14||Parsing and pushdown automata
Pushdown automata and the pumping lemma
|9||2018-05-28||No class - Memorial Day|
|2016-06-06||Introduction to computational complexity + Wrap Up||
The following are some links relevant to this class: