Computer Science Theory. From the course description:



Similar documents
CS 301 Course Information

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.

Model 2.4 Faculty member + student

Computer Architecture Syllabus of Qualifying Examination

Course Syllabus. Also listed as CS U1 Automata Theory (

Course Manual Automata & Complexity 2015

MATH 1310, SECTION 17086

Turing Machines: An Introduction

CS 341: Foundations of Computer Science II elearning Section Syllabus, Spring 2015

Overview of E0222: Automata and Computability

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

CAs and Turing Machines. The Basis for Universal Computation

n Introduction n Art of programming language design n Programming language spectrum n Why study programming languages? n Overview of compilation

EE360: Digital Design I Course Syllabus

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

02-201: Programming for Scientists

Springfield Technical Community College School of Mathematics, Sciences & Engineering Transfer

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, School of Informatics University of Edinburgh als@inf.ed.ac.

Finite Automata and Formal Languages

Scope of this Course. Database System Environment. CSC 440 Database Management Systems Section 1

MATH 1900, ANALYTIC GEOMETRY AND CALCULUS II SYLLABUS

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Regular Languages and Finite Automata

Introduction to Finite Automata

COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND

TRINITY VALLEY COMMUNITY COLLEGE COURSE SYLLABUS

Canisius College Computer Science Department Computer Programming for Science CSC107 & CSC107L Fall 2014

Syllabus for MATH 191 MATH 191 Topics in Data Science: Algorithms and Mathematical Foundations Department of Mathematics, UCLA Fall Quarter 2015

B.M.C. Durfee High School Honors Precalculus Course Syllabus

STAT 1403 College Algebra Dr. Myron Rigsby Fall 2013 Section 0V2 crn 457 MWF 9:00 am

Math : Applied Business Calculus

1. COURSE DESCRIPTION

24 Uses of Turing Machines

Digital Systems. Syllabus 8/18/2010 1

3515ICT Theory of Computation Turing Machines

A Comparison of Student Learning in an Introductory Logic Circuits Course: Traditional Face-to-Face vs. Fully Online

MAC2233, Business Calculus Reference # , RM 2216 TR 9:50AM 11:05AM

MTH 420 Re-examining Mathematical Foundations for Teachers. Fall 2015

College Algebra Online Course Syllabus

MATHEMATICAL TOOLS FOR ECONOMICS ECON FALL 2011

Special Topics in Computer Science

DIVISION OF NATURAL SCIENCES AND MATHEMATICS TIDEWATER COMMUNITY COLLEGE VIRGINIA BEACH CAMPUS COURSE PLAN

CS 261 C and Assembly Language Programming. Course Syllabus

CSCI 3136 Principles of Programming Languages

Course Syllabus. Software Project Management

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Automata and Formal Languages

North Arkansas College Student Course Syllabus Spring 2015

Notes on Complexity Theory Last updated: August, Lecture 1

THEORY of COMPUTATION

ÇANKAYA UNIVERSITY. BASIC AND ELECTIVE COURSES ENGLISH UNIT Course Definition Form. Number of. hours. Course Type Check all that are applicable

MATHEMATICAL TOOLS FOR ECONOMICS ECON SPRING 2012

Welcome to Computer Science 2604 Data Structures and File Management

CS5310 Algorithms 3 credit hours 2 hours lecture and 2 hours recitation every week

CS 2302 Data Structures Spring 2015

Course Specification. Siam University. International Business Program. 1. General Information of Course Outline

STAT 360 Probability and Statistics. Fall 2012

ÇANKAYA UNIVERSITY Faculty of Engineering and Architecture

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department. COURSE: CST2403 C++ Programming Part 1 ( 4 hours, 3 credits )

CIS490 Design in Software Engineering. Course Syllabus for the Virtual Class

CSE 562 Database Systems

ÇANKAYA UNIVERSITY Faculty of Engineering and Architecture

McMaster University Department of Economics Economics 2GG3 Intermediate Microeconomics II Spring, 2016

SYLLABUS MAC 1105 COLLEGE ALGEBRA Spring 2011 Tuesday & Thursday 12:30 p.m. 1:45 p.m.

Genetic programming with regular expressions

UCC1: New Course Transmittal Form

Lecture 1: Course Introduction"

Universal Turing Machine: A Model for all Computational Problems

Fast nondeterministic recognition of context-free languages using two queues

CIS433/533 - Computer and Network Security Introduction

BADM323: Information Systems for Business Professionals SU2016 Online Course

CSG 1205 Microsoft PowerPoint - Web

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

CHEM PRINCIPLES OF CHEMISTRY Lecture

The University of Findlay. College of Liberal Arts. Fall, 2013

Programming Languages

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain

Automata and Computability. Solutions to Exercises

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

Computer Science. Requirements for the Major (updated 11/13/03)

CS 425 Software Engineering. Course Syllabus

NORTHWESTERN UNIVERSITY Department of Statistics. Fall 2012 Statistics 210 Professor Savage INTRODUCTORY STATISTICS FOR THE SOCIAL SCIENCES

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

El Dorado Union High School District Educational Services

CS 425 Software Engineering. Course Syllabus

Theory of Computation Chapter 2: Turing Machines

(IŞIK - IT201) 1 / 6 COURSE PROFILE. Theory+PS+Lab (hour/week) Local Credits. Course Name Code Semester Term ECTS

CSE373: Data Structures and Algorithms Lecture 1: Introduction; ADTs; Stacks/Queues. Linda Shapiro Spring 2016

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Select One: New Delete Course Modification

Finance 471: DERIVATIVE SECURITIES Fall 2015 Prof. Liang Ma University of South Carolina, Moore School of Business

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Transcription:

Computer Science Theory Goals of Course From the course description: Introduction to the theory of computation covering regular, context-free and computable (recursive) languages with finite state machines, pushdown automata and Turing machines. Basic concepts of computability theory and NPtheory (Nondeterministically Polynomial). Computer Science Theory 2 1

Plan for this class Logistics Syllabus & Ground Rules Attendance What is this Course About Computer Science Theory 3 Logistics First things first. Class Web site http://www.cs.rit.edu/~rwd/cs_theory Syllabus Schedule Homework Assignments Course Notes Computer Science Theory 4 2

Logistics Textbooks Required: Introduction to Languages and the Theory of Computation, 3rd edition, by John C. Martin Recommended: Theory of Computing: A Gentle Introduction by Kinber & Smith Introduction to Automata Theory, Languages, and Computation by Hopcroft, Motwani, & Ullman. Computer Science Theory 5 Logistics Prerequisite: 1016-265: Discrete Math Co-requisite 1016-705: Discrete Math II These are important as the material in this class is mathematical in nature. Computer Science Theory 6 3

Logistics About Me Rob Duncan Office: 70-3573 Office Hours: Posted on web site http://www.cs.rit.edu/~rwd Computer Science Theory 7 Logistics Grading: Three basic course activities: Homework 45% Midterm Exam 25% Final Exam 30% Computer Science Theory 8 4

Logistics Homework Homework will be assigned weekly. You will have one week to complete each assignment. Due dates are definite! no late homeworks! Listed in HOMEWORK section of Web site Group submission (max 2 people) OK Each assignment carries equal weight Lowest homework grade is dropped. Computer Science Theory 9 Logistics Midterm Exam First class meeting of week 6 Covers Chapters 1-5 Closed book 1 page study guide allowed. Must be hand written, original (no copies). No make up exams Computer Science Theory 10 5

Logistics Final Exam Given during first class meeting time during exam week Cumulative Closed book 1 page study guide (must be hand written original, no copies) No make up exams. Computer Science Theory 11 Logistics Schedule Posted on SCHEDULE section of Web site Subject to change, but indicates the best guess as to what will be covered and when Includes links to these slides (in PDF) Slides should be available at least one day before the lecture. Computer Science Theory 12 6

Logistics CS Dept Policy on Academic Dishonesty Please read and understand. Computer Science Theory 13 Logistics A note about e-mail. E-mail may be sent to the entire class for latebreaking announcements. It is YOUR responsibility to email me from the account that you want to receive email at. I will build a group address from that. PLEASE be sure that the e-mail listed is the one you actually read. Computer Science Theory 14 7

So what is this course all about? Theory of Computation The idea of a computing machine was debated long before the advent of the first computer. Turing Machine (1936) - idea ENIAC (1946) first hardware Mathematical rather than physical machine. Turning machine was invented as an approach at solving the following: Can there exist, at least in principle, a definite method by which all mathematical problems can be decided This course will present some of these mathematical models. Computer Science Theory 16 8

Computation: Turing Machine Input tape (input/memory) Read head State Machine (program)... Tape that holds character string Tape head that reads and writes character Machine that changes state based on what is read in Computer Science Theory 17 Computation: Turing Machine Running a Turing Machine Encode your input and place on the input tape Put state machine into the start state Let the machine change states as it reads/writes characters to the tape When machine stops, your answer will be what is left on the tape Computer Science Theory 18 9

But why? Application areas Computation Language Processing Mathematical Modeling Computer Science Theory 19 Computation Computation Basic questions in computer science Computability: What problems can and cannot be computed? Complexity: If a problem can be solved using a computing machine, how long will it take? Approach All this theory was developed before the advent of computers! Develop a mathematical model for a computer Run your problem using this model to test for computability and efficiency Computer Science Theory 20 10

Computation: Turing Machine All of this can be described using Mathematics! Getting from here to there Will describe simpler mathematical machines that answer simpler problems. One such problem: String recognition Computer Science Theory 21 String Recognition problem Given a string and a definition of a language (set of strings), is the string a member of the language? Input string Language recognition machine YES, string is in Language NO, string is not in Language Computer Science Theory 22 11

Languages Three elements Mechanism for defining/ generating a language The language itself (set of strings) A mathematical machine that can be used to test if a string is in the language. Computer Science Theory 23 Languages We will actually be looking at classes of languages: Each class will have its own means for language generation Each class will have its own machine model for string recognition Languages and machines get more complex as we move forward in the course. Computer Science Theory 24 12

Languages Practical Uses Parsing / Compilers / Interpreters grep These mathematical models are used to parse programs written in modern computer languages Computer Science Theory 25 So in short Theory of Computation Computation Languages Computability Complexity Parsers / compilers / grep / programming languages, etc Computer Science Theory 26 13

But all this is to come. We ll start with the basics Any questions? Computer Science Theory 27 14