George Mason University
DEPARTMENT OF COMPUTER SCIENCE

CS330 - Formal Methods and Models - Spring, 2002

Section 3: MW 1:30 - 2:45 p.m., Robinson B113


Dr. Beverly Jamison
bjamison@cs.gmu.edu
Office: ST2-435
Office Hours: M 12:30-1:15 p.m.

Graduate Teaching Assistant:   Karim Ragab
kragab@gmu.edu
Office Hours: W 4-5:30pm STII-365

SATURDAY STUDY SESSIONS will be held in Robinson A248

April 20 10:00-12:00 April 27 12:00-2:00 May 4 10:00-12:00

Prerequisites | Description | Text | Assignments | Grading



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



DESCRIPTION :

This course is an introduction to two kinds of formal systems: logics and languages. Each of these areas is crucial to a computer science education and each of them leads directly to important computing applications. Various systems of logic and automatic reasoning are currently used in artificial intelligence, database theory and software engineering. The study of formal languages underlies important aspects of compilers and other language processing systems, as well as the theory of computation. 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 in Prolog and Lex provide practical experience with some course issues.



TEXT:

The course text is called Logic and Language Models for Computer Science , by Hamburger and Richards and published by Prentice Hall. It should be available in the campus bookstore before classes start.



ASSIGNMENTS:

  Week  Chapters    		Topic
  ====  ========                =====

  1-2	2, 3		Introduction.  Propositional Logic.  Proofs.
  3-4   4, 5		Predicate Logic.  Logic applied to Mathematics.
  5-6			Logic applied to Computer Science
	7		  - Prolog: A Logic Programming Language
	6		  - Proving Correctness of Programs.

   7	         -----  REVIEW & EXAM #1  -----

   8    8               Modeling Language
  9-10  9		Diagrams, Automata, Equivalences and Limitations
 11-12  10, 11          Representing Regular Languages; Lex
  12    12		Context-Free Grammars and Applications
  13    13              Pushdown Automata and Parsing Strategy
  14    14              Turing Machines and Solvability



GRADING :

		Homework and Quizzes	30%
		Programs		20%
		Midterm Exam            20%
		Final Exam		30%

There will be two programming assignments, one in Lex and one in Prolog. Due dates will fall in the second half of the semester; each will allow two or three weeks.

Homework will be assigned and will be important for your understanding. Typically instead of having it graded, there will be a quiz on the same subject matter, on the day when the homework is to be completed. These quizzes may not be announced. The final will cover the whole course, but will emphasize the material studied after the midterm exam, for equal overall coverage.

All testing is closed book, but you may use one sheet of notes (both sides, 8.5 x 11 inches) on the midterm and two sheets on the final. NO COPYING is allowed. That means no photocopying of anything, even the textbook, though you may write out material from it verbatim. It also means no copying of anyone else's notes, even by hand. Creating these notes is part of the exam process and these rules about it are subject to the GMU Honor Code .

The programs in this course are assigned to you as an individual. You are encouraged to study with others and to assist each other in understanding the subject matter. You may also discuss problems and programs, but in the end, the work you submit must be your own. There is no point to submitting things you have copied and don't understand. Moreover, it is in violation of the GMU Honor Code and the Computer Science Department Honor Code Policy for Programming Projects to do so.

Submit work on the due date. If you must be away, but can email your work to the TA in a form convenient for the TA, do so. If you inform me beforehand that you will be late, it may possible to be graded on the basis of full credit. Otherwise, lateness will be penalized. Work will generally be collected at the start of class, so please do not miss class or arrive very late on the day that programs are due.

Back to the top.