Plan for this class • Logistics Welcome to 4003-380 – Syllabus & Ground Rules Introduction to CS Theory – Student Info Forms / Attendance Joe Geigel • What is this Course About • ------ break --------- • Discrete Math Review Logistics Logistics • Textbook • First things first. • Introduction to – Class Web site Automata Theory, • http://www.cs.rit.edu/~jmg/cs380 Languages, and Computation by Hopcroft, Motwani, & • Syllabus (e-version of handout) Ullman. • Schedule • Homework Assignments • Diary (including these slides) Logistics Logistics • Prerequisite: • About Me – 1016-265: Discrete Math – Joe Geigel – 1016-705: Discrete Math II – Office: 70-3527 – Office Hours: MW 2-4 (and by appt) – http://www.cs.rit.edu/~jmg • These are important as the material in this class is mathematical in nature. 1
Logistics Logistics • Grading: • Homework – Homework will be assigned weekly. – Three basic course activities: – Will have 1 week to complete each assn. • Homework 40% – Due dates are definite! • Midterm 30% • no late homeworks! • Final Exam 30% • Listed in HOMEWORK section of Web site – Group submission (max 2 people) ok – Each assignment carries equal weight – Lowest homework grade is dropped. Logistics Logistics • Discrete Math Quiz • Homework – Quick quiz on basic discrete math concepts – Homework problem session • 2 nd half of class on days when homework is not • Proofs assigned. • Sets • Questions about current homework assignment. • Relations • Similar problems done on the board. – Will be given next class – Counts as an extra homework Logistics Logistics • Final Exam • Midterm Exams – Given during exam week – Date • Exact date and time TBD • Thursday, October 14 th – Cumulative – Closed book…1 page study guide – Closed book…1 page study guide – Review Session: last class – No make up exams – No make up exams. • Any questions so far? 2
Logistics Logistics • Schedule • CS Dept Policy of Academic Dishonesty – Posted on SCHEDULE section of Web site – Included in hardcopy syllabus – Subject to change, but indicates the best guess as to – Please read and understand. what will be covered when – Includes links to these slides (in PDF) • Speaking of student info forms – Slides should be available 1 day before the lecture. – Any questions before I hand them out? • Diary – Running list of what was actually covered when – Includes links to these slides (in PDF) – Slides should be available 1 day before the lecture. Think back to 1937… The Golden Gate Bridge was completed So what is this course all about? Jesse Owens was celebrating his Olympic gold medal Swing was king! There were NO programmable computers Meanwhile…in Princeton, NJ Things you will learn • Researchers were contemplating the following • Machines (Mathematical Models) question: • Languages • “Can there exist, at least in principle, a definite method by which all mathematical problems can be decided” • Computation • In other words…a programmable computer. • They did not have the technology…yet – But they did have mathematics • Mathematical models of computing machinery! 3
Example: Tic Tac Toe Example: Turing Machine • Tape that holds This is a Input tape (input/memory) character string mathematical ... model for a • Tape head that reads Read head machine that and writes character x plays tic-tac- State • Machine that changes toe Machine state based on what is … x (program) read in … o o x x x o Example: Turing Machine Languages: String Recognition problem • Running a Turing Machine • Given a string and a definition of a language (set of strings), is the string a – Encode your input and place on the input tape member of the language? – Put state machine into the “start” state – Let the machine change states as it reads/writes YES, string is in Language characters to the tape Language – When machine “stops”, your answer will be left recognition Input string machine on the tape NO, string is not in Different classes of machines Language can recognize different classes of languages Languages Languages • Three elements of a language • Will actually be looking at classes of languages: – The language itself (set of strings) – Structural Representation – Each class will have its own means for structural representation. • Means for describing / generating contents of a language – Each class will have its own machine model for – A mathematical machine that can be used to string recognition test if a string is in the language. – Languages and machines get more complex as we move forward in the course. 4
Languages Example: Tic Tac Toe a b c d e f • Strings can be used to represent problems. g h i A B C a b c d e f g h i D E F x G H I e A B C D F G H I … eI x … o o x x eIbAh x o Languages Languages • Take home message: • Practical Uses of String Recognition – Parsing / Compilers / Interpretters – Languages and problems are the same thing – grep – Encode problems to create strings – These mathematical models are used to parse programs – Add semantics to strings that represent written in modern computer languages problems. – Consider encoding with 0’s and 1’s…hmmm • Questions so far? Computation So in short… • Computation Theory of Computation – Basic questions in computer science • Computability : What problems can and cannot be computed? • Complexity : If a problem can be solved using a “computing Languages Computation machine”, how long will it take ? – Approach Parsers / • All this theory was developed before the advent of computers! compilers / grep / • Develop a mathematical model for a “computer” programming Computability Complexity • “Run” your problem using this model to test for computability languages, etc and efficiency 5
But all this is to come…. • We’ll start with the basics… – after the break • Any questions? 6
Recommend
More recommend