umass lowell computer science 91.304 foundations of computer science prof. karen daniels fall, 2009...

12
UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Lecture 1 Introduction/Overview Introduction/Overview Th. 9/3/2009 Th. 9/3/2009

Post on 20-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

UMass Lowell Computer Science 91.304

Foundations of Computer Science

Prof. Karen Daniels Fall, 2009

UMass Lowell Computer Science 91.304

Foundations of Computer Science

Prof. Karen Daniels Fall, 2009

Lecture 1Lecture 1

Introduction/OverviewIntroduction/OverviewTh. 9/3/2009Th. 9/3/2009

Page 2: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Web PageWeb PageWeb PageWeb Page

http://www.cs.uml.edu/~kdaniels/courses/304.html

Page 3: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Nature of the CourseNature of the Course

• Core course: Core course: required for all CS majorsrequired for all CS majors• Advanced undergraduate levelAdvanced undergraduate level

• Graduate students take separate course (91.502)Graduate students take separate course (91.502)

• No programming requiredNo programming required• ““Pencil-and-paper” exercisesPencil-and-paper” exercises

Page 4: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

PrerequisitesPrerequisites

Growth of FunctionsGrowth of Functions

SummationsSummations

RecurrencesRecurrences

SetsSets

ProbabilityProbability

MATHMATHProofsProofs

LogarithmsLogarithms

PermutationsPermutations

CombinationsCombinations

Discrete Math I & II (92.321, 92.322)Discrete Math I & II (92.321, 92.322)

Page 5: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

What’s it all about?What’s it all about?

• Automata and LanguagesAutomata and Languages• Starting point for models of computation• Finite automaton used in text processing, compilers, hardware design.

• Context-free grammar used in programming languages and AI.

• Computability TheoryComputability Theory• What is an algorithm? What is computable? What is “decidable?”What is an algorithm? What is computable? What is “decidable?”• Theoretical models led to actual computer construction.Theoretical models led to actual computer construction.• Helps to identify useful approaches to real problems.Helps to identify useful approaches to real problems.

• Complexity TheoryComplexity Theory• Classify problems as easy or “hard” by creating complexity classes.Classify problems as easy or “hard” by creating complexity classes.• Cryptography has used computationally hard problems to design codes.Cryptography has used computationally hard problems to design codes.

-Three areas below are central to the theory of computation.Three areas below are central to the theory of computation.-They are linked by the common question:They are linked by the common question:

-““What are the fundamental capabilities and limitations of What are the fundamental capabilities and limitations of computers?”computers?”

source: textbooksource: textbook

Page 6: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Course Structure: 3 PartsCourse Structure: 3 Parts

• Automata and LanguagesAutomata and Languages• Regular LanguagesRegular Languages• Context-Free LanguagesContext-Free Languages

• Computability TheoryComputability Theory• Church-Turing ThesisChurch-Turing Thesis• DecidabilityDecidability• ReducibilityReducibility

• Complexity TheoryComplexity Theory• Time ComplexityTime Complexity

Page 7: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

TextbookTextbook

• Required: • Introduction to the Theory of ComputationIntroduction to the Theory of Computation

• by Michael Sipserby Michael Sipser• Thomson Course TechnologyThomson Course Technology• 20062006• ISBN 0-534-95097-3ISBN 0-534-95097-3• see course web site (Related Links) for errata (2see course web site (Related Links) for errata (2ndnd edition) edition)

Ordered for UML bookstore

22ndnd Edition Edition

Page 8: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Syllabus (current plan)Syllabus (current plan)

Page 9: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Syllabus (current plan, continued)Syllabus (current plan, continued)

Page 10: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Syllabus (current plan, continued)Syllabus (current plan, continued)

Page 11: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

Important DatesImportant Dates

• Quiz (closed book)Quiz (closed book) Thursday, 9/10 Thursday, 9/10• Midterm Exam Midterm Exam (Chapters 0-3): Thursday, 10/22: Thursday, 10/22• Final Exam Final Exam (Chapters 0-5, 7):(Chapters 0-5, 7): TBATBA

Page 12: UMass Lowell Computer Science 91.304 Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009

GradingGrading

• Homework 30%• Quiz (chapter 0, closed book) 5%• Midterm (chapters 0-3, open book & notes) 30% • Discretionary (attendance, participation) 5%• Final Exam (cumulative, open book & notes) 30%