1 Welcome to CS154 Why Study Automata? What the Course is About Administrivia
2 Why Study Automata? uA survey of Stanford grads 5 years out asked which of their courses did they use in their job. uBasics like CS106 took the top spots, of course. uBut among optional courses, CS154 stood remarkably high. w3X the score for AI, for example.
3 How Could That Be? uRegular expressions are used in many systems. wE.g., UNIX a.*b. wE.g., DTD’s describe XML tags with a RE format like person (name, addr, child*). uFinite automata model protocols, electronic circuits. wTheory is used in model-checking.
4 How? – (2) uContext-free grammars are used to describe the syntax of essentially every programming language. wNot to forget their important role in describing natural languages. uAnd DTD’s taken as a whole, are really CFG’s.
5 How? – (3) uWhen developing solutions to real problems, we often confront the limitations of what software can do. wUndecidable things – no program whatever can do it. wIntractable things – there are programs, but no fast programs. uCS154 gives you the tools.
6 Other Good Stuff in CS154 uWe’ll learn how to deal formally with discrete systems. wProofs: You never really prove a program correct, but you need to be thinking of why a tricky technique really works. uWe’ll gain experience with abstract models and constructions. wModels layered software architectures.
7 Course Outline uRegular Languages and their descriptors: wFinite automata, nondeterministic finite automata, regular expressions. wAlgorithms to decide questions about regular languages, e.g., is it empty? wClosure properties of regular languages.
8 Course Outline – (2) uContext-free languages and their descriptors: wContext-free grammars, pushdown automata. wDecision and closure properties.
9 Course Outline – (3) uRecursive and recursively enumerable languages. wTuring machines, decidability of problems. wThe limit of what can be computed. uIntractable problems. wProblems that (appear to) require exponential time. wNP-completeness and beyond.
10 CS154N uIf you are taking CS154N, you should start coming to class when we enter the Turing-machine material.
11 Meet the TA’s uShrey Gupta uRohan Jain uJia Li
12 Course Requirements uTwo kinds of homework: 1.Gradiance homework (automated, straightforward, 20%). 2.Challenge problems (conventional written work, harder, 20%). uTwo exams: wMidterm (20%). wFinal (Monday June 7, 7-10PM, 40%).
13 Text uHopcroft, Motwani, Ullman, Automata Theory, Languages, and Computation 3 rd Edition. uCourse covers essentially the entire book.
14 Gradiance Registration uThe “class token” for this edition of CS154 is 1DC79FE7. uRegister it at uTexts come with free access cards. uGo to to purchase or register (link at upper left).
15 Comments About Gradiance Homework uThe intent is that everyone will get 100% on all homeworks. uYou are allowed to try as many times as you like. wOnly the last try counts. uDon’t be afraid to guess and try again. uYou’ll get some advice if you make a mistake.