Automata and Formal Languages Hongwei Xi University of Cincinnati Fall 2000 5 February 2019 Introduction
Welcome! 20-ECES-670: Automata and Formal Languages Introduction to automaton theory, computability and computational complexity What is the limitation of a computer? What makes some problems inherently more difficult than others? 5 February 2019 Introduction
Course Overview Regular Languages: lexical analysis Example: identifiers: [a-zA-Z][a-zA-Z0-9]* Nonregular Languages: Pumping Lemma(s) for regular languages 5 February 2019 Introduction
Course Overview Context-free Languages: programming language syntax Example: expressions: E -> id, E -> E + E, E -> (E) Non-context-free Languages: Pumping Lemma(s) for context-free languages 5 February 2019 Introduction
Course Overview Computability Theory The Church-Turing Thesis Turing machines Decidability/Undecidabilty The halting problem Diagonalization Reducibility An approach to establishing undecidabilty results 5 February 2019 Introduction
Course Overview Complexity Theory Time Complexity Space complexity The Class P The Class NP NP-completeness Space complexity The Class PSPACE PSPACE-completeness 5 February 2019 Introduction
What is this course like? Stressing both mathematical reasoning and implementation skill Prove theorems Implement algorithms Emphasizing mathematical rigor and clarity “If you can’t explain it, you probably don’t understand it ” 5 February 2019 Introduction
What is this course like? You will have to work hard in order to keep up! Many ideas may sound unfamiliar to you. They are often formal and take time to “sink in”. Assignments often require both mathematical reasoning and implementation skill. 5 February 2019 Introduction
What this course is like? There is an excellent textbook for this course. Get it! Both studying and experimentation are essential to gaining understanding of the material 5 February 2019 Introduction
What is this course like? Most of all, it’s a lot fun! Elegant interplay between theory and practice Rapid exposure to many fundamental ideas Enormous potential for pursuing further studies in computer science 5 February 2019 Introduction
People Teaching Staff Instructor: Hongwei Xi hwxi@ececs.uc.edu Rhodes Hall 811 D Teaching assistant: Monica Martin mmartin@ececs.uc.edu 5 February 2019 Introduction
Schedules Lectures: MWF 2-2:50AM Swift 501 Office Hours: To be announced Or by appointment Or stop by 811 D Rhodes 5 February 2019 Introduction
Programming Languages Standard ML (preferred) http://cm.bell-labs.com/cm/cs/what/smlnj Or one of your favorites (C, C++, Java, etc.) It is your responsibility to make sure that your code runs under Unix! 5 February 2019 Introduction
Homework Approximately 10 assignments Clarity and elegance count About one every week Individual work only unless specified otherwise! Clarity and elegance count It is not enough to just “work” on test data 5 February 2019 Introduction
Exams and Grades Midterm Final Homework (25%) All exams are open-book Monday, Oct 30 In-class (25%) Final Monday, Mar 13 In-class (50%) Homework (25%) All exams are open-book Participation can make difference on your letter grade 5 February 2019 Introduction
Academic Integrity Strict adherence to the university guidelines All work must be solely your own! Repeat: all work must be solely your own! If you have difficulty keeping up, ask for help! The teaching staff are always willing to help Ask earlier, rather than later 5 February 2019 Introduction
A Warning and A Plea This is my first time to offer such a course I’m certain to make (many) mistakes But I’ll do my best to run the course smoothly Please be patient and ask a lot of questions 5 February 2019 Introduction
Course Information Everything is on the web! Course Homepage http://www.ececs.uc.edu/~hwxi/eces670.html Notes, Slides, Handouts, Assignments, Solutions Please visit the homepage frequently! 5 February 2019 Introduction