Course Coverage Assessment Report
Navigate this page:
Comments/Suggestions about Prerequisites and Co-requisites: General Comments/Suggestions about the Course: Learning Outcomes
of Science and Health
Department of Computer Science
Course Coverage Assessment Report
CS 3820: Programming Languages
Course Learning Outcome
How is topic Covered?
How is Knowledge accessed?
About Learning Outcome and/or Topics (please use additional sheets if necessary)
Language implementation: lexical elements,
syntax and semantics
; Language implementation methods; structure of a compiler.
Language categories: Imperative languages; Functional languages; Logic programming languages; Object-oriented programming languages.
Fundamental semantic issues of variables in an imperative language:
Attribute of variables;
issues of aliases
; Binding and binding times for variable attributes; classification of variables into categories (according to their binding times).
Type checking, strong typing, and type compatibility rules.
Scoping rules for names: static and dynamic; Referencing environment of a statement.
Named constants and variable initialization techniques.
L8, L9, L10, L11
Data types: Primitive data types;
character string types
; user-defined ordinal types; array types; record types; union types; pointer and reference types.
Expressions and assignment statements: arithmetic expressions;
operand evaluation order
; type conversions; logical expressions; conditional expressions; assignment statements; compound assignments;
; multiple assignments; mixed mode assignments.
L14, L15, L16
Control structures: Two-way selection, one-way selection, and multiple-way selection structures, Counter-controlled loops,
, user-located loop control mechanisms; Unconditional branching and guarded commands.
Subprograms: Fundamentals of subprograms; local referencing environments; Parameter-passing methods; Parameters that are subprogram names;
; Generic subprograms; User-defined overloaded operators; Coroutines.
Implementing subprograms: semantics of function call and return; side effects; and memory management.
Describing the elements of a programming language: Application with Java, PHP,
, C#, Objective C, Lua, . . ., etc.
L8 – L18
Describing the lexical elements of a programming language
Lexical elements of a programming language: character set, tokens, comments, rules for grouping characters into words, white spaces.
sets and regular expressions
Using regular expressions to specify the tokens of a programming language.
Language recognizers and scanners.
Describing the syntax of a programming language
Context Free Grammars (Bakus Naur Forms), Extended Bakus Naur Forms and derivations.
Errors in Context free grammars: useless symbols and ambiguous grammars
Operator precedence and associativity of operators.
Parsing strategies: top-down parsing and bottom-up parsing.
Recursive descent parsers.
Comments/Suggestions about Prerequisites and Co-requisites:
General Comments/Suggestions about the Course:
I am able to describe the major programming domains.
I am able to describe the different programming methodologies.
I am able to describe the major programming language implementation methods.
I am able to use regular expressions to specify the tokens of a programming language.
I am able to specify simple language recognizers of the tokens of programming languages.
I am able to use context free grammars to specify the syntactic units of programming languages
I am able to specify language recognizers for simple syntactic units of programming languages.
I am able to specify the attributes of a variable.
I am able to specify the binding and the binding time of attributes to programming language entities.
I am able to evaluate the static and the dynamic scopes of variables.
I am able to specify the referencing environments of statements.
I am able to describe the data types used in most programming languages.
I am able to specify the memory layout of a C/C++ program.
I am able to evaluate arithmetic expressions, given the precedence of the operators and the associativity rules.
I am able to evaluate boolean expressions (using short circuit evaluation).
I am able to specify assignments (including compound assignments).
I am able to specify the different control structures in one or more programming languages.
I am able to specify and call subprograms in one or more programming languages.
~abet -> CS115 Object-Oriented Programming I 2 Credit Hours
~abet -> CS411 Computer Graphics 3 Credit Hours (3 lecture hours)
~abet -> CS480 Artificial Intelligence Planning and Control 3 Credit Hours
Share with your friends:
The database is protected by copyright ©ininet.org 2022