dr. salih yurttas - yurttas@cs.tamu.edu
programming languages: design principles, implementation constructs
programming languages

  1. programming language paradigms
    1. why, how, and what to study
    2. abstraction
    3. translation
    4. programming develeopment environments [ ide ]

  2. programming language syntax
    1. specifying syntax: regular expressions and context-free grammars
    2. recognizing syntax: scanners and parsers
    3. theoretical foundations

  3. names, scopes, and binding
    1. binding time
    2. object lifetime and storage management
    3. scope rules
    4. the binding of referencing environments
    5. overloading and related concepts
    6. namespace problems

  4. control flow
    1. expression evaluation
    2. structured and unstructured flow
    3. sequencing
    4. selection
    5. iteration
    6. recursion
    7. nondeterminancy

  5. data types
    1. type systems
    2. type checking
    3. arrays
    4. records(structures) and variants(unions)
    5. strings
    6. pointers and recursive types
    7. lists
    8. files and i/o

  6. programming units: control abstraction
    1. stack layout
    2. calling sequences
    3. parameter passing
    4. generic units
    5. exception handling
    6. coroutines

  7. data abstraction and object-orientation
    1. object-oriented programming
    2. encapsulation and inheritance
    3. dynamic method binding - polymorphism
    4. multiple inheritance

  8. nonimperative programming models: functional and logical languages
    1. historical origins
    2. functional programming
    3. logic programming

  9. concurrency
    1. background and motivation
    2. concurrent programming fundamentals
    3. shared memory
    4. message passing

  10. special purpose languages
    1. shell
    2. postscript
    3. sql
    4. tex, latex
    5. perl, python, ruby
    6. tcl/tk
    7. html, dhtml, xhtml, xml, css, xsl
    8. javascript


computer science | texas a&m university

Valid XHTML 1.0 Transitional