C S 330

Download as PDF

Concepts of Programming Languages

Computer Science College of Computational, Mathematical, & Physical Sciences

Course Description

Principles and concepts characterizing high-level computer programming languages, process and data abstration, encapsulation, inheritance, functional programming, logic programming, scanners, and parsers.

When Taught

Fall and Winter

Min

3

Fixed/Max

3

Fixed

3

Fixed

0

Title

Language Design and Vocabulary

Learning Outcome

Apply the formal vocabulary of programming language design, syntax, and semantics to evaluate how different languages structure logic and data. This foundational study is intellectually enlarging, as it reveals the underlying principles and orderly laws that govern all computational expression.

Title

Non-Imperative Paradigms

Learning Outcome

Write functional and logic-based programs using non-imperative language paradigms. Mastering these alternative ways of thinking is spiritually strengthening, as it encourages students to look beyond familiar habits and find elegant, diverse solutions to complex problems.

Title

Semantic Analysis

Learning Outcome

Analyze the behavior and execution models of various programming languages to understand how they manage state, scope, and memory. This rigorous technical investigation is character building, requiring the precision and mental discipline to understand exactly how a system will behave under specific conditions.

Title

Syntactic Structure

Learning Outcome

Define and implement the grammar and syntax rules for a custom language or DSL. This creative process is intellectually enlarging and provides a base for lifelong learning, equipping students with the tools to build their own specialized abstractions as technology evolves.

Title

Comparative Evaluation

Learning Outcome

Evaluate and justify the selection of a programming language for a specific task based on its strengths and limitations. Making these informed judgments is a form of stewardship, preparing students to use the most effective tools to provide meaningful service in their professional lives.