CS 310

Prerequisites

Mastery of college algebra. Intermediate Java programming in CS 111.

Learning Outcomes

Upon successful completion of this course, students will understand the imperative paradigm (viz. procedural languages), declarative paradigm (viz. functional and logical languages), structured paradigm (viz. block and object-orientation), context-free grammars, Backus-Naur form, syntax derivations, operational semantics, denotational semantics, axiomatic semantics, finite-state automata, regular expressions, recursive descent parsers, language translation, declarations, expressions, assignments, data types, control structures, procedures, and abstract data types. Students will be able to identify these concepts in different languages and apply them to practical tasks.

Textbook

The required text is Concepts of Programming Languages 11th Edition by Robert Sebesta ISBN 978-0-13-394302-3 for reading, reference, and assignment. The older 10th edition ISBN 978-0-13-139531-2 is acceptable. Because most of the out-of-class work will be completed in teams, it is reasonable for team members to share a copy or two as long as everyone has equal access.