Assistants:
grader for this section -
Venkateshwar Chintakunta (vchintak-at-gmu.edu)
Bahman Pedrood (bpedrood-at-gmu.edu)
Anzal Khan (akhan62-at-gmu.edu)
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/cs330s19.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 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 | Midterm review | Quiz 5 (Ch 6) | |
week 7 | Mar 5 | Midterm covers material from chapters 1-6; Sample midterm | Midterm |
Mar 7 | |||
week 8 | Mar 12 | No class | Spring Break |
Mar 14 | No class | ||
week 9 | Mar 19 | 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 21 | |||
week 10 | Mar 26 | Regular Expressions; Regular Grammars, Sections 8.4, 8.6, 8.7 | Quiz 7 (Langs), HW 8.8, 8.9, 8.11, 8.12 |
Mar 28 | |||
week 11 | Apr 2 | Regular Grammar Conversions, Sections 8.8,8.9 | Quiz 8 (REs/RGs), HW 8.14, 8.15 |
Apr 4 | |||
week 12 | Apr 9 | Finite Automata, Sections 9.1-9.4,9.8 | Quiz 9 (RGs), HW 9.4, 9.8, 9.16a, 9.17 |
Apr 11 | |||
week 13 | Apr 16 | Nondeterministic Finite Automata; Properties of Regular Languages, Sections 9.5-9.7 | Quiz 10 (DFAs), HW 9.5, 9.6, 9.25 |
Apr 18 | |||
week 14 | Apr 23 | Context-Free Grammars, Sections 10.1-10.4 | Quiz 11 (NFAs), HW 10.1, 10.2, 10.7 |
Apr 25 | |||
week 15 | Apr 30 | Pushdown Automata; Turing Machines, Sections 11.1,11.2,12.2 | Quiz 12 (Ch 10) |
May 2 | Final review | ||
-- | May 9 | Final covers material from chapters 7-11; Sample final | Final Exam, 7:30-10:15am |