Top/MeetingSummaries

Top | Top | recent changes | Preferences

Difference (from prior major revision) (no other diffs)

Changed: 1,62c1
1. Th, Sept. 23:
* Course administration:
** Course web page: http://www.cs.ucr.edu/~neal/cs215 .
** Grades will be based on: quizzes every two weeks, graded homeworks every two weeks, final exam. average quiz score, average hwk score, and final exam score will be averaged to determine final weighted average. grade cutoffs yet to be determined.
** Unless otherwise specified, all work turned in for grading should be your own (no collaboration at all with anyone else, no getting solutions from any source other than the course textbook). Violations of this policy will be referred to UCR student judicial affairs.

* Course format:
** Two weekly meetings (lectures mixed with group exercises, quizzes every couple of weeks).
** Written homeworks due every couple of weeks.
** Additional ungraded assignments for practice.
** Optional proof groups for practicing proof skills and discussing ungraded assignments. Proofs groups will meet 1-2 times per week for 1-2 hours, probably around lunch.

* Course subject matter: (See /TentativeTopics for details.)
** Formally study computation. Focus on the limitations of computation.
** How to abstractly model computation.

** Also, practice careful formal reasoning.

* Motivations for studying computation and its limits:
** Useful to know what problems are not solvable, so you don't waste your time and so you know to seek alternate formulations.
** Sometimes hard problems are useful (e.g. Cryptography - decrypting should be a hard problem).
** Historical / Cultural - in the last 50 years, people have spent lots of time thinking about the subject. What did they come up with? How did the computer come about?

* Course prerequisites:
** cs150 or equivalent. Chapters 0-2 in the text. See /TentativeTopics for details.




* What is a "language"? (A set of strings over some alphabet.)
* Decision problems for languages -- these are the kinds of problems we will focus on.
* Classes of languages. Theory of computation is about classes of languages, not so much about particular languages. Also, about the relations between languages.

* Example: Class of regular languages -- languages that can be decided by finite automata -- computers with a finite number of states.

* What is a finite automaton? Examples, using diagrams (graphs where the nodes are states and edges are transitions).

* Examples of regular languages:
** {0,1}*
** {x | x is a string of zeros and ones, x ends in a zero}
** {x | x is a string of roman alphabet characters, x ends in a "abracadabra"}
** {x | x is a string of zeros and ones, x has an odd number of ones}
** {x | x is the binary representation of an integer that is a multiple of 3} (challenge problem)
** {x | x is a word in the 2004 Mirriam-Webster dictionary}

* Formally, how to define a finite automaton?
** Finite set S of states
** Finite alphabet Σ
** Set A of accept states, A ⊆ S
** Start state s0 ∈ S
** Transition function δ : S × Σ → S

* [Did not formally define how a finite automaton computes.]

* Examples of non-regular languages:
** {0n1n : n = 0,1,2,...} -- why is there no finite automaton for this language?

* Summary: we've seen an example of one kind of computational device (finite automata), the class of languages decidable by such devices, and we've seen examples of languages that are decidable by such devices, and examples of languages that are not.



* Homework for next time:
** Send me email with your name, email address, briefly what you want out of the course, and, if you are interested in the proof groups, what are good meeting times for you.
** Prepare for QUIZ next tuesday on chapters 0-2 of the text (see /TentativeTopics for details).



Top | Top | recent changes | Preferences
This page is read-only | View other revisions
Last edited September 23, 2004 4:06 pm by roam-neal2.cs.ucr.edu (diff)
Search: