CSCI-C 311 Programming Languages
3-4 credits
- Prerequisite(s): CSCI-C 310, CSCI-C 343, or CSCI 36200
- Delivery: On-Campus
- Semesters offered: Spring (Check the schedule to confirm.)
Description
A systematic approach to programming languages. Relationships among languages, properties, and features of languages; and the computer environment necessary to use languages.
Learning Outcomes
- Explain the primary components and features inherent to any programming language. CS 2
- Classify programming languages based on their paradigms, such as procedural, object-oriented, functional, and logic-based. CS 2
- Compare several programming languages based on criteria like expressiveness, efficiency, readability, and writability, and analyze the trade-offs of using one language vs. another for specific tasks or domains. CS 2
- Distinguish between the syntax and semantics of a programming language. CS 2
- Construct formal definitions for the syntax of a programming language using grammars and other syntactical notations. CS 2
- Define a programming language's denotational and operational semantics, and explain their significance in language design and interpretation. CS 2
- Assess how a programming language's design influences its ease of use, maintainability, and portability. CS 2
- Evaluate how different programming languages shape problem-solving approaches and software architecture decisions. CS 2
Policies and Procedures
Please be aware of the following linked policies and procedures. Note that in individual courses instructors will have stipulations specific to their course.