CS 330: Formal Methods and Models

Sections 001 and 003, Spring 2022

Course Overview

Instructor:
Priya Mani
Email: pmani@gmu.edu
Office Hours: MW 3:00pm - 4:00pm, R 10:30am - 11:30am, ENGR 5309

Teaching Assistant:

Section 001:
Petar Duric, TF 10:00am - 11:00am, ENGR 4456
Yong Li, 12:00 noon - 1:00pm, Zoom

Section 003:
Manpriya Dua, T: 2:00pm - 4:00pm, ENGR 4456

UTA: Ervin Calderon, F 1:30pm - 2:30pm, Location TBD
CS 330 office hours
Note: We prefer that you go to the highlighted times but if they don’t work for you, then you can also try the rest of the office hours.

Class Meetings:
Section 001: TR 9:00am - 10:15am, Planetary Hall 129
Section 003: MW 1:30pm - 2:45pm, Planetary Hall 129

Schedule of classes: see below.

Course Description

Prerequisites
CS211 and Math 125 (C or better in both).

Content
This course is an introduction to two kinds of formal systems - languages (which are treated as sets of strings) and logics - with important applications to computer science. The study of formal languages underlies important aspects of compilers and other language processing systems, as well as the theory of computation. Various systems of logic and automatic reasoning are put to use in artificial intelligence, database theory and software engineering. The entire course will give you practice in precise thinking and proof methods that play a role in the analysis of algorithms.

Objectives and Outcomes
Students will understand the concepts and relevance of logic, formal languages and automata theory, and computability.
Students will be able to do mechanical formal proofs, prove program correctness for simple programs, and solve problems in first-order logic.
Students will be able to solve problems in elementary machine models: designing finite-state automata, pushdown automata and Turing machines.
Students will be able to solve problems in formal languages: writing regular expressions, regular grammars, and context-free grammars.

Textbook
Title: Logic and Languages Models for Computer Science, 3rd edition.
Authors: Dana Richards and Henry Hamberger
Available at the campus bookstore
Note that the 3rd edition is substantially different from the 2nd.

Logistics

Communications: We will exclusively use Piazza to communicate with you. If you have a question about the course you should: (a) Come to office hours, OR (b) Post on Piazza. We have already set up different tags for HW problems, exams and lectures. Please don't use private posts/emails to ask technical questions. The rest of the class is probably also interested in your question, so make it public!

Lectures: The classes will meet in person. I mainly use the whiteboard during lectures, thus taking notes is highly recommended! However, the textbook is a great resource for studying.

Class Material: Any given class material will be posted on Blackboard. However, note that you need to take notes of material presented on the whiteboard during lectures.

Course Requirements

Grading Scheme
Quizzes -- 10%
Homeworks -- 30%
Exams -- 60%
Of two exams the highest score will count 35%, and the lowest 25%.

Homework Submission and Late Policy: We will assign weekly homework problems (posted on Friday and being due the next Friday). Assignments will be posted on Blackboard and solutions have to be submitted on Blackboard by Friday 7:00 pm. To accommodate unforeseen issues (i.e. being sick, overwhelmed with other classes etc), the grade of the 2 lowest HWs will be dropped.

No late assignments will be accepted. To be fair with everyone in class no exception will be made to the rule above.

Suggestions: It will be very hard to do well in this course if you do not do all of the homework by yourself, including any optional problems. You are strongly encouraged to do all of the problems, and to ask questions, in class and in office hours, when you do not understand any of them. Don't start the homework the day before it is due!

Quizzes: All class quizzes will happen at the beginning of the class (don’t be late!), electronically on Blackboard. The will consist of 2-5 questions multiple choice or fill-in-the-blank. You may use scratch paper but all notes should be closed. Every quiz will cover the material covered in the previous week. You need to have an electronic device with you in class (laptop, tablet, smartphone) with access to Blackboard. If you need special accommodations please contact the instructor well in advance.

The grade of the 2 lowest quizzes will be dropped (this is to cover cases where you cannot attend class due to being sick etc).

Exams: All testing is closed book, and no notes are permitted. The two exams, including the final, each cover about a half of the semester. The final will focus on the 2nd half of the semester, but may also include some material from the 1st half.

Midterm Schedule
Section 001: March 8 during class time
Section 003: March 7 during class time

Final Exam Schedule
Section 001: May 12, 7:30am - 10:15am
Section 003: May 11, 1:30pm - 4:15pm

CS330 Advisor Forms: It is a departmental requirement that students in CS330 must see their advisor and discuss their degree progress. The form can be downloaded here. Be sure to fill out the form before seeing your advisor, even if you are meeting virtually. This semester, I believe it is also OK to communicate by email.

You must email me your filled form before the Midterm takes place. Note, if you do it earlier in the semester, you will be more likely to connect with your advisor, and you will have more time to correct any problems. If you wait until the last week, your advisor might not be available. Failure to meet this requirement will result in an Incomplete grade. (This requirement applies to CS Majors, but not ACS majors, CS minors, or other majors.)

Tentative Schedule

Section 001: Schedule (Section 001)
Section 003: Schedule (Section 003)

Additional Class Information

Honor code: All students must adhere to the GMU Honor Code. You can discuss lecture material with other students in class but you have to work on the assignments alone. More specifically: (1) You must work on the homework problems and write your solutions completely on your own, without looking at other people’s write-ups. (2) You are welcome to use any textbooks, online sources, blogs, research papers, Wikipedia, etc to better understand a notion covered in class or in a homework question. If you do so you have to properly cited it in any submitted work. Failure to do this is plagiarism and is serious violation of the GMU Honor Code and basic scientific ethics, and will not be tolerated. Note that it is not OK to search for solutions to HW problems online.

Disability Accommodations: Disability Services at George Mason University is committed to providing equitable access to learning opportunities for all students by upholding the laws that ensure equal treatment of people with disabilities. If you are seeking accommodations for this class, please first visit http://ds.gmu.edu/ for detailed information about the Disability Services registration process. Then please discuss your approved accommodations with me. Disability Services is located in Student Union Building I (SUB I), Suite 2500. Email:ods@gmu.edu | Phone: (703) 993-2474

Misconduct Report: As a faculty member, I am designated as a “Non-Confidential Employee,” and must report all disclosures of sexual assault, sexual harassment, interpersonal violence, stalking, sexual exploitation, complicity, and retaliation to Mason’s Title IX Coordinator per University Policy 1202. If you wish to speak with someone confidentially, please contact one of Mason’s confidential resources, such as Student Support and Advocacy Center (SSAC) at 703-380-1434 or Counseling and Psychological Services (CAPS) at 703-993-2380. You may also seek assistance or support measures from Mason’s Title IX Coordinator by calling 703-993-8730, or emailing titleix@gmu.edu.