Download presentation
Presentation is loading. Please wait.
Published byChristina Quinn Modified over 9 years ago
1
CS 390 Introduction to Theoretical Computer Science
2
Instructor Name: Shunichi Toida Office: ED 252-4 Phone: 683 - 3392 e-mail: toida@cs.odu.edu
3
Textbook John Martin, Introduction to Languages and the Theory of Computation, 2nd edition, McGraw-Hill, New York, 1996.
4
Grading Homework20% Projects10% Test x 235% Final Exam35%
5
Home Page for CS 390 http://www.cs.odu.edu/~toida /courses/CS390/390.html Homework questions and solutions, syllabus etc. are on this page.
6
Office Hours Mondays & Wednesdays 4:30 - 5:30 p.m. You can walk in any other time.
7
Final Exam Thursday, August 3, 2000 3:00 - 6:00 p.m. ED 226
8
Objectives and Outline
9
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.
10
Solve problems with Computers
11
To solve a problem by a computer a sequence of step by step instructions must be given to the computer. (Algorithm/Computer Program)
12
The instructions must be of finite length and executable by the computer. The computation must terminate after a finite amount of time.
13
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
14
Can such a sequence of instructions always be found for a given problem ?
15
No, not always !
16
When can none be found ?
17
Examples of unsolvable problem –Halting problem – Tiling problem
18
Halting problem Does a given program stop after a finite amount of time for a given input ?
19
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 ?
20
It is known that no computer programs can be written to solve those problems.
21
How do we know they are unsolvable ?
22
To answer the question we must know what we mean by computation and computer, independent of differences among computers, and languages.
23
We must know the essence of computation, and computer.
24
The essence of computer and computation is represented by Turing machine, and computation by Turing machine. Also “problem solving” is modeled as “language recognition”.
25
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
26
Course Outline (1) Review of mathematics (2) Languages --- abstract languages (3) Regular languages, regular expressions (4) Finite automata (5) Applications of finite automata
27
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
28
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.
29
Review of Mathematics
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.