CS 301: Languages and Automata — Spring 2018

Instructor: Professor Stephen Checkoway sfc@uic.edu
Lectures: Monday, Wednesday. 16:00–17:15 in Lecture Center E1
Office Hours: Thursday. 14:00–15:30 in SEO 1236
TA Office Hours: See list
Discussions: Wednesday. 09:00, 10:00, 11:00, 12:00, 13:00, 14:00 in Thomas Beckham Hall 180E
Midterm Exam 1: Friday, February 23, 2018. 16:00-16:50 BSB 145
Midterm Exam 2: Friday, April 13, 2018. 16:00-16:50 BSB 145
Final Exam: Tuesday, May 8, 2018. 15:30–17:30


This is a theoretical course. Students are expected to be familiar with the basics of structuring and writing proofs involving sets and functions.


The final course grade is based on exams, homework, labs, and quizzes.

Letter grades will be assigned based on your weighted total points.

Any student who does not take the final exam will receive an F.

There may be a small amount of extra credit available throughout the semester, but no more than 5% of your total grade.


There are two midterm exams and one final exam at the dates and times listed at the top of this page.

Exams are closed book; however, you are allowed to bring one sheet of 8.5” by 11” paper, hand written on both sides with any information you think you’ll need. This sheet of notes will be turned in along with your exam but will not be returned to you.


There will be six homework assignments during the semester. Per the collaboration policy, you are free to work with other students on the homeworks, but you must write up your own solutions.

All of your written solutions must be typeset. You are strongly encouraged to use the LaTeX typesetting system to write up your solutions, but you are free to use other tools (such as Microsoft Word). See the resources below for more information on LaTeX.

In addition to written solutions, you will also produce DFAs, NFAs, PDAs, and Turing machines using JFLAP.

Labs and quizzes

Each week (starting the second week of the semester), you will have to complete a lab in discussion section as well as take an online quiz via Blackboard.

The labs and quizzes are designed to help prepare you for the homework and exams.

Course Materials



JFLAP is software that you will use for building the machines we will be discussing in class.

LaTeX is a typesetting system which you are encouraged to use to write up solutions to the homework. Here is an example proof written in LaTeX and here is the corresponding source code.

LaTeX distributions are available for macOS, *NIX, and Windows:

There are a number of good references on the Web, including

There are many tools that can assist in writing LaTeX, including a variety of specialized editors such as Texmaker and TeXShop. There are also add-ons for editors like Emacs (AUCTeX is the best of those) and Vim.

Writing your solutions in LaTeX will take time at first, but as you become more familiar with it, you’ll find that it’s an invaluable tool. I strongly recommend you learn to use it well.

Course Policies

Attendance Policy

Class attendance is not mandatory; however, research indicates that students who attend class are more likely to be successful. You are strongly encouraged to attend every class. Lectures are not recorded. If you are unable to attend class, you should consider asking a classmate to take notes for you.

Missed or Late Work Policy

Homework is due by the time specified on each homework page. After the due date has passed, you may turn in the assignment up to 24 hours late with a 25% penalty.

Electronic Communication Policy

All electronic communication with course staff should take place on Piazza unless emails are specifically requested by the staff. Course staff may, from time to time, respond to emails, but a response to one email does not guarantee a response to a second. Use Piazza!

Collaboration Policy

You may collaborate with as many other students in the class on the homework. On your homework submission, you must list the name of everyone you discussed the homework with. You must write up your solutions entirely on your own.

Academic Integrity Policy

As an academic community, UIC is committed to providing an environment in which research, learning, and scholarship can flourish and in which all endeavors are guided by academic and professional integrity. All members of the campus community–students, staff, faculty, and administrators–share the responsibility of insuring that these standards are upheld so that such an environment exists. Instances of academic misconduct by students will be handled pursuant to the Student Disciplinary Policy.

The following are examples of academic misconduct.

Religious Holidays

The UIC Senate Policy on religious holidays is the following.

The faculty of the University of Illinois at Chicago shall make every effort to avoid scheduling examinations or requiring that student projects be turned in or completed on religious holidays. Students who wish to observe their religious holidays shall notify the faculty member by the tenth day of the semester of the date when they will be absent unless the religious holiday is observed on or before the tenth day of the semester. In such cases, the students shall notify the faculty member at least five days in advance of the date when he/she will be absent. The faculty member shall make every reasonable effort to honor the request, not penalize the student for missing the class, and if an examination or project is due during the absence, give the student an exam or assignment equivalent to the one completed by those students in attendance. If the student feels aggrieved, he/she may request remedy through the campus grievance procedure.

Academic Deadlines

See the academic calendar.

Grievance Procedures

UIC is committed to the most fundamental principles of academic freedom, equality of opportunity, and human dignity involving students and employees. Freedom from discrimination is a foundation for all decision making at UIC. Students are encouraged to study the University’s Nondiscrimination Statement. Students are also urged to read the document Public Formal Grievance Procedures. Information on these policies and procedures is available on the University web pages of the Office of Access and Equality.

Course Evaluations

Because student ratings of instructors and courses provide very important feedback to instructors and are also used by administrators in evaluating instructors, it is extremely important for students to complete confidential course evaluations online known as the Campus Program for Student Evaluation of Teaching evaluation. You will receive an email from the Office of Faculty Affairs inviting you to complete your course evaluations and will receive an email confirmation when you have completed each one.

For more information, please refer to the UIC Course Evaluation Handbook.

Results for the “six core questions” will be published on the UIC course evaluation website.