Welcome! 1.Please take a group list (only if you don’t have the info already from the email/Moodle) 2.SIT WITH YOUR ASSIGNED DISCUSSION GROUP IN THE ASSIGNED.

Slides:



Advertisements
Similar presentations
CSE 20 – Discrete Mathematics Dr. Cynthia Bailey Lee Dr. Shachar Lovett Peer Instruction in Discrete Mathematics by Cynthia Leeis licensed under a Creative.
Advertisements

Introducing DFA Formal Description Using Peer Instruction Cynthia Bailey Lee UCSD 2011 Theory of Computation Peer Instruction Lecture Slides by Dr. Cynthia.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
Regular Expressions and DFAs COP 3402 (Summer 2014)
1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)
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.
Blended classes are an exciting way to learn. Their convenience and scheduling appeals to many students, but they are not for everyone. Students drop-out.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Some things to think about. Assignment 1 is at the end, but read the whole thing. Please!
Introduction to Computability Theory
Welcome to CSE105 and Happy and fruitful New Year
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CEP Welcome September 1, Matthew J. Koehler September 1, 2005CEP Cognition and Technology Who’s Who?  Team up with someone you don’t.
Foundations of (Theoretical) Computer Science Chapter 4 Lecture Notes (Section 4.1: Decidable Languages) David Martin With modifications.
Foundations of (Theoretical) Computer Science Chapter 1 Lecture Notes (Section 1.1: DFA’s) David Martin With some modifications.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to Biology 102! Please pick up a syllabus (if you don’t have one yet) and a clicker at the front desk. You will need to rent a clicker from the.
1 Global Business Writing Introduction Powerful Business Writing Skills for ESL Writers February 2013.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 1 1.
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 1 1.
CSCI 347 – Data Mining Lecture 01 – Course Overview.
BIT 115: Introduction To Programming1 Sit in front of a computer Log in –Username: 230class –password: –domain: student Bring up the course web.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
CSE 436 Software Engineering Workshop Course Overview Christopher Gill CSE 436 January 2007 Department of Computer Science and Engineering.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
CS 390 Introduction to Theoretical Computer Science.
Theory of Computation 1 Theory of Computation Peer Instruction Lecture Slides by Dr. Cynthia Lee, UCSD are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
CSE 12 – Basic Data Structures Cynthia Bailey Lee Some slides and figures adapted from Paul Kube’s CSE 12 CS2 in Java Peer Instruction Materials by Cynthia.
Theory of Computation 1 Theory of Computation Peer Instruction Lecture Slides by Dr. Cynthia Lee, UCSD are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike.
CS 106X – Programming Abstractions in C++ Cynthia Bailey Lee CS2 in C++ Peer Instruction Materials by Cynthia Bailey Lee is licensed under a Creative Commons.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
PHY 1405 Conceptual Physics (CP 1) Spring 2010 Cypress Campus.
CSE 113 Introduction to Computer Programming Lecture slides for Week 1 Monday, August 29 th, 2011 Instructor: Scott Settembre.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Introduction to Programming in MATLAB Intro. MATLAB Peer Instruction Lecture Slides by Dr. Cynthia Lee, UCSD is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike.
1 CS1100 Fall Instructor: David Gries CS100M: Matlab No prior programming experience One semester of calculus Math & engineering type problems CS100J:
CSE 1105 Week 1 CSE 1105 Course Title: Introduction to Computer Science & Engineering Classroom Lecture Times: Section 001 W 4:00 – 4:50, 202 NH Section.
INTRODUCTION TO PROGRAMMING ISMAIL ABUMUHFOUZ | CS 146.
CSE8A: Introduction to Programming in Java Fall 2012 Prof. Christine Alvarado cse8afall.weebly.com.
CS 139 – Algorithm Development MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE.
BIT 143: Programming – Data Structures It is assumed that you will also be present for the slideshow for the first day of class. Between that slideshow.
Data Structures and Algorithms in Java AlaaEddin 2012.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
1 CS100J Spring Instructor: David Gries CS100M: Matlab No prior programming experience One semester of calculus Math & engineering type problems.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
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).
AP Computer Science Principles
CS101 Computer Programming I
It’s called “wifi”! Source: Somewhere on the Internet!
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett
Computer Science 102 Data Structures CSCI-UA
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1301! Principles of Programming I.
BIT 115: Introduction To Programming
CSE 105 theory of computation
CS Problem Solving and Object Oriented Programming Spring 2019
Presentation transcript:

Welcome! 1.Please take a group list (only if you don’t have the info already from the /Moodle) 2.SIT WITH YOUR ASSIGNED DISCUSSION GROUP IN THE ASSIGNED LOCATION – (Your group can—as a group—move elsewhere for future lectures, if you wish) 3.Introduce yourselves 4.Memorize your group members’ faces so you can find them on Thursday 1

CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Based on a work at Permissions beyond the scope of this license may be available at

What is “Theory of Computation”? The content of many CS courses is perhaps self-explanatory: – Programming in Java – Compilers – Artificial Intelligence For many of you, what exactly will be covered in “Theory of Computation” may be somewhat mysterious… Lets EMBRACE it! Mystery is exciting… 3

Incredibly Practical Finite Automata – Hardware design, software engineering Regular Expressions – A “must-have” programmer’s tool and resume skills bullet point – Foundational for many programming and scripting tasks (Perl) Context-Free Grammars – Linguistics – Artificial Intelligence – Machine translation (English->Korean) Turing Machines – All modern computers and programming languages! – Computer architecture (CPU/instructions + RAM) 4 What is “Theory of Computation”?

Breathtakingly Beautiful 5 What is “Theory of Computation”?

How is this exploration of Theory of Computation structured? We will examine a series of abstracted models of computation machines – Start with the most limited – Move towards the most versatile* Along the way, – Learn how to use each model as a handy tool in your programming life – Become familiar with the contours of each model’s limitations and powers – Prove things about the limitations, about the powers, and about the relationships between models * Fun fact: this simple-to-complex order is not always the same order in which these were created/discovered Weak = limited uses Powerful = versatile Venn Diagram DFA TM 6

Who Am I? Soon to be Ph.D. in Computer Science from UCSD – Graph diffusion and clustering problems Courses I’ve TA’d at UCSD: – 105 (twice!), 200, 202 (three times…) What do I do when I’m not teaching? Other jobs and research projects: – Several years’ internship experiences at Google and Bell Laboratories – Some work in machine learning theory research 7

What do I do in this course? Be your guide in inducing you to explore concepts Create situations and pose problems that set the scene for your exploration – Me: mise en scène – You: actor/actress Provide you with feedback Evaluate your progress Answer your questions Not spend lecture reading the textbook to you with slightly different words 8

What do you do in this course? Prepare your brain for maximum in-class learning – Reading, reading quizzes In class: engage with yourself, your neighbors and the class, engage with the ideas—turn them upside down and sideways – iClickers, group discussion Solidify, refine and perfect your skills – Homework Certify what you’ve learned, celebrate victories, redirect as needed – Exams Seek help and seek to help others – In class, moodle forums, office hours, discussion section The ideas, not your neighbors 9

Rules for what you do in this course Reading quizzes – Yes: Open book; though being able to answer without the book is a good sign You can retry a question if you answer incorrectly (small penalty), and you can take as much time as you need Complete them individually – No: Sharing answers on a reading quiz is as inappropriate as sharing answers on an in-class exam—don’t do it There is really, really no reason to cheat 10

Rules for what you do in this course Exams – Yes: I will provide notes (theorems and other reference) with the exam booklet Ask instructor or TA for clarification – No: Closed book Closed neighbors and all other unauthorized assistance 11

Rules for what you do in this course Homework – Yes: Open book, open lecture slides and notes, open moodle forums and resources Working with ONLY your authorized partner, as long as you are both working. It is extremely important that you be prepared to come up with proofs by yourself so you will be ready for the exams – No: Do not Google for solutions or look for any resources that aren’t provided in moodle or otherwise explicitly authorized Do not “split up” the problems with your homework partner 12

Rules for what you do in this course Class Participation – Yes: “Click in” and engage actively with your group and with me, even when (or especially when!) you are unsure or struggling – The only way to get through a struggle is to work – If you let me know that you are struggling, by asking a question or by clicker response, I can help—this is a huge favor to me because it helps me steer the lesson in the most helpful direction Treat other class members kindly and be conscious of creating a welcoming, positive, collaborative team environment – No: No clicking in for someone who isn’t here, or otherwise feigning participation I know that everyone has off days, sleepy days, etc, and that’s fine. But please don’t ever allow your behavior to become distracting or rude to anyone else Mention etiquette 13

Thought of the Week “To be a good geek you have to have both humility and arrogance in equal measures. The humility is so you’ll admit you don’t know something and get help/read the docs/etc. The arrogance is the bit that says “I don’t know that now… but I can and I will soon.”” --Thomas Beagle, IT/programmer 14

Getting started to-do list: 1.Register your iClicker at 2.Join our class on Moodle (reading quizzes, other critical stuff): – Log in using ActiveDirectory username/password 3.Join our class on UP (lecture slides): – classroom: CSE 105 SP12 – password to join class: recursive (if you don’t have an account, make one—it will have its own password) 4.Get to know your group – You need to memorize their faces so you can sit by them on Thursday 5.Take the prerequisite/Ch 0 self-test 6.Take the Sec 1.1 Reading Quiz (if you haven’t already) before Thursday’s lecture 7.Download the JFLAP software for designing and simulating automata, get it running on your system (it is a.jar file, you need Java) 8.Go to discussion Friday or Monday for proof-writing tips 9.Homework 1 will go out tomorrow evening You don’t know what automata is, do you? SOON! 15

