Assistant: Bahman Pedrood (bpedrood-at-gmu.edu)
Hours: 2:00-3:00pm Wed/Fri, 4201 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/cs330m19.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 | Jun 4 | Introduction; Mathematical Preliminaries, Sections 1.1-1.6; Propositional Logic, Sections 2.1-2.6 | HW 2.4, 2.6, 2.7, 2.10a, 2.11 |
Jun 6 | Proofs by Deduction, Sections 3.1-3.7 | HW 3.8, 3.9, 3.11 (2nd-6th) | |
week 2 | Jun 11 | Predicate Logic, Sections 4.1-4.5 | Quiz 1 (Ch 2), HW 4.1, 4.3, 4.7, 4.8a,b |
Jun 13 | Mathematical Induction, Sections 5.1,5.2,5.4,5.5 | Quiz 2 (Ch 3), HW 5.2-5.4, 5.6 | |
week 3 | Jun 18 | Program Verification, Sections 6.1-6.4 | Quiz 3 (Ch 4), HW 6.2-6.6 |
Jun 20 | Midterm review | Quiz 4 (Ch 5, 6) | |
week 4 | Jun 25 | Midterm covers material from chapters 1-6; Sample midterm | Midterm |
Jun 27 | 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 | |
week 5 | Jul 2 | Regular Expressions; Regular Grammars, Sections 8.4, 8.6, 8.7 | HW 8.8, 8.9, 8.11, 8.12 |
Jul 4 | No class | Independence Day | |
week 6 | Jul 9 | Regular Grammar Conversions, Sections 8.8,8.9 | Quiz 5 (Langs), HW 8.14, 8.15 |
Jul 11 | Finite Automata, Sections 9.1-9.4,9.8 | Quiz 6 (REs/RGs), HW 9.4, 9.8, 9.16a, 9.17 | |
week 7 | Jul 16 | Nondeterministic Finite Automata; Properties of Regular Languages, Sections 9.5-9.7 | Quiz 7 (RGs), HW 9.5, 9.6, 9.25 |
Jul 18 | Context-Free Grammars, Sections 10.1-10.4 | Quiz 8 (DFAs), HW 10.1, 10.2, 10.7 | |
week 8 | Jul 23 | Pushdown Automata; Turing Machines, Sections 11.1,11.2,12.2; Final review | Quiz 9 (RLs, CFGs) |
Jul 25 | Final covers material from chapters 7-11; Sample final | Final Exam, 1:30-4:15pm |