Fall CSCI 2670Introduction to Theory of Computing

Similar documents
Informatics 2A: Language Complexity and the. Inf2A: Chomsky Hierarchy

A R "! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ;

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

Enumeration of Context-Free Languages and Related Structures

Language properties and Grammar of Parallel and Series Parallel Languages

Math 181, Calculus I

MAT 122 Intermediate Algebra Syllabus Summer 2016

BUS Computer Concepts and Applications for Business Fall 2012

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

Course Content Concepts

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

COURSE WEBSITE:

Required Texts: Intermediate Accounting by Spiceland, Sepe and Nelson, 8E Course notes are available on UNM Learn.

INTERMEDIATE ALGEBRA Course Syllabus


RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

Course Syllabus. Alternatively, a student can schedule an appointment by .

CS 3516: Computer Networks

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

Erkki Mäkinen State change languages as homomorphic images of Szilard languages

Data Structures and Algorithms

Pitching Accounts & Advertising Sales ADV /PR

STA2023 Introduction to Statistics (Hybrid) Spring 2013

CRITICAL THINKING AND WRITING: ENG 200H-D01 - Spring 2017 TR 10:45-12:15 p.m., HH 205

A General Class of Noncontext Free Grammars Generating Context Free Languages

ITSC 2321 Integrated Software Applications II COURSE SYLLABUS

BUFFET THEORY AND PRODUCTION - CHEF 2332 Thursday 1:30pm 7:00pm Northeast Texas Community College - Our Place Restaurant Course Syllabus Fall 2013

Class meetings: Time: Monday & Wednesday 7:00 PM to 8:20 PM Place: TCC NTAB 2222

Spring 2015 Natural Science I: Quarks to Cosmos CORE-UA 209. SYLLABUS and COURSE INFORMATION.

Beginning and Intermediate Algebra, by Elayn Martin-Gay, Second Custom Edition for Los Angeles Mission College. ISBN 13:

CS 101 Computer Science I Fall Instructor Muller. Syllabus

ACCT 100 Introduction to Accounting Course Syllabus Course # on T Th 12:30 1:45 Spring, 2016: Debra L. Schmidt-Johnson, CPA

Foothill College Summer 2016

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

AGN 331 Soil Science. Lecture & Laboratory. Face to Face Version, Spring, Syllabus

AGN 331 Soil Science Lecture & Laboratory Face to Face Version, Spring, 2012 Syllabus

Office Hours: Mon & Fri 10:00-12:00. Course Description

Intensive English Program Southwest College

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Proof Theory for Syntacticians

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

INTRODUCTION TO GENERAL PSYCHOLOGY (PSYC 1101) ONLINE SYLLABUS. Instructor: April Babb Crisp, M.S., LPC

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

Sul Ross State University Spring Syllabus for ED 6315 Design and Implementation of Curriculum

Math 22. Fall 2016 TROUT

Visual Journalism J3220 Syllabus

CS/SE 3341 Spring 2012

Introduction to Forensic Drug Chemistry

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

Grammars & Parsing, Part 1:

MAR Environmental Problems & Solutions. Stony Brook University School of Marine & Atmospheric Sciences (SoMAS)

General Chemistry II, CHEM Blinn College Bryan Campus Course Syllabus Fall 2011

2013 District STAR Coordinator Workshop

Scottsdale Community College Spring 2016 CIS190 Intro to LANs CIS105 or permission of Instructor

Syllabus CHEM 2230L (Organic Chemistry I Laboratory) Fall Semester 2017, 1 semester hour (revised August 24, 2017)

FINN FINANCIAL MANAGEMENT Spring 2014

PSY 1012 General Psychology. Course Policies and Syllabus

EEAS 101 BASIC WIRING AND CIRCUIT DESIGN. Electrical Principles and Practices Text 3 nd Edition, Glen Mazur & Peter Zurlis

THE GEORGE WASHINGTON UNIVERSITY Department of Economics. ECON 1012: PRINCIPLES OF MACROECONOMICS Prof. Irene R. Foster

CSCI 333 Java Language Programming Fall 2017 INSTRUCTOR INFORMATION COURSE INFORMATION

A Version Space Approach to Learning Context-free Grammars

MARKETING ADMINISTRATION MARK 6A61 Spring 2016

San José State University Department of Psychology PSYC , Human Learning, Spring 2017

LING 329 : MORPHOLOGY

Course Syllabus MFG Modern Manufacturing Techniques I Spring 2017

ITSC 1301 Introduction to Computers Course Syllabus

GRAMMAR IN CONTEXT 2 PDF

Office Hours: Day Time Location TR 12:00pm - 2:00pm Main Campus Carl DeSantis Building 5136

STANDARDIZED COURSE SYLLABUS

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Class Tuesdays & Thursdays 12:30-1:45 pm Friday 107. Office Tuesdays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

FINANCE 3320 Financial Management Syllabus May-Term 2016 *

BA 130 Introduction to International Business

