CSC 221 - 3 Semester Hours
Languages and Machines
This course provides students with a broad perspective of computer science and acquaints them with formal systems on which modern computer science is based. Students study the structure and interpretation of three classes of abstract computing machines and their equivalent languages.
There is a need to provide students with a broad perspective of computer science, which they do not derive from any other single computer science course. There is a need to acquaint students with various formal systems on which modern computer science is based. One section of this class will be taught each semester to classes of size thirty-two. This course is required for CS majors.
Upon successful completion of this course, students will be able to:
Assigned readings, homework, papers, and projects.
No additional resources needed.
J. Brookshear. Theory of Computation: Formal Languages, Automata, and Complexity. Benjamin/Cummings, New York, 1989.
D.A. Cohen. Introduction to Computer Theory. John Wiley and Sons, New York, 1996.
R. Graham, D. Knuth, and O. Patashnick. Concrete Mathematics. Addison-Wesley, Reading, MA, 1989.
W.K. Grassmann and J.-P. Tremblay. Logic and Discrete Mathematics: A Computer Science Perspective. Prentice-Hall, New Jersey, 1996.
J.E. Hopcroft and J.D. Ullman. Introduction to Automata Theory, Languages, and Computation.. Addison Wesley, New York, 1979.
D.C. Kozen. Automata and Computability. Springer-Verlag, New York, 1997.
H.R. Lewis and C.H. Papadimitriou. Elements of the Theory of Computation (2nd ed.). Prentice-Hall, New York, 1998.
J.C. Martin Introduction to Languages and the Theory of Computation (2nd ed). Mc-Graw Hill, New York, 1997.
T.A. Sudkamp. Languages and Machines: An Introduction to the Theory of Computer Science (2nd ed). Addison-Wesley, Massachusetts, 1997.