Textbook concerns Introduction to the Theory of Computation by Michael Sipser – Full 2 nd edition – Custom 2 nd edition – 1 st or international editions – 3 rd edition comes out soon… 16

What other classes are you taking this quarter? 17

AUTOMATA COMPUTATIONAL MODELS Let’s get started! 18

What Do Automata Do? Input strings, output “accept” or “reject” Every automaton is defined over an alphabet Σ – Ex: Σ = {a,b,c,…,z} or Σ = {0,1} What does a particular automaton do? 1.Test every possible string made from Σ 2.Come up with a set of all the strings that were accepted Language 19

DETERMINISTIC FINITE AUTOMATA DFA They have almost no memory! 20

DFA Show “001” very quickly 21

Tracing in a DFA a)q0, q1, q2, q2, q3 b)q0, q1, q1, q2, q2, q3 c)q0, q1, q1, q1, q2, q2, q3 d)q0, q1, q1, q1, q1, q2, q2, q3 What is the sequence of states that are followed when running this DFA on the input “111001”? 22

Tracing in a DFA a)q0, q1, q2, q3 b)q0, q1, q2, q3, q3 c)q0, q1, q2, q3, q3, q3 d)q0, q1, q2, q3, q3, q3, q3 What is the sequence of states that are followed when running this DFA on the input “001000”? 23

Quick review of set notation Let’s dissect this (assume Σ = {0,1}): L 1 = { w | length(w) > 3} 24

Quick review of set notation Which choice is NOT a string in language L 1 ? (Σ = {a,b,c}) L 1 = {w | w contains more b’s than a’s} a)“abbcbba” b)“cab” c)“bba” d)“bccccbcccc” e)“bacb” 25

Which is the best description of the language recognized by the DFA M 1 ? (Σ = {a,b}) a)Starts with b and ends with a or b b)Starts with a and ends with a or b c)a‘s followed by b’s M1:M1: 26

Which is the best description of the language recognized by the DFA M 2 ? (Σ = {a,b}) a)Starts with b and ends with b b)Starts with a and ends with b c)b‘s followed by a’s M2:M2: 27

Communication: An important skill Describing languages clearly and concisely, like we did in the last problem, is going to be a skill we work on frequently in this course. Also an issue in proof-writing: Being concise is a virtue But leaving out important details is a problem A conundrum!! Examples, practice, feedback More examples, more practice, more feedback Homework and exams are an official way of doing practice and feedback, but time constraints (yours and the TA’s) limit frequency A key reason I do group discussion in this course is to provide more opportunity for you to practice putting theoretical ideas into words—learning how to be precise, concise and convincing 28

Which states should be in F (the set of “final” or “accept” states) so that DFA M 1 recognizes the language L 1 = {w | b’s never appear after a’s in w} (Σ = {a,b}) a)F = {q2} b)F = {q3} c)F = {q1, q2} d)F = {q1, q3} e)F = {q2, q3} M1 :M1 : 29

Which states should be in F (the set of “final” or “accept” states) so that DFA M 2 recognizes the language L 2 = {w | w contains less than 1 a or more than 1 a}? (Σ = {a,b}) a)F = {q2} b)F = {q3} c)F = {q1, q2} d)F = {q1, q3} e)F = {q2, q3} M2 :M2 : 30

Remember… Remember I said that in this course, we would, – “Become familiar with the contours of each model’s limitations and powers – Prove things about the limitations, about the powers…” Not too early to start thinking about this for DFA, so: TRUE (a) OR FALSE (b): Deterministic Finite Automata (DFAs) can only recognize finite languages (a language with 1 string or 2 strings or 10 strings or 1,000,000 strings in it), not infinite languages (infinite number of strings in the language) 31

AUTOMATA SIMULATION SOFTWARE JFLAP It’s from Duke University! What is deterministic? 32

Getting started to-do list: 1.Register your iClicker at 2.Join our class on Moodle (reading quizzes, other critical stuff): – Log in using ActiveDirectory username/password 3.Join our class on UP (lecture slides): – classroom: CSE 105 SP12 – password to join class: recursive (if you don’t have an account, make one—it will have its own password) 4.Get to know your group – You need to memorize their faces so you can sit by them on Thursday 5.Take the prerequisite/Ch 0 self-test 6.Take the Sec 1.1 Reading Quiz (if you haven’t already) before Thursday’s lecture 7.Download the JFLAP software for designing and simulating automata, get it running on your system (it is a.jar file, you need Java) 8.Go to discussion Friday or Monday for proof-writing tips 9.Homework 1 will go out tomorrow evening You don’t know what automata is, do you? SOON! 33