Syllabus
This is a graduate-level reading seminar on verification and synthesis of computer systems. Most lectures will be interactive discussions of research papers. Some lectures will be hands-on experience with verification and synthesis tools.
Prerequisites
There are no formal prerequisites. However, this is a graduate-level reading course, and we will assume undergraduate-level familiarity with discrete mathematics (CS 311 or equivalent) and systems (CS 439 or equivalent).
As a graduate-level course, registration is open only to masters and PhD students in computer science. If you don't meet these requirements, but are still interested in registering and have the necessary background, please contact the instructor (include your CV and/or transcript).
Course Work
This is a reading seminar, so our focus will be on reading and discussing papers. In most lectures, we will discuss a research paper related to verification and synthesis of systems. Each discussion will be led by a student. We'll assign the discussion order in the first week of semester—you should expect to present twice.
If you are leading the discussion on a paper, you have two responsibilities:
-
Write a blog post summarizing the paper and its contributions. You should aim to explain the background and the key novelties of the paper and to place it in context with respect to the related work. You should also reflect critically on the paper's strengths and weaknesses—imagine you're reviewing the paper for a conference. Finally, you should include a list of potential discussion questions for lecture.
This won't be a trivial amount of work! Aim to spend 5–8 hours reading the paper and preparing your post (you'll only have to do this twice in the semester).
A draft of your blog post is due by the start of the lecture one week before your assigned slot. It should be submitted as a pull request to the course blog GitHub repository. If more than one person is a discussion lead for the paper, you should work together on the blog post and submit only one pull request. We'll iterate on your pull request and merge it before the lecture for the paper.
-
Lead the discussion itself during lecture. This isn't a presentation, so slides aren't required (but you're welcome to prepare some if you think they'll help answer questions). Your goal is just to keep the discussion moving along and know the paper well. To help, you'll get a copy of the discussion questions others have submitted before lecture (see below).
If you're not leading the discussion on a paper, you'll instead need to submit a reading response before class. This response should be one paragraph describing what you liked and didn't like about the paper, and a list of questions for the in-class discussion. This response is due at 11pm the evening before lecture (i.e., 11pm Monday and Wednesday) and submitted via Canvas. If you're the discussion lead for a paper, you do not need to also submit the reading response; you get the point for free.
Grading
- Paper discussion leadership: 50% (25% per paper)
- Blog posts: 40% (20% per paper)
- In-lecture discussion leadership: 10% (5% per paper)
- Homework: 20% (5% per homework)
- Paper responses: 20%
- Responses will be graded pass/fail, with a bonus point for particularly insightful summaries or questions.
- Class participation: 10%
Course Policies
Your success in this class is important to me! While there are a number of official policies below about how best we can accommodate your needs, I am happy to be flexible within reason, especially with the challenges of COVID-19 in mind. If you find yourself needing accommodation, please let me know as soon as possible.
Excused Absences
Part of your grade in this class is based on in-class participation. If you need to be absent from class for any reason (religious holidays, extenuating circumstances and emergencies, paper deadlines, etc.), please contact me as soon as possible, and preferably at least two weeks in advance. We will find a way to make sure your class participation grade isn't affected.
Due Dates
This is a discussion focused class and will move fairly quickly, especially during the first few weeks, so sticking to the schedule is essential. Late submissions (other than reading responses) will be penalized 50% for less than one day late, 75% for less than two days late, and will not be graded after two days late. Late submissions of reading responses will receive zero points.
That said, as discussed above, I am flexible about excused absences if you give me advance notice (for things like paper submissions or conference attendance) or if extenuating circumstances arise. If you know you'll need to submit something late, please let me know as soon as possible.
Respect in Class
You have the right to a learning environment that is respectful and welcoming, that supports your mental and physical wellness, and that facilitates meaningful and equal participation. All communication in this course, both in lecture and online, will be held to a high standard for inclusiveness: it must not target individuals or groups for harassment, and it must not exclude specific groups.
If any communication in this class does not meet these standards, please don't escalate it by responding in kind. Instead, contact the instructor as early as possible. If you don't feel comfortable raising the issue with the instructor—for example, if the instructor is the problem—please contact the graduate program coordinator or the department chair.
Academic Integrity
While this is a discussion class, and discussion with others about the readings is encouraged, all material that you submit in this class (presentation materials, blog posts, homework, and reading responses) must be your own. If you use someone else's material, you must cite them properly and make very clear which parts are your own work.
Specifically for homeworks, you are welcome to discuss them with other students, but all code you submit must be code you wrote yourself. As a general heuristic, please don't share code you've written for the homework with other students.
If you are ever in doubt about whether something you intend to submit violates this policy, please contact me before doing so. There is no penalty for asking, but the penalty for plagiarism is academic disciplinary action, including failure of the course.
Services for Students with Disabilities
The university is committed to creating an accessible and inclusive learning environment consistent with university policy and federal and state law. Please let me know if you experience any barriers to learning so I can work with you to ensure you have equal opportunity to participate fully in this course. If you are a student with a disability, or think you may have a disability, and need accommodations, please contact Services for Students with Disabilities (SSD). If you are already registered with SSD, please deliver your Accommodation Letter to me as early as possible in the semester so we can discuss your approved accommodations and needs in this course.
Counseling and Mental Health Center
The Counseling and Mental Health Center serves UT's diverse campus community by providing high quality, innovative and culturally informed mental health programs and services that enhance and support students' well-being, academic and life goals. To learn more about your counseling and mental health options, call CMHC at (512) 471-3515.
If you are experiencing a mental health crisis, call the CMHC Crisis Line 24/7 at (512) 471-2255.
Sharing of Course Materials is Prohibited
Materials from this class that are produced by the instructor or by other students may not be shared online or with anyone outside this class without my explicit written permission. This includes any recordings of lectures or copies of class discussion, which involve participation by students and are protected under FERPA.
Acknowledgments
I have borrowed parts of this syllabus from Emina Torlak and Adrian Sampson—thanks!