Computing Theory Individual Assignment Page 1 of 2
The coursework is 50% of the assessment for the module.
Learning Outcomes
Design automata to generate regular expressions for specified languages.
Demonstrate complexity and decidability of problems.
Assessment Criteria
IMPORTANT: This is an individual assignment, all submitted components must be
your own work or appropriately accredited.
Referencing
If you use ideas from external sources, e.g. books/magazines/internet/forums, then proper
citation should be done using the Harvard Name convention within your solution. Failure
to reference design/ideas properly is considered as plagiarism.
Tasks
PART A: Automata
Most programming languages would support a number of number of constructs for
iterations, which would allow for parts of the code to be executed for a number of cycles.
Choose a programming language that supports iterations, and specify the chosen iteration
construct. Provide a citation to the authorized reference for that language.
i) Design a Non-deterministic Finite Automata (NFA) for the chosen iteration
construct.
[5 Marks]
ii) Provide the corresponding quintuple and state transition table for the NFA.
[5 Marks]
iii) Convert the NFA to an appropriate DFA by showing all the conversion steps.
Remember that the DFA should cover all the input alphabet for the language.
[10 Marks]
iv) Generate the related Regular Expression from the DFA, showing all the steps in the
conversion process.
[5 Marks]
Asia Pacific University of Technology and Innovation 2019
Computing Theory Individual Assignment Page 2 of 2
PART B: Complexity & Decidability
i) Specify a short snippet of a program code that employs the construct from Part A,
indicating the complexity for each line of the code snippet.
[5 Marks]
ii) Using the snippet, demonstrate the complexities for the Best Case and Worst Case
scenarios.
[5 Marks]
iii) Modify the code snippet so that its complexity would be significantly increased.
Explain the new complexity.
[5 Marks]
iv) Discuss the Computability of the snippet, providing sufficient justification for your
explanation.
[5 Marks]
v) Explain how the Decidability of the code snippet can be determined.
[5 Marks]
Deliverables
You are required to submit:
Documentation (hardcopy)
1. Cover page
2. Results (Part A, B)
3. References
CD Content (softcopy)
1. Documentation report (.docx/.doc/.rtf)
WARNING:
This is an individual assignment. Therefore, although discussions may take place,
each student should produce original work. Plagiarism will not be condoned.
Asia Pacific University of Technology and Innovation 2019