CS 525V : Introduction to Computer-Aided Verification

Assignments

Assignment expectations are for students taking the course for credit (as opposed to auditors).


Homework Exercises

Exercises will be posted here as they become available. I expect to give roughly 4 exercises (outside of the other assignments listed on this page) over the course of the semester.

General Assignment Documentation

Assignment Handouts


Paper Presentations

Each student will present one or two papers in class (depending on final enrollment). The papers will come from the course readings. Your grade on the presentation will be based on the clarity and organization of your presentation and how well you can field questions from your classmates about the paper's contents.

Guidelines for preparing your presentation:


Paper Summaries

The ability to produce concise technical summaries of other work is an important job skill. Accordingly, each student will produce two paper summaries on course readings (on papers other than ones they present). Each summary should be one page in length and should describe the motivations, contributions, and key ideas of the paper. Also include a brief evaluation of the paper and its utility to other potential readers. Your grade will be based on the accuracy of your summary, the clarity of your summary, and the quality of your writing.


Class Participation

Students are expected to attend class sessions and to participate in class discussions. Asking questions and/or proposing approaches to problems posed in class are good ways to participate in the discussions.

Learning to ask good questions is a useful skill for participating in discussions, both in courses and on the job. To help you learn to ask good questions, students not presenting a paper should come prepared with three questions that they could ask about the paper. You must turn these questions in for feedback until I'm convinced that you know how to develop good questions from reading papers.


Final Project

Your final project will take one of the following three forms (your choice):

  1. Modeling and verification of a substantial design using one of the tools that we discuss in class.

  2. Modeling and verification of a reasonable design using a tool that we do not discuss in class. Your project should contrast your experience with the new tool with what you would have expected from verifying the same design in the tools that we used in class.

  3. A survey paper (roughly 10-15 pages) describing and contrasting the state-of-the-art approaches to verification in a particular problem domain.

In general, these will be individual projects. However, I will consider team projects provided you propose a project of sufficient scale to warrant multiple team members.

In each case, you will turn in a report describing your project and give a brief presentation on your project to the class at the end of the semester (presentation duration to be determined once I know how many students are enrolled).

You must submit a short project proposal and have me approve it. Proposals will be due sometime mid-semester (date TBA). Start thinking about the kind of project you would like to do. Possible domains include security protocols, e-commerce protocols, graphical-user interfaces, wireless network protocols, particular computer architectures, embedded software systems, etc. I'm glad to help you develop project ideas if you ask.


This page maintained by Kathi Fisler
Department of Computer Science Worcester Polytechnic Institute