Course Information: Programming Languages

Computer Science Department
Course Competency Plan
COURSE: CpSc 376 Programming Languages

Course Description: Programming languages are studied from the view of users. Features of common computer languages are surveyed along with developments in newer languages. The goal is deeper understanding of computer languages. Topics include compilation, interpretation, data types, data structures, binding, scope, control mechanisms, conversions, storage management, reliability, portability, modularity, documentation, implementation methods, and language extensibility. Prerequisite: CpSc 150. (3 credits)

Course Outcomes: This course and its outcomes support the Computer Science Learning Outcomes of Problem Solving and Critical Thinking (PS&CT), Communication and Interpersonal Skills (C&IS), and Ethical and Professional Responsibilities (E&PR). These Computer Science Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.

This course engages students in the following high impact practice: writing-intensive, and collaborative assignments/projects >
DegreeProgram ObjectiveAssessed Course Objective
CS I.c. Examine and analyze alternative solutions to a problem 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
CS I.f. Determine correctness and efficiency of a system design and implementation 2. Identify and use methods for describing the syntax and semantics of a programming language.
CS II.b. Use written, oral, and electronic communication to convey technical information effectively. 3. Give an oral presentation to convey programming language features
CS II.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:

  1. Identify and use methods for describing the syntax and semantics of a programming language
  2. Write programs in programming languages other than the departmental core language
  3. Analyze programming languages and their features that can be utilized to ensure the security, privacy and integrity of data