Enter Search Request 




Number of documents to retrieve
Sort type
WCU is a University of North Carolina Campus
 
CS 352 Syllabus

Organization of Programming Languages

Revised: August 2008 (Bill Kreahling)

Course Description

Syntax, semantics, language design and translation. Language models: imperative, functional, logic, and object-oriented. Language ideas: data aggregates, procedural abstraction, data abstraction. Example languages may be chosen from C, Scheme, Prolog, Smalltalk, C++, Ada, Perl, Php.

3 credit hours, offered fall semester, required for major and elective for minor, prerequisite is CS 151.

Text

Required: Robert W. Sebesta, Concepts of Programming Languages, seventh edition, Addison Wesley, 2005

Grading Procedure

Grading procedures and factors influencing course grade are left to the discretion of individual instructors, subject to general university policy.

Attendance Policy

Attendance policy is left to the discretion of individual instructors, subject to general university policy.

Course Outline

  • Introduction
    Why study programming languages? Language evaluation and design criteria
  • A Brief History of Programming Languages
    A brief discussion of the evolution of programming languages, focusing on the major design elements introduced by each.
  • C Programming Language
    Discussion of the C programming languages, discussion of similarities and differences between C and Java. Arrays, strings, pointers, preprocessing, compilers, linkers, loaders.
  • Language Syntax and Semantics
    Lexical analysis, parsing, recursive descent parsing, grammars, attribute grammars, ambiguity, precendence and associativity.
  • Naming, Binding, Scope and Related Topics
    Naming conventions, type checking, variable scope, type combatability, and lifetime.
  • Functional Languages and Scheme
    A brief introduction to the functional languages, in particular the Scheme programming language.
  • Data Types and Perl
    Primitive types, character types vs Strings; ordinal types, arrays (in depth); row-major vs column major; pointers, references, records, and unions. An introduction to Perl (time permitting).
  • Expressions and Exceptions
    Operators, operands, overloading, type conversion, and exception handling.
  • Logic Languages and Prolog
    A brief introduction to Logical based programming languages, in particular the Prolog programming language.
Copyright 2009 by Western Carolina University       •     Cullowhee. NC 28723       •      Contact WCU
Maintained by the Office of Web Services       •      Map & Directions       •      Mapquest It       •      Emergency Information       •      Text-Only