Alabama A&M University School of Business Department of Economics, Finance & Office Systems Management Normal, AL Fall 2004

Course Syllabus. Course Information Course Number/Section OB 6301-MBP

ACC 362 Course Syllabus

Demography and Population Geography with GISc GEH 320/GEP 620 (H81) / PHE 718 / EES80500 Syllabus

COURSE SYLLABUS: CPSC6142 SYSTEM SIMULATION-SPRING 2015

ACADEMIC POLICIES AND PROCEDURES

Math 96: Intermediate Algebra in Context

MTH 215: Introduction to Linear Algebra

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Department of Accounting ACC Fundamentals of Financial Accounting Fall, 2015 Syllabus

Syllabus: CS 377 Communication and Ethical Issues in Computing 3 Credit Hours Prerequisite: CS 251, Data Structures Fall 2015

Introduction to World Philosophy Syllabus Fall 2013 PHIL 2010 CRN: 89658

3D DIGITAL ANIMATION TECHNIQUES (3DAT)

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

CENTRAL MAINE COMMUNITY COLLEGE Introduction to Computer Applications BCA ; FALL 2011

Penn State University - University Park MATH 140 Instructor Syllabus, Calculus with Analytic Geometry I Fall 2010

CHEM 6487: Problem Seminar in Inorganic Chemistry Spring 2010

Monday/Wednesday, 9:00 AM 10:30 AM

MGT/MGP/MGB 261: Investment Analysis

Transcription:

CSCI 2670 Introduction to Theory of Computing

Instructor and Lecture Times Instructor: Don Potter (potter@uga.edu) Office: Boyd GSRC 111; Office Hours: TBA Lecture Times and Locations 9:05-9:55 Mon Life Sciences, C114 9:30-10:45 Tues & Thurs Life Sciences, C114

Brief Description This is a first course on the theory of computing. Fundamental topics include: finite automata, regular expressions and languages, context-free grammars and languages, pushdown automata, pumping lemmas for regular languages and for context-free grammars, the Chomsky hierarchy of language classes, Turing machines and computability, undecidability of the halting problem, reducibilities among decision problems and languages, time complexity, and NP-completeness and tractability. Prerequisites: CSCI/MATH 2610: Discrete Mathematics; or CSCI 2611: Discrete Mathematics for Engineers.

Informative Description The course focuses on questions of the following sort: Which problems are solvable by computers and which aren t? For a given solvable problem, how difficult is it to solve? Questions like the first are addressed in computability theory. Questions like the second are addressed in complexity theory. Historically, computability theory was developed before/independently of actual computers (1920s-1930s). Complexity theory came later (really taking off in the 1970s). In order to answer these questions, we must first define what problem and computer mean.

Models of Computation: Automata This course presents several types of abstract machines (automata). They can be viewed as having different amounts of memory. Finite State Machines: constant memory. Deterministic Finite Automata (DFAs) Nondeterministic Finite Automata (NFAs) Push Down Automata (PDAs), having a stack Turing Machines, having an unlimited tape The machine types are of different computational power (with the TM being the most powerful of all). Computation is defined via the activity of these machines.

Formal Languages The machines are closely related to types of formal languages (generated by formal grammars). A formal language L is just a set of strings defined over an alphabet of symbols. {a, aa, aaa, aaaa,...} is a language. Each machine M has a formal language L(M) associated with it, the language it accepts or recognizes. Roughly, M accepts a string if it stops after reading the string and says YES. L(M) is the set of strings M accepts. A fundamental type of problem: Given a language L, create a machine that accepts it. Related problem: Given L, create a machine that can decide whether or not an arbitrary string is in L.

Decidable and Undecidable Languages Note that these problems can not always be solved. Example Decidable Language: The language consisting of the tautologies of propositional logic. Example Undecidable Language: The language consisting of the tautologies of predicate logic. More generally, determining whether a set of formulas of propositional logic is satisfiable is a decidable problem, while the same problem for predicate logic is not.

Formal Grammars Formal languages are also associated with formal grammars. A grammar is a set of rules for generating strings over a given alphabet. E.g., the grammar below produces {b, ab, aab, aaab,...}. S as (S may be replaced with as) S b (S may be replaced with b) Similar to machines, associated with each grammar G will be a language L(G). Formal grammars can be viewed as another model of computation. Problem: Given language L, create a grammar G such that L(G) = L.

The Chomsky Hierarchy There is an equivalence between the abstract machines and types of grammars. Language/Grammar Automaton Unrestricted Unrestricted Turing Machine Context Sensitive Linearly Bounded Turing Machine Context Free Push Down Automaton (PDA) Regular Finite State Machine (DFA and NFA) The languages here form a hierarchy. Each level is contained in the one above it. Machines lower in the hierarchy are weaker than those higher: A non-regular, context free language cannot be recognized by any finite state machine. But every regular language can be recognized by some PDA.

Quick History 1936 Alan Turing proposes the Turing machine, and proves that there exists an unsolvable problem. 1943 McCulloch and Pitts develop finite automata. 1940 s von Neumann proposes the Stored Program Concept. 1956 Kleene develops regular expressions and proves the equivalance of regular expressions and finite automata. Also, Chomsky defines the Chomsky Hierarchy, which organizes languages recognized by different automata into hierarchical classes. 1959 Rabin and Scott introduce nondeterministic finite automata and prove equivalence to deterministic finite automata. 1965 Hartmanis and Stearns define time complexity, and with Lewis they define space complexity. 1971 Cook shows the first NP-Complete problem, the satisfiability problem. 1972 Karp shows many other problems CSCI 2670Introduction to betonp-complete. Theory of Computing

Course Objectives By the end of the semester, students should be able to: Given an NFA M, create a DFA or a regular expression that accepts L(M). Given a regular language L, create an NFA accepting it. Use pumping lemmas to prove a language is not regular or not context-free. Given a description of a context-free language L, develop a context-free grammar (CFG) G such that L(G) = L. Convert a CFG into Chomsky Normal Form (CNF). Given a CFG G in CNF and a string w, use the CYK algorithm to determine if G generates w. Given an context-free grammar G, create a push-down automaton (PDA) that accepts L(G). Identify if a given language is regular, context-free but not regular, or neither.

Course Objectives By the end of the semester, students should be able to: Given a language L, create a Turing machine TM that accepts L. Convert between different variations of the Turing machine model (e.g., multi-tape to single tape). Create a Turing machine that performs a function. Define decidabilty and demonstrate that a language is decidable. Reduce one problem to another one. Use reductions to prove a problem is undecidable. Define P, NP and NP-complete. Show a problem is in P and determine its computational complexity. Write pseudo-code describing a non-deterministic Turing machine s steps to solve a problem. Prove a problem is NP-complete.

Textbook and Website Required Text: Michael Sipser. Introduction to the Theory of Computation (3rd Edition). ISBN-13: 978-1133187790 Course Website: Certain course materials, maybe student grades, might be posted to the course s elearning Commons (elc) website: https://www.elc.uga.edu/. Secondary websites might also be used. The Wiki: There might be a wiki, where course materials will be posted. Users can also post links to useful resources there. TBA Students will each be given login details if we use the wiki.

Lectures and Homework Lectures: Cover Chapters 0 7, excluding Chapter 6. Readings will be assigned beforehand, and students hopefully read these before class begins. Quizzes and other activities will take place during lecture periods. Homework: Students must typeset and submit printed copies of HW solutions on the assigned due date. Late submissions are generally not accepted. At the end of the semester, the lowest HW grade will be dropped. You are encouraged to use LaTeX or some other appropriate formatting system for the HWs.

Exams 3 in-class exams and a separate final exam. Tentative dates: In-class Exam 1: In-class Exam 2: In-class Exam 3: Final Exam: September 18th. October 21st. November 20th. December 11th, 2014, 8:00 11:00am (tentative) Makeup tests will not be given. However, a missed in-class exam might be excused. If excused, the average of the other in-class exams and the final exam will be used instead.

Grading Exam 1 (16%), Exam 2 (16%), Exam 3 (16%), Final Exam (25%), Homework (22%), Quizzes/other work (5%). Final Letter Grades A 93 80 > C+ 77 93 > A- 90 77 > C 73 90 > B+ 87 73 > C- 70 87 > B 83 70 > D 60 83 > B- 80 F < 60 The instructor reserves the right to curve grades. Under no circumstances will this lower a student s grade.

Regrading With the exception of the final exam, students may request a reevaluation of any test, quiz, or graded assignment. In order to be considered, however, the request must be made no more than 7 days after the graded material has been returned to the class.

Other Electronic Devices You likely will not want to use them unless necessary. Email Use UGA email in communications. 2670 in the subject line. Include CSCI In-Class and On-line Behavior Be courteous and respectful.

Academic Honesty As a UGA student, you have agreed to abide by the University s academic honesty policy, A Culture of Honesty, and the Student Honor Code. All academic work must meet the standards described in A Culture of Honesty found at: http://honesty.uga.edu/. Lack of knowledge of the academic honesty policy is not a reasonable explanation for a violation. Questions related to course assignments and the academic honesty policy should be directed to the instructor.

Academic Honesty Common forms of academic dishonesty: copying from another student s test paper or laboratory report, or allowing another student to copy from you; fabricating data (computer, statistical) for an assignment; helping another student to write a laboratory report or computer software code that the student will present as his own work, or accepting such help and presenting the work as your own; turning in material from a public source such as a book or the Internet as your own work.

For you to do this week... Try to access the course on elc, and your other courses. Review the syllabus. A sheet stating you have read it will be circulated in class for you to sign. Read Chapter 0 of the textbook. Download a LaTeX distribution (if you want; such as TexStudio). Tomorrow: We begin Chapter 0.