Assistants:
Negar Nejatishahidin, nnejatis-at-gmu.edu (grader for this section)
Michael Crawshaw, mcrawsha-at-gmu.edu
Bahman Pedrood, bpedrood-at-gmu.edu
Chloe Andresol, candreso-at-gmu.edu (UTA)
Prerequisites:
CS211 and MATH125 (C or better in both)
Textbook:
Hamburger and Richards,
Logic and Language Models for Computer Science,
Third Edition
Webpage:
https://cs.gmu.edu/~iavramo2/classes/cs330s20.html
Piazza:
https://piazza.com/ for questions and discussion
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
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 20 | No class | |
Jan 22 | Introduction; Mathematical Preliminaries, Sections 1.1-1.6 | ||
week 2 | Jan 27 | Propositional Logic, Sections 2.1-2.6 | HW 2.4, 2.6, 2.7, 2.10a, 2.11 |
Jan 29 | |||
week 3 | Feb 3 | Proofs by Deduction, Sections 3.1-3.7 | Quiz 1 (Ch 2), HW 3.8, 3.9, 3.11 (2nd-6th) |
Feb 5 | |||
week 4 | Feb 10 | Predicate Logic, Sections 4.1-4.5 | Quiz 2 (Ch 3), HW 4.1, 4.3, 4.7, 4.8a,b |
Feb 12 | |||
week 5 | Feb 17 | Mathematical Induction, Sections 5.1,5.2,5.4,5.5 | Quiz 3 (Ch 4), HW 5.2-5.4, 5.6 |
Feb 19 | |||
week 6 | Feb 24 | Program Verification, Sections 6.1-6.4 | Quiz 4 (Ch 5), HW 6.2-6.6 |
Feb 26 | |||
week 7 | Mar 2 | Midterm review | Quiz 5 (Ch 6) |
Mar 4 | Midterm covers material from chapters 1-6; Sample midterm | Midterm | |
week 8 | Mar 9 | No class | Spring Break |
Mar 11 | No class | ||
week 9 | Mar 16 | No class | Spring Break |
Mar 18 | No class | ||
week 10 | Mar 23 | 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 25 | |||
week 11 | Mar 30 | Regular Expressions; Regular Grammars, Sections 8.4, 8.6, 8.7 | Quiz 6 (Langs), HW 8.8, 8.9, 8.11, 8.12 |
Apr 1 | |||
week 12 | Apr 6 | Regular Grammar Conversions, Sections 8.8,8.9 | Quiz 7 (REs/RGs), HW 8.14, 8.15 |
Apr 8 | |||
week 13 | Apr 13 | Finite Automata, Sections 9.1-9.4,9.8 | Quiz 8 (RGs), HW 9.4, 9.8, 9.16a, 9.17 |
Apr 15 | |||
week 14 | Apr 20 | Nondeterministic Finite Automata; Properties of Regular Languages, Sections 9.5-9.7 | Quiz 9 (DFAs), HW 9.5, 9.6, 9.25 |
Apr 22 | |||
week 15 | Apr 27 | Context-Free Grammars, Sections 10.1-10.4 | Quiz 10 (NFAs), HW 10.1, 10.2, 10.7 |
Apr 29 | |||
week 16 | May 4 | Pushdown Automata; Turing Machines, Sections 11.1,11.2,12.2 | Quiz 11 (Ch 10), HW 11.1, 11.4, 11.6, 11.9a (as an NPDA) |
May 6 | |||
week 17 | May 11 | Final review | Quiz 12 (Ch 11) |
-- | May 13 | Final covers material from chapters 7-11; Sample final | Final Exam, 1:30-4:15pm |