# CSCE 428/828: Automata, Computation and Formal Languages

## Table of Contents

Meetings: MWF 12:30PM - 01:20PM, Avery 106 Instructor: ThanhVu (Vu) Nguyen Email: tnguyen at cse.unl.edu Office Hours: M 4:00PM - 6:00PM, Avery 261 TA: Paul Quint Email: pquint at cse.unl.edu Office Hours: WF 2:30PM - 3:30PM, Student Resource center

## Schedule (Tentative)

Topics | Dates^{1} |
Assignments/Notes | ||||||||
---|---|---|---|---|---|---|---|---|---|---|

Syllabus / Ch.0: Introduction | (1) Jan | Read Ch.0 | ||||||||

Ch.1: Regular Languages | (8) Jan-Feb | Read Ch.1 | ||||||||

Quiz 1 (sols) (in class, Jan 23 Mon) | ||||||||||

HW1 (sols) (due in class, Feb 3 Fri) | ||||||||||

HW2 (sols) (due in class, Feb 13 Mon) | ||||||||||

Midterm 1 (covers chapter 1) | (1) Feb 20 Mon | MT1 (sols) | ||||||||

Ch.2: Context-Free Languages | (8) Feb | Read Ch.2 | ||||||||

Project | DFA Simulation. | |||||||||

Due dates: Part 1, Fri 3/10 Fri and Part 2, Wed 4/19 Thurs | ||||||||||

Ch.3: Turing Machines | (7) Feb - March | Read Ch.3 | ||||||||

TM Examples | ||||||||||

Qui2 1 (sols) (in class, Feb 28 Mon) | ||||||||||

HW3 (sols) (due in class, March 13 Mon) | ||||||||||

HW4 (sols) (due in class, April 5 Wed) | ||||||||||

Midterm 2 (covers chapters 2 and 3) | (1) April 10 Mon | MT2 (sols) | ||||||||

Ch.4: Decidability | (6) Mar - April | Read Ch.4 | ||||||||

Ch.5: Reducibility | (7) Apr | Read Ch.5 | ||||||||

HW5 (sols) (due in class, April 24 Mon) | ||||||||||

Final Exam (covers everything) | (1) May ?? | |||||||||

**Note**: no regular classes on these days

- 1/16: MLK day
- 3/20 - 3/24: Spring break
- 4/24 - 4/28: I'll be out of town so we will have guest lectures.

## Syllabus

This class covers fundamental topics in computer theory including automata, languages, Turing machines, and other models of computation. We will also learn about decidable and undecidable classes of problems in computation complexity.

**Note**: the prerequisites are (1) Data Structure and Algorithms (CSCE 310) or equivalent and (2) Introduction to Discrete Structures (CSCE 235) or equivalent.

### Textbook

Introduction to the Theory of Computation, 3^{rd} edition, 2012, by Michael Sipser.

This book presents two fundamental problems of computer science: (1) **computability theory**: problems that are solvable using different models of computations and (2) **complexity theory**: the time and space required to solve a problem. We will focus on the computability theory in this course (complexity is covered in CSCE 423/823 and CSCE 424/824).

Specifically, we will cover the following chapters in the textbook:

Chapter 0 | Introduction |

Chapter 1 | Regular Languages |

Chapter 2 | Context-Free Languages |

Chapter 3 | The Church-Turing Thesis |

Chapter 4 | Decidability |

Chapter 5 | Reducibility |

Chapter 6 | Advanced Topics (depending on the progress) |

**Important**: reading the textbook is **mandatory**. You should do the reading assignments **before** class. This gives you ideas on what the lecture will be about and helps you understand better.

### Assignments and Grading

Percent | |
---|---|

Homework | 25 |

Project | 5 |

Quiz | 5 |

Midterm 1 | 20 |

Midterm 2 | 20 |

Final | 25 |

Total | 100 |

#### Homework

- All homework assignments (except perhaps figures) must be typed and printed out. I
*strongly*recommend you to learn and use LaTeX for all assignments. - You can
**work with others**. But you must clearly state the people you work with, cite all sources (e.g., materials found online), and*write your own solutions*. - Your hws (and test) answers should have these properties:
- Clarity: If we can't follow, we can't grade. Also, start every problem on a new page.
- Completeness: show all sufficient intermediate steps leading to the final answer. We want to understand how you solve the problem and to give you partial credits.
- Succinctness: long enough to convey your ideas, but short enough to be digested quickly. Clearly indicate your final answer (circle, underline, etc).

**No late homework**

#### Project

- One project.
- For programming, you can use any language as long as it can be run on the department server
`cse.unl.edu`

. - Individual project. You must work on every project by yourself.
**No late project**

#### Quizzes

- Some unannounced, in-class pop quizzes.
- Most quizzes are based on the textbook reading (i.e., make sure you understand important definitions and the examples in the text).
**No book/note/laptop/ipad/cellphone/calculator**.**No make-up quiz**. If you have a valid excuse (e.g., illness with a doctor's note, job interview, attending conference, military service), your quiz score will be replaced by your final exam score.

#### Midterms

- Two in-class midterm exams:
- Midterm 1 covers Chapter 1
- Midterm 2 covers Chapters 2 and 3

- The exact exam date will be announced at least one week before an exam.
- All exams are open book and open notes. But no laptop/ipad/cellphone/calculator.
**No makeup midterm exam**. If you have a valid excuse, your exam score will be replaced by your final exam score.

#### Final

- Accumulative, and covers everything from the first class to the last class.
- Open book and open notes. But no laptop/ipad/cellphone/calculator.
- If you need a makeup exam for the final exam for a valid reason, send me your request in writing as early as possible.

#### Scale

For CSCE428 students, letter grades will be assigned based on the following scale:

A+ | ≥ 96% | A | ≥ 92% | A- | ≥ 89% | ||

B+ | ≥ 86% | B | ≥ 82% | B- | ≥ 79% | ||

C+ | ≥ 76% | C | ≥ 72% | C- | ≥ 69% | ||

D+ | ≥ 66% | D | ≥ 62% | D- | ≥ 60% | F | < 60% |

For CSCE828 students, letter grades will be assigned based on the following scale:

A+ | ≥ 97% | A | ≥ 93% | A- | ≥ 90% | ||

B+ | ≥ 87% | B | ≥ 83% | B- | ≥ 80% | ||

C+ | ≥ 77% | C | ≥ 73% | C- | ≥ 70% | ||

D+ | ≥ 67% | D | ≥ 63% | D- | ≥ 60% | F | < 60% |

### Useful links

- JFLAP: a graphical tool to learn about formal languages and automata.

## Research

Your class work might be used for research purposes. For example, we may use anonymized student assignments to design algorithms or build tools to help programmers. Any student who wishes to opt out can contact the instructor or TA to do so after final grades have been issued. This has no impact on your grade in any manner.

Students interested in considering undergraduate or graduate research should make an appointment to talk about it. I am happy to discuss independent study projects, senior theses, paid research work over the summer, research work for credit, and graduate school.

## Additional Information

- It is CSE Department policy that all students in CSE courses are expected to regularly check their email so they do not miss important announcements.
- All homework assignments, quizzes, exams, etc. must be your own work. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated. The Computer Science & Engineering department has an Academic Integrity Policy. All students enrolled in any computer science course are bound by this policy. You are expected to read, understand, and follow this policy. Violations will be dealt with on a case by case basis and may result in a failing assignment or a failing grade for the course itself.
- The CSE Department has an anonymous contact form that you may use to voice your concerns about any problems in the course or department if you do not wish to be identified.
- Consider the Student Resource Center in Avery 12 for additional help (e.g., TA's, tutorings, etc)
- Students with disabilities are encouraged to contact the instructor for a confidential discussion of their individual needs for academic accommodation. It is the policy of the University of Nebraska-Lincoln to provide flexible and individualized accommodations to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Services for Students with Disabilities (SSD) office, 132 Canfield Administration, 472-3787 voice or TTY.

## Acknowledgements

Thanks Lisong Xu and Westley Weimer for letting me reuse and adapt course materials from their courses.

## Footnotes:

^{1}

(n) is the number of days we plan to spend on the topic.