Presentation is loading. Please wait.

Presentation is loading. Please wait.

C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.

Similar presentations


Presentation on theme: "C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department."— Presentation transcript:

1 C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department

2 Introduction An introductory course on formal languages and automata Three basic concepts: languages, grammar, & automata Purposes: to provide the foundation and basic principle of CS, to teach material that will be useful in subsequent work, and to strengthen students’ ability to use formal methods

3 Agenda Part I (before midterm): Basic concepts, Finite Automata, Regular Languages, Context Free Grammars, Parsing. Part II (after midterm): Push Down Automata, Turing Machines, and Chomsky Hierarchy, NP-complete problems Perl Regular expressions

4 3 Major Concepts Languages -- 4 formal languages for design and implement programming languages – regular, context free, context sensitive, recursively enumerable Language generators -- 4 Grammars for 4 languages

5 3 Major Concepts (cont.) Language recognizers -- 4 automata for 4 languages –finite automata, push down automata, bounded TM, Turing Machine (TM) Applications to reinforce the 3 concepts –Regular expressions in Perl –Parsing in compiler

6 Abstractions What is an abstraction? –A method and language for working with one aspect of a design. Examples: simulation, layout, specification, and models. All abstractions have limitations. We need different abstraction for different task in design and implementation of PL.

7 Class mailing list List name: csc132lu To subscribe the mailing list: –email to “majordomo@ecs.csus.edu” –leave subject open –body of the email: subscribe csc132lu Make sure you are using the list for class discussion only.

8 Summary Computing theory gives you the necessary background to understand others design and enable you to be a good designer of computer system. Abstraction makes powerful tools for you. What do you think of this course now?

9 Chapter 2. Languages Sets and Their operations Languages and Their operations

10 Sets and operations Sets, subsets, empty set, multiset Cartesian product of A and B Power set of A, 2 A, set of all subsets of A Cardinality of A, size of set A Sets operations: union, intersection, deference, universal set

11 Languages Alphabet: a finite, nonempty set S of symbols Strings: finite sequences of symbols from S Language: a set of strings from S S *, S +, empty string  and empty set  Language: a subset of S * Example: S = {a, b}. What are S * and S + ?

12 Language operations More languages on S –L = {a n b n : n >= 0} complement of L, S * - L concatenation (product) of languages –L 1 L 2 = {xy: x  L 1, y  L 2 } What is L 2 when L = {a n b n : n >= 0} ?

13 Language operations (cont.) Power of L –L 0 = { } –L n = L L n-1 –L * = L 0  L 1 … –L + = L 1  L 2 ...


Download ppt "C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department."

Similar presentations


Ads by Google