CS 330-002: Formal Methods and Models
George Mason University Department of Computer Science
Spring 2018 - 3:00-4:15pm Mon/Wed - 1200 Merten Hall
Professor: Ivan Avramovic
Email: iavramo2-at-gmu.edu
Hours: by appointment, 5321 Engineering Building

Assistants:
grader for this section - Neeraj Lamba (nlamba2-at-gmu.edu), 4-5pm Tue / 11-noon Wed, 4456 Engineering Building
Prakhar Dogra (pdogra-at-gmu.edu), 3-4pm Tue / 12-1pm Fri, 4456 Engineering Building
Sivani Tadepalli (stadepal-at-gmu.edu), 10-noon Mon, 4456 Engineering Building
Jhanvi Rafalia (jrafalia-at-gmu.edu), 2-4pm Wed, 4456 Engineering Building
[UTA] Shayan Amirhosseni (samirhos-at-gmu.edu), 9-11am Mon, 4456 Engineering Building

Prerequisites: CS211 and MATH125 (C or better in both)
Textbook: Hamburger and Richards, Logic and Language Models for Computer Science, Third Edition

Webpage: https://mason.gmu.edu/~iavramo2/classes/cs330s18.html
Resources: https://mason.gmu.edu/~iavramo2/teaching.html
Schedule: see below

Description

This course is an introduction to two kinds of formal systems - languages 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. The programming assignments provide practical experience with some theoretical topics.

Outcomes

  1. Students will understand the concepts and relevance of logic, formal languages and automata theory, and computability.
  2. Students will be able to do mechanical formal proofs, program correctness proofs and solve problems in first-order logic.
  3. Students will be able to solve problems in elementary machine models: designing finite-state, pushdown and turing machines.
  4. Students will be able to solve problems in formal languages: writing regular expressions, regular grammars, and context-free grammars.
Topics

Grades

Policies

Honor Code

Programming assignments are an individual effort, no group work is allowed. This includes the sharing of test cases. Any direct contribution on a quiz, exam, note sheet or programming assignment will be treated as a violation of George Mason's Honor Code.

Schedule

Week Date Topic Assignments/Notes
week 1 Jan 22 Introduction; Mathematical Preliminaries, Sections 1.1-1.6
Jan 24 Propositional Logic, Sections 2.1-2.6 HW 2.4, 2.6, 2.7, 2.10a, 2.11
week 2 Jan 29
Jan 31 Proofs by Deduction, Sections 3.1-3.7 Quiz 1 (Ch 2), HW 3.8, 3.9, 3.11 (2nd-6th)
week 3 Feb 5
Feb 7 Predicate Logic, Sections 4.1-4.5 Quiz 2 (Ch 3), HW 4.1, 4.3, 4.7, 4.8a,b
week 4 Feb 12
Feb 14 Mathematical Induction, Sections 5.1,5.2,5.4,5.5 Quiz 3 (Ch 4), HW 5.2-5.4, 5.6
week 5 Feb 19
Feb 21 Program Verification, Sections 6.1-6.4 Quiz 4 (Ch 5), HW 6.2-6.6
week 6 Feb 26
Feb 28 PROLOG, Sections A.1-A.8 Quiz 5 (Ch 6)
week 7 Mar 5
Mar 7 Midterm review; Sample midterm Quiz 6
week 8 Mar 12 No class Spring Break
Mar 14 No class
week 9 Mar 19 Midterm covers material from chapters 1-6; No PROLOG Midterm
Mar 21 Class cancelled due to weather
week 10 Mar 26 Language Basics; Regular Languages, Chapter 7 + Sections 8.1-8.4 HW 7.4, 7.5, 7.12, 7.15, 8.2, 8.3, 8.6
Mar 28 Program due April 1st, midnight
week 11 Apr 2 Regular Expressions; Regular Grammars, Sections 8.4, 8.6, 8.7 Quiz 7 (Langs), HW 8.8, 8.9, 8.11, 8.12
Apr 4
week 12 Apr 9 Regular Grammar Conversions, Sections 8.8,8.9 Quiz 8 (REs/RGs), HW 8.14, 8.15
Apr 11
week 13 Apr 16 Finite Automata, Sections 9.1-9.4,9.8 Quiz 9 (RGs), HW 9.4, 9.8, 9.16a, 9.17
Apr 18
week 14 Apr 23 Nondeterministic Finite Automata; Properties of Regular Languages, Sections 9.5-9.7 Quiz 10 (DFAs), HW 9.5, 9.6, 9.25
Apr 25
week 15 Apr 30 Context-Free Grammars, Sections 10.1-10.4 Quiz 11 (NFAs), HW 10.1, 10.2, 10.7
May 2
-- May 8 Make-up class; Pushdown Automata; Turing Machines, Sections 11.1,11.2,12.2 Quiz 12 (Ch 10)
May 14 Final covers material from chapters 7-10; Sample final Final Exam, 1:30-4:15pm