Course Coverage Assessment Report



Download 28.07 Kb.
Date conversion28.01.2017
Size28.07 Kb.
College of Science and Health

Department of Computer Science

Course Coverage Assessment Report
Course: ___CS 3820: Programming Languages_____________________________________________________________________________

Instructor: __________________________________________________________________________________________________________

Semester: _________ __________________________________________________________________________________________________

Topics

Course Learning Outcome

How is topic Covered?


How is Knowledge accessed?

Comments/Suggestions

About Learning Outcome and/or Topics (please use additional sheets if necessary)




Lecture

Hands-On

HW

Test

Lab

Project




  1. Programming/Application domains;

L1






















  1. Language implementation: lexical elements, syntax and semantics; Language implementation methods; structure of a compiler.




L3






















  1. Language categories: Imperative languages; Functional languages; Logic programming languages; Object-oriented programming languages.

L2






















  1. 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






















  1. Data types: Primitive data types; character string types; user-defined ordinal types; array types; record types; union types; pointer and reference types.




L12






















  1. Expressions and assignment statements: arithmetic expressions; operand evaluation order; type conversions; logical expressions; conditional expressions; assignment statements; compound assignments; conditional target; multiple assignments; mixed mode assignments.

L14, L15, L16























  1. Control structures: Two-way selection, one-way selection, and multiple-way selection structures, Counter-controlled loops, logically-controlled loops, user-located loop control mechanisms; Unconditional branching and guarded commands.

L17






















  1. Subprograms: Fundamentals of subprograms; local referencing environments; Parameter-passing methods; Parameters that are subprogram names; Overloaded subprograms; Generic subprograms; User-defined overloaded operators; Coroutines.

L18






















  1. Implementing subprograms: semantics of function call and return; side effects; and memory management.

L13






















  1. Describing the elements of a programming language: Application with Java, PHP, JavaScript, C#, Objective C, Lua, . . ., etc.

L8 – L18






















  1. 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.

  • Regular sets and regular expressions

  • Using regular expressions to specify the tokens of a programming language.

  • Language recognizers and scanners.

L4, L5






















  1. 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.

L6, L7






















Comments/Suggestions about Prerequisites and Co-requisites:

General Comments/Suggestions about the Course:

Learning Outcomes


  1. I am able to describe the major programming domains.

  2. I am able to describe the different programming methodologies.

  3. I am able to describe the major programming language implementation methods.

  4. I am able to use regular expressions to specify the tokens of a programming language.

  5. I am able to specify simple language recognizers of the tokens of programming languages.

  6. I am able to use context free grammars to specify the syntactic units of programming languages

  7. I am able to specify language recognizers for simple syntactic units of programming languages.

  8. I am able to specify the attributes of a variable.

  9. I am able to specify the binding and the binding time of attributes to programming language entities.

  10. I am able to evaluate the static and the dynamic scopes of variables.

  11. I am able to specify the referencing environments of statements.

  12. I am able to describe the data types used in most programming languages.

  13. I am able to specify the memory layout of a C/C++ program.

  14. I am able to evaluate arithmetic expressions, given the precedence of the operators and the associativity rules.

  15. I am able to evaluate boolean expressions (using short circuit evaluation).

  16. I am able to specify assignments (including compound assignments).

  17. I am able to specify the different control structures in one or more programming languages.

  18. I am able to specify and call subprograms in one or more programming languages.


The database is protected by copyright ©ininet.org 2016
send message

    Main page