Programming languages are studies from the Theoretical viewpoint. The goal is deeper understanding of the design and translation of computer languages. Topics include compilation, automata and formal languages, computability by Turing machines and recursive functions, uncomputability, data types, data structures, binding scope, control mechanisms, conversions, storage management, reliability, portability,modularity, documentation, implementation methods and language extensibility.
Prerequisite: CPSC 246 (3 credits)
This course and its outcomes support the Computing Learning Outcomes of Problem Solving and Critical Thinking (PS&CT) and Communication and Interpersonal Skills (C&IS). These Computing Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking, Quantitative Reasoning, Effective Communication and Whole Personality.
Learning Outcomes | Assessed Course Objectives |
---|---|
PS & CT a. Formulate project requirements and alternative solutions appropriate to the computing problems | 1. Analyze the semantic differences of variables, data types, expressions, assignment statements, control structures, subprograms, data abstraction, concurrency, and exception handling in diverse programming language paradigms |
PS & CT c. Perform critical analyses of the impacts of decisions based on mathematics | 2. Identify and use methods for describing the syntax and semantics of a programming language. |
C & IS b. Use written, oral, and electronic communication to convey technical information effectively | 3. Give an oral presentation to convey programming language features |
C & IS d. Work cooperatively in teams and with others | 4. Work in teams on a programming language project. |
Additional Course Objectives include:
The student will be able to: