cos2601 - wikistudent, unisa
TRANSCRIPT
24/01/2012 COS2601 - WikiStudent, Unisa
1/7wikistudent.ws/Unisa/COS2601
This is an example of a machine that will be created in thismodule
COS2601
From WikiStudent
You are here: Main Page > Unisa Modules > Computer Science >COS2601
Contents
1 Theoretical computer science 2
1.1 Introduction
1.2 The Unisa syllabus
2 The COS2601 textbook
2.1 Prescribed textbook
2.2 Quotes from the textbook2.3 Recommended reading
3 The COS2601 exam
3.1 Past exam papers
4 How to pass COS2601
4.1 Study tips
4.2 Useful links
5 Study notes
5.1 Download notes
5.2 Create notes online
6 Student opinions
6.1 Student survey
6.2 Pros of COS26016.3 Cons of COS2601
Theoretical computer science 2
Introduction
Theoretical Computer Science 2 is a module that allows you to study a class of theoretical machines known asFinite Automata (FA). These FA's can be used to recognize symbol patterns like binary sequences eg.'10101011100111' or character strings eg. 'abcdefgh'. These sequences or strings are called languages which arefed to these machines and either accepted or rejected.
There are various applications for such theoretical machines in Computer Science. Typical applications are thedevelopment of Communications protocols and Cryptography.
The prerequisites for this module are either COS1501 or MAT2612.COS101S provides a natural introduction to the topics presented here. There are also similarities with MAT2612in a few significant areas.
24/01/2012 COS2601 - WikiStudent, Unisa
2/7wikistudent.ws/Unisa/COS2601
The Unisa syllabus
1. Background
2. Languages
3. Recursive Definitions
4. Regular Expressions
5. Finite Automata
6. Transition Graphs
7. Kleene's Theorem
8. Finite Automata with Output
9. Regular Languages
10. Nonregular Languages
11. Decidability
The COS2601 textbook
Prescribed textbook
ISBN 9780471137726
Title: Introduction to Computer Theory (http://www.loot.co.za/refer.html?
referrer=8113849355&/shop/main.jsp?page=detail&id=978-0-471-13772-6)
Author: Daniel I. A. Cohen
Edition: 2nd
Publisher: John Wiley and Sons
Year published: 1996
Year prescribed: 2010
Quotes from the textbook
" . . . b u t w h a t i s f a r l e s s c l e a r i s e x a c t l y w h a t ࠗ * s h o u l d m e a n .
W e s h a l l a v o i d t h i s p h i l o s o p h i c a l c r i s i s b y n e v e r u s i n g t h i s s y m b o l i s m a n d a v o i d i n g t h o s e w h o d o . "
- - C o h e n p . 3 7 , C h a p t e r 4 ( R e g u l a r e x p r e s s i o n s )
Recommended reading
The COS2601 exam
Past exam papers
The Exam in May 2011
Question 1
Fairly Simple, Set theory. If you went over your MCQ of Tutorial letter 101, you would've been fine.
24/01/2012 COS2601 - WikiStudent, Unisa
3/7wikistudent.ws/Unisa/COS2601
Question 2:
Given the alphabet
a) Give the universal set,
b) the generator(s),
c) a function on the universal set,
d) write the definition of the language EVENAB where the words are of even length and which do not
contain the substring ab.
Question 3:
a) Give the recursive definition of of all positive integers greater than 2,
b) formulate the induction principle,
c) apply the induction principle to prove a given equation.
Question 4:
You had to decide whether two regular expressions are similar or equivalent, if not you had to supply a
counter example.
Question 5:
Build an FA that meets certain criteria.
Question 6:
Use Kleene's theorem to convert a Transition Graph into a regular expression.
Question 7:
Build an FA which is the concatenation of and ( )
Question 8:
Simplify a given FA with a largish number of states so that it only has 4 states.
Question 9:
Use the Pumping Lemma with length to prove that the language is notregular.
Question 10:
I've noticed in these questions, they ask you to explain an algorithm or method of proof and then apply it. Inthis question, it was to decide whether an accepted language was finite or infinite. They are getting clever
now, students are just memorising without understanding, thats why they are asking to explain your answer.
The questions closely resembled the supplied example paper from the 2011 and 2009 exam tutorial letters. NoMealy's or Moore's!
The Exam in May 2010
This exam was relatively straightforward. The questions closely resembled the supplied example paper.
24/01/2012 COS2601 - WikiStudent, Unisa
4/7wikistudent.ws/Unisa/COS2601
Question 1:
Use the Pumping Lemma with length to prove that the language is not regular.
Question 2:
Given the alphabet
a) Give the universal set,b) the generator(s),
c) a function on the universal set,d) write the definition of the language EVENnotAB where the words are of even length and which do not
contain the substring ab.
Question 3:
a) Give the recursive definition of of all positive integers greater than 3,
b) formulate the induction principle,c) apply the induction principle to prove a given equation.
Question 4:
You had to devise two regular expressions according to certain criteria.
Question 5:
Build an FA that meets certain criteria.
Question 6:
Use Kleene's theorem to convert a Transition Graph into a regular expression.
Question 7:
Build an FA which is the concatenation of and ( )
Question 8:
Simplify a given FA with a largish number of states so that it only has 4 states.
Question 9:
Some questions (mostly theory) about decidability.
Question 10:
Given a word and some languages over the alphabet , say whether or not you think it ispossible for the word to be in one of the languages.
The exam in Oct/Nov 2009
The 2009 exam was definitely easier than the 2008 exam. The following 10 questions were asked:
Question 1:
24/01/2012 COS2601 - WikiStudent, Unisa
5/7wikistudent.ws/Unisa/COS2601
a) Give the set over the alphabet that do not end on .
b) Give the set and where
Question 2:
Very similar to the assignment question and it was exactly the same as the one in the sample paper that was
given.
Given the alphabet
a) Give the universal set,b) the generator(s),
c) a function on the universal set,d) write the definition of the language ODDAB where the words are of odd length which do not contain the
substring ab.
Question 3:
Very similar to the assignment question and it was exactly the same as the one in the sample paper that wasgiven.
a) Give the recursive definition of of all positive integers greater than or equal to 5,
b) formulate the induction principle,
c) apply the induction principle to prove that
Question 4:
a) Give a regular expression which defines the language which generate all words with the total amount of
divisible by 3.
b) Give a regular expression which defines the language which generate all words ending on .
Question 5:
Build an FA that does not accept the substring anywhere in it.
Question 6:
Use Kleene's theorem to find a regular expression. Had to convert a TG to a regular expression.
Question 7:
and had to be used to find the union of these two FA's.
Question 8:
The input and output on a Moore machine was given and the Moore machine was to be drawn using onlythree states.
Question 9:
Had to use the Pumping Lemma with length to prove that is non regular.
Question 10:
24/01/2012 COS2601 - WikiStudent, Unisa
6/7wikistudent.ws/Unisa/COS2601
Explain briefly the method of finding if a language is accepted by two FA's, and .
The exam in Oct/Nov 2008
The exam was very similar to those of previous years. The inductive proof required you to show that is a
divisor of for all positive integers .
The exam in Oct/Nov 2007
The exam this year covered most of the syllabus, and the format has not changed over the years. There wereenough simpler questions to push 40% and above.
The exam in Oct/Nov 2003
The exam was very nice - and predictable. (The questions were nowhere near as difficult as some of the textbookones). It seems they keep the format the same every year, and this exam was incredibly similar to the one from 2years back. At least 25% of the questions came straight from that past paper.
How to pass COS2601
Study tips
There are 20 exercises at the end of each chapter of the prescribed textbook by Cohen - unfortunately allwithout solutions. But it doesn't hurt to try them all out anyway. We could buy a (very handy) disk from
Unisa with interactive exercises on the pumping lemma. It's well worth buying, even if you don't have any
problems. The exercises were well chosen and written to catch you out!
Useful links
Jflap software (http://jflap.org/jflaptmp/) - This is a link to excellent software for helping you studying themodule and expecially useful for drawing the diagrams. Just double click on the jar file to run the program.
With it you can do machines, grammars, lemmas and more (and it's free).
An outline of outcomes of the subject (http://geekswithblogs.net/MarkPearl/archive/2011/05/18/unisa-
theoretical-computer-sciencendashoutline-of-things-you-should-know.aspx) - Things you should know forthe exam.
Study notes
Download notes
AuthorDownload
linkYear
createdDescription
BronwenSolutions to
chapter 42003
A student's (correct) worked-out solutions to the first 11 problems in
chapter 4 of the textbook by Cohen.
BronwenSolutions to
chapter 22003
A student's (correct) worked-out solutions to all 20 problems in chapter 2
of the textbook by Cohen.
Create notes online
24/01/2012 COS2601 - WikiStudent, Unisa
7/7wikistudent.ws/Unisa/COS2601
Vote
View ResultsShare ThisPolldaddy.com
Vote
View ResultsShare ThisPolldaddy.com
Vote
View ResultsShare ThisPolldaddy.com
Student opinions
Student survey
How challenging did you
find COS2601?
How useful is COS2601 in
your field of work?
What did you get for the
COS2601 exam?
Pros of COS2601
If you work very hard at this module you'll find COS3701 a breeze. The extra hours spent in second year
will definitely pay off in final year as the concepts are exactly the same.
Cons of COS2601
This is a very abstract module which will require a lot of dedicated studying.
The textbook is almost like a very long piece of cryptic notes the author made while he was busy with his
PhD or something. It is difficult to follow and the Unisa study guide is in some instances necessary to decrypt
the textbook, but it doesn't succeed in doing that every time.
Retrieved from "http://wikistudent.ws/Unisa/COS2601"
Categories: Unisa Modules | Completed Modules | Computer Science
This page was last modified 10:04, 26 May 2011 by Bronwen. Based on work by Ahmed Vahed , Zelna
Ellis, Andreas Pauley and Gert Yes.
Content is available under Attribution-Noncommercial 3.0 Unported.
Very easy
Easy
Average
Difficult
Very difficult
Very useful
Moderately useful
Not at all useful
90-100%!
80-89%
70-79%
60-69%
50-59%
Fail :(