CS 2250 / Computability and Complexity / 2024 Spring
Compiled: 2024-02-07 09:51
Instructor: Clayton Cafiero
Office: Innovation E309
Office hours: M 2:10–3:00 PM, W 8:30–10:00 AM, F 9:00–11:00 AM, or by appointment
Website: https://www.uvm.edu/~cbcafier
GTA: Yeonhee Yeh
Office: Innovation E446
Office hours:
F 1:00–3:00 PM, or by appointment
UTA help desk: S–Th 5:00–7:00 PM
Locations: S–M Votey 305, T–Th Innovation E325
Class meetings
Section A: T/Th 8:30–9:45 AM, Perkins 107
Section C: T/Th 02:50–04:05 PM, Perkins 107
Overview: This course is a study in automata, automata as models of computation, the fundamental
limits of computing, and complexity theory. Topics include: formal languages, regular expressions,
deterministic and non-deterministic finite automata, context-free grammars and pushdown automata,
Turing machines, decidability, computable functions, reducibility, and time complexity classes (P, NP, NP-
complete, NP-hard). This course fulfills the Qualitative Reasoning (QR) requirement of the Fall 2020
revision of the Catamount Core curriculum. See: https://go.uvm.edu/qr.
Important dates:
First exam: 2024-02-22, in class (tentative)
Second exam: 2024-03-28, in class (tentative)
Final exam, section A: 2024-05-07, 07:30–10:15 AM Perkins 107
Final exam, section C: 2024-12-14, 04:30–07:15 PM Perkins 107
Course materials: Textbook: Sipser, Michael. Introduction to the Theory of Computation , 3rd edition.
ISBN: 978-1-133-18779-0. eBook rental available direct from Cengage. ISBN: 978-1-285-32073-1. If
you are already using a Cengage text in another course, you may already have access through Cengage
Unlimited. Other materials supplied Brightspace.
1
Software: We may do a little programming (just a little), so please be prepared with a reasonably
current version of Python (>= 3.9) and a working installation of Jupyter (this is pip installable; see:
https://jupyter.org/install).
Learning objectives:
Prove properties of languages and automata using formal mathematical methods.
Collaborate with peers to solve problems and present results.
Recognize flaws in invalid proofs.
Trace an automaton’s action on a given input (e.g., determine whether a given DFA accepts a given
string).
Design automata (e.g., DFA, Turing machine, etc.) or context-free grammar to recognize a specific
language or to satisfy a given property.
Describe the language recognized by an automaton or generated by a regular expression or
context-free grammar.
Understand decidability and undecidability.
Understand how reduction techniques are used to prove decidability or undecidability.
Understand relationships between languages in the context of the Chomsky hierarchy.
Explain the relationship between time complexity classes P, NP, NP-hard, and NP-complete.
Important websites:
Brightspace, for course materials, announcements, and submitting certain assignments.
Gradescope, for submitting certain assignments.
Correspondence: Please use email for electronic correspondence (and not MS Teams). As I teach
multiple courses please indicate the course in which you are enrolled in the subject line. Please use
your UVM email for all correspondence.
Online quizzes: There will be twelve online quizzes administered on Brightspace. These will occur in
weeks in which there is no exam. Online quizzes will be open book, open notes, but no collaboration.
There will be no make-ups for missed quizzes. However, the lowest two scores will be dropped, in part
to accommodate illness or other unforeseen events.
In class exams: There will be two partial, exams administered in class (see schedule). Each in class
exam counts for 10% of your overall grade. These will be administered in pencil and paper format. For
in class exams you will be allowed two 8.5" × 11" pages of handwritten notes (both sides OK).
Active learning exercises: Throughout the semester, we’ll have active learning exercises in class.
These will be conducted in small groups (i.e., three to five students per group). Active learning exercises
will be graded on a simple check / check plus kind of scale. Weights of individual exercises TBD.
Homework: You will have five homework assignments at various intervals. Information about home-
work, including due dates will be announced in class and posted on Brightspace. Each assignment
counts for 5% of your overall grade. All homework is due by 11:59 PM on the specified due date and
should be submitted via Gradescope (links on Brightspace).
2
Final exam: The final exam, which counts for 20% of your overall grade, will be administered at times
scheduled by the Office of the Registrar. Exams will be administered using pencil and paper. You will be
allowed two 8.5" × 11" pages of handwritten notes (both sides OK). The final exam will be cumulative,
but primary emphasis will be on Turing machines, decidability, reducibility, and time complexity classes.
Weekly schedule of topics (tentative and subject to change):
Week Topics covered Assessment
01 Math foundations; introduction to computability; Chomsky hierarchy quiz
02 Deterministic finite automata (DFAs) quiz
03 Non-deterministic finite automata (NFAs); subset construction quiz
04 Regular expressions; state elimination quiz
05 Non-regular languages; pumping lemma for regular languages quiz
06 Review: regular languages and finite automata exam
07 Context-free grammars (CFGs); Backus-Naur form (BNF) quiz
08 Pushdown automata; Chomsky normal form (CNF) quiz
09 Review: regular and context-free languages exam
10 Turing machines; Church-Turing thesis quiz
11 Decidability and the Entscheidungsproblem quiz
12 Reducibility; mapping reducibility and computable functions quiz
13 Computational complexity; the classes P and NP quiz
14 NP-Completeness and Cook-Levin quiz
15 Topics TBD
Reading and exams exam
Grading:
Component Weight
Online quizzes (12, drop 2) 20%
In class exams (2) 20%
Active learning and participation 15%
Homework (5) 25%
Final exam 20%
TOTAL 100%
Assignment of letter grades will be on a conventional scale. Any grade appeal (assignment, quiz, lab,
exam, etc.) must be directed to your grader within one week of the grade being posted. If grading is
done on Gradescope (e.g., for homework), there’s a regrade request feature which should be used for
grade appeals.
Academic integrity: The Department of Computer Science enforces UVM’s Code of Academic Integrity.
Any suspected violation of this policy will be referred immediately to UVM’s Center for Student Conduct
(https://www.uvm.edu/sconduct). Sanctions for a violation may include a grade of XF in the course.
Additional violations can result in dismissal from the university. In a word: Don’t. All students should
be read and understand this policy. See: https://go.uvm.edu/cai.
3
Collaboration on quizzes and exams is strictly prohibited. Use of online services as a source of solutions
is strictly prohibited. Using AI-content generators such as ChatGPT or websites such as Chegg or Course
Hero to complete coursework is a form of academic dishonesty. Work you submit for an individual grade
must be your own. Any work not produced by you (or teammates in the case of active learning exercises
or labs, where applicable) must be cited. If you have any questions ask!
Any attempt to tamper with any autograder is a form of academic dishonesty. This applies wherever
autograders are in use, for example on Brightspace or Gradescope.
Exams, quizzes, homework assignments, answer keys and solutions, presentations or lecture notes,
specifications and rubrics are copyright protected works, unless clearly and explicitly indicated other-
wise. Any unauthorized copying or distribution of protected works is a violation of federal law and may
result in disciplinary action. This includes submission of protected works as prompts to generative AI.
Sharing of course materials without the specific, express approval of the instructor may be a violation
of the University’s Code of Academic Integrity and an act of academic dishonesty, which could result
in disciplinary action. Violations will be handled under UVM’s Intellectual Property Policy and Code of
Academic Integrity, as appropriate. See: https://go.uvm.edu/ipp and https://go.uvm.edu/cai.
Attendance: The UVM attendance policy is available at https://go.uvm.edu/srr. There will be no
make-ups for in class active learning exercises if you did not attend class without prior notification and
approval. While there is no explicit weight for your attendance, a good attendance record will be taken
into consideration when assigning letter grades in the course (e.g., whether a close score is rounded up
for final grade).
If you are not able to attend in-person classes please notify the instructor via email as soon as possible.
Depending on the nature of your absence, it may be appropriate for you to contact UVM Student Health
Services (https://www.uvm.edu/health/SHS), CEMS Student Services (https://www.uvm.edu/cems/
student-services), or the Dean’s Office for your college. In many cases, these can provide an official
request for flexibility on your behalf. While reasonable accommodations will be granted in the event of
documented illness or emergencies, you are responsible for making up any work you have missed.
The secret word is “wistful.”
Class participation: You are expected to be an active participant in class. The more engaged you are,
the more you will learn—and the more fun you’ll have. This includes being prepared and attentive,
responding when called on, participating in group discussion, and asking questions as appropriate.
When it comes to asking questions, please don’t be shy! There’s no such thing as a “dumb” or “silly”
question. If there’s something you don’t understand—ask! Asking questions helps you understand the
material presented in the course. Asking questions is good for your classmates. It’s almost certain that
if you need clarification on some point, that there’s at least one other student in the class with the same
question. So help each other out—ask! Finally, when you ask a question you help the instructor to do
a better job of explaining. If someone explains something, and you still don’t quite grasp it, it’s not
unlikely that the explanation could be improved or clarified.
4
Late policy / extensions: Each homework assignment has a specific due date / time. You may submit
work up to 24 hours after the due date / time, however, late submissions will be penalized 20%. Sub-
missions that are more than 24 hours late will not be accepted unless an extension has been granted. We
will consider reasonable requests for extensions when extenuating circumstances arise. (It can’t hurt to
ask.) However, extensions will not be granted if the request for extension is made within 24 hours of the
time an assignment is due, except in the most extraordinary circumstances. So if you wish to request
an extension, do so early! If an extension is granted, you must submit your work by the agreed-upon
extension date.
Student course evaluations: Students are warmly encouraged to complete an evaluation of the course
at its conclusion. Evaluations are anonymous and confidential, and the information gained, including
constructive criticisms, will be used to improve the course.
Diversity, equity, and inclusion: UVM is a place where you should be treated with respect and kind-
ness. We welcome individuals of all ages, backgrounds, beliefs, interests, ethnicities, genders, gender
identities, gender expressions, national origins, religious affiliations, sexual orientations, ability, and
other visible and non-visible differences. All students are expected to contribute to a respectful, wel-
coming and inclusive environment for every other member of the community. If you ever feel that you
have been unfairly treated or judged by an instructor, a mentor, another student, or another member of
the community, please let someone know. Your instructors and advisors in the CEMS Office of Student
Services are available to discuss any concerns, or you can report an incident of bias through the bias
report program (https://www.uvm.edu/deanofstudents/bias_response_program).
Conduct: Be kind to one another and to yourself. Be respectful of yourself, others, and the institution.
Please arrive on time. Please, no food in class. Please, no cell phones in class (except for using the
iClicker app when requested). You may use a laptop or tablet, but only for active learning sessions, pair
programming, taking notes, or assistive technologies.
For other policies on classroom conduct, please see: https://go.uvm.edu/srr and https://go.uvm.
edu/csc.
Accommodations: In keeping with UVM policy, if you have a documented disability and are interested
in utilizing ADA accommodations, you should contact Student Accessibility Services (SAS), the office
of Disability Services on campus for students. SAS works with students and faculty in an interactive
process to explore reasonable and appropriate accommodations, which are communicated to faculty in
an accommodation letter.
Contact SAS: A170 Living/Learning Center; +1 802 656 7753; [email protected]; or visit https://www.
uvm.edu/access.
If you are entitled to use the Exam Proctoring Center, please book reservations at least four days in
advance.
Your identity at UVM: Students at UVM can specify the first name and pronoun they want used on
campus. For information on how to update your preferred name and personal pronouns as well as
keeping your legal name private, see: https://www.uvm.edu/registrar/name-and-pronouns. For
UVM policy on lived name and pronouns, see: https://go.uvm.edu/lnpr.
5
Promoting health and safety: If you are concerned about a UVM community member or are concerned
about a specific event, we encourage you to contact the Dean of Students Office (+1 802 656 3380).
If you would like to remain anonymous, you can report your concerns online by visiting the Dean of
Students website at https://www.uvm.edu/deanofstudents.
Wellbeing resources:
Center for Health and Wellbeing: https://www.uvm.edu/health
Counseling and Psychiatry Services (CAPS): +1 802 656 3340
Food Insecurity Assistance: https://www.uvm.edu/health/food-insecurity-uvm
Student advocacy: https://www.uvm.edu/deanofstudents/student_advocacy
Religious holidays: Students have the right to practice the religion of their choice. In order to receive
extensions or excused absences, you should submit via email your documented religious holiday sched-
ule for the semester within the first two weeks of class. Reasonable extensions will be granted where
assignment deadlines conflict with religious holidays.
Student athletes: In order to receive extensions or excused absences, you should submit via email ap-
propriate documentation as soon as possible, preferably within the first two weeks of class. Reasonable
extensions will be granted where assignment deadlines conflict with team events or team travel.
Statement on alcohol and other drugs: We want you to get the most you can out of this course.
Therefore, you are expected to familiarize yourself and abide by the University’s policies with regard to
alcohol, cannabis, tobacco, and other drug use. See: https://www.uvm.edu/sites/default/files/
UVM-Policies/policies/drugandalco.pdf Please do everything you can to optimize your learning
and to participate fully in this course.
Class format changes: The University of Vermont reserves the right to make changes in the course
offerings, mode of delivery, degree requirements, charges, regulations, and procedures contained herein
as educational, financial, and health, safety, and welfare considerations require, or as necessary to be
compliant with governmental, accreditation, or public health directives.
Changes to this document: This document is subject to change. Any such change will be communi-
cated via an announcement on Brightspace. The latest version of the syllabus will always be available
on Brightspace.
6