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.
- Classify programming languages based on their paradigms, such as procedural, object-oriented, functional, and logic-based.
- 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.
- Distinguish between the syntax and semantics of a programming language.
- Construct formal definitions for the syntax of a programming language using grammars and other syntactical notations.
- Define a programming language's denotational and operational semantics, and explain their significance in language design and interpretation.
- Assess how a programming language's design influences its ease of use, maintainability, and portability.
- Evaluate how different programming languages shape problem-solving approaches and software architecture decisions.
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.