CS 390 Introduction to Theoretical Computer Science.

Slides:



Advertisements
Similar presentations
Recap CS605: The Mathematics and Theory of Computer Science.
Advertisements

CIT 596 Theory of computing Traditional course (CIS 511, CIS 262) and other similarly named courses in other universities are divided into 3 parts that.
CS 581: Introduction to the Theory of Computation Lecture 1 James Hook Portland State University
Welcome to CSE105 and Happy and fruitful New Year
1 Course Information Parallel Computing Fall 2008.
COMS W1004 Introduction to Computer Science June 25, 2008.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
COMS W1004 Introduction to Computer Science May 28, 2008.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
January 19, Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University.
CS311 Automata and Complexity Theory. Admistrative Stuff Instructor: Shahab Baqai Room # 428, Ext 4428 Lectures:Mon & Wed 1530 – 1710.
Fall 2006Costas Busch - RPI1 CSCI-2400 Models of Computation.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
ECE200 – Computer Organization Course Introduction.
CS 581: Introduction to the Theory of Computation Lecture 1 James Hook Portland State University
1 SWE Introduction to Software Engineering Fall Semester (081) King Fahd University of Petroleum & Minerals Information & Computer Science.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
CIS-305: Data Structures Fall Organizational Details Class Meeting: 4 :00-6:45pm, Tuesday, Room SCIT215 Instructor: Dr. Igor Aizenberg Office:
By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
Introduction to Discrete Mathematics J. H. Wang Sep. 14, 2010.
Lei Bu Preliminary Introduction to the Theory of Computation.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
Introduction to the Theory of Computation
1 An Introduction to Formal Languages and Automata Provided by : Babak Salimi webAdd:
© M. Winter COSC/MATH 4P61 - Theory of Computation COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
Course overview Course title: Discrete mathematics for Computer Science Instructors: Dr. Abdelouahid Derhab Credit.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Discrete Mathematics CS204 Spring CS204 Discrete Mathematics Instructor: Professor Chin-Wan Chung (Office: Rm 3406, Tel:3537) 1.Lecture 1)Time:
CS 494/594 Computer Communication Networks Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Spring.
Saeid Pashzadeh Jan 2009 Theory of Computation 1.
Computational Structures Tim Sheard & James Hook Portland State University Class Preliminaries.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Computation Theory 主講人:虞台文. Content Overview The Limitation of Computing Complexities Textbooks & Grading.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades.
1 Computational Vision CSCI 363, Fall 2012 Lecture 1 Introduction to Vision Science Course webpage:
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
CS130: Theory of Computation An introductory course on the theory of automata and formal languages: models of machines, languages and grammars, relationship.
Why Study Automata? What the Course is About Administrivia 1 Welcome to CSE309.
Finite-State Machines Fundamental Data Structures and Algorithms Peter Lee March 11, 2003.
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
CSE 202 – Formal Languages and Automata Theory 1 REGULAR EXPRESSION.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Formal Languages and Automata Theory
RAIK 283 Data Structures and Algorithms
Topic: Introduction to Computing Science and Programming + Algorithm
Formal Foundations-II [Theory of Automata]
Preliminary Introduction to the Theory of Computation
COMP 283 Discrete Structures
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
22446: Microprocessors Introduction
Principles of Computing – UFCFA Lecture-1
CS190/295 Programming in Python for Life Sciences: Lecture 1
Preliminary Introduction to the Theory of Computation
Principles of Computing – UFCFA Week 1
Design and Analysis of Algorithms
Presentation transcript:

CS 390 Introduction to Theoretical Computer Science

Instructor Name: Shunichi Toida Office: ED Phone:

Textbook John Martin, Introduction to Languages and the Theory of Computation, 2nd edition, McGraw-Hill, New York, 1996.

Grading Homework20% Projects10% Test x 235% Final Exam35%

Home Page for CS /courses/CS390/390.html Homework questions and solutions, syllabus etc. are on this page.

Office Hours Mondays & Wednesdays 4:30 - 5:30 p.m. You can walk in any other time.

Final Exam Thursday, August 3, :00 - 6:00 p.m. ED 226

Objectives and Outline

Objectives Study the concept of computation, and limitations of computer and computation. Learn abstract languages called formal languages and devices to process them called automata. Train in reasoning and problem solving. Train in reading and writing technical articles.

Solve problems with Computers

To solve a problem by a computer a sequence of step by step instructions must be given to the computer. (Algorithm/Computer Program)

The instructions must be of finite length and executable by the computer. The computation must terminate after a finite amount of time.

Hierarchy of Computational Problems Problems which can be solved by a fast algorithm ----CS 361 Problems which can NOT be solved by a fast algorithm ---- CS 361 Problems which may or may not be solved by a fast algorithm --- CS 361, 483 Problems which can not be solved by a computer -- CS 390

Can such a sequence of instructions always be found for a given problem ?

No, not always !

When can none be found ?

Examples of unsolvable problem –Halting problem – Tiling problem

Halting problem Does a given program stop after a finite amount of time for a given input ?

Tiling problem Can a given finite area, of any size, be covered using only tiles of given types such that the colors on any touching edges are the same ?

It is known that no computer programs can be written to solve those problems.

How do we know they are unsolvable ?

To answer the question we must know what we mean by computation and computer, independent of differences among computers, and languages.

We must know the essence of computation, and computer.

The essence of computer and computation is represented by Turing machine, and computation by Turing machine. Also “problem solving” is modeled as “language recognition”.

Four Major Topics Regular languages and finite automata as a warm up for Turing machines --- also practically useful Turing machines Computation as processing by Turing machine Unsolvability of Halting Problem

Course Outline (1) Review of mathematics (2) Languages --- abstract languages (3) Regular languages, regular expressions (4) Finite automata (5) Applications of finite automata

Course Outline Continued (6) Context-free languages, and push down automata --- used for compilers (7) Turing machines (8) Turing acceptable, decidable, computable (9) Unsolvability of Halting Problem

Objectives Revisited Study the concept of computation, and limitations of computer and computation. Learn abstract languages called formal languages and devices to process them called automata. Train in reasoning and problem solving. Train in reading and writing technical articles.

Review of Mathematics