Programming Languages and Paradigms

University of Newcastle

Course Description

  • Course Name

    Programming Languages and Paradigms

  • Host University

    University of Newcastle

  • Location

    Newcastle, Australia

  • Area of Study

    Computer Engineering, Systems Engineering

  • Language Level

    Taught In English

  • Prerequisites

    SENG1110 Introduction to Software Engineering 1 and SENG1120 Introduction to Software Engineering 2.

  • Course Level Recommendations

    Upper

    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • Host University Units

    10
  • Recommended U.S. Semester Credits
    3 - 4
  • Recommended U.S. Quarter Units
    4 - 6
  • Overview

    This course places the programming from year 1 into its correct theoretical context with the following topics:
    - Elementary Language Theory and Specification.
    - Low level implementation of language mechanisms (e.g. pointers, parameters, activation records and method tables).
    - Implementation of software structures in both Java and C++.
    - A comparison of object models in different object-oriented languages.
    - An introduction to non-object programming paradigms, e.g. list processing, functional and declarative languages.
    LEARNING OUTCOMES
    1. Use Elementary Language Theory and Specification to describe language features
    2. Program using advanced features of object-oriented languages
    3. Compare the low level implementation of language mechanisms, such as pointers and references, activation records, method tables, memory allocation/de-allocation and garbage collection, thread activation and communication
    4. Compare and analyse alternate parameter passing mechanisms
    5. Compare the object models in different object-oriented languages
    6. Describe and evaluate advanced programming language features
    7. Demonstrate an introductory understanding of concurrency and inter-process communication.
    8. Demonstrate an introductory understanding of the area of machine intelligence
    9. Describe the operation of non-object programming paradigms, eg. List processing, functional languages, and declarative languages.
    CONTENT
    This course places the programming from year 1 into its correct theoretical context with the following topics:
    Elementary Language Theory and Specification
    A second object-oriented language
    Low level implementation of language mechanisms
    pointers
    activation records
    method tables
    memory allocation/de-allocation and garbage collection
    process and thread activation and communication
    Parameter passing mechanisms
    A comparison of object models in different object-oriented languages.
    An introduction to advanced programming language features.
    An introduction to concurrency and inter-process communication.
    An introduction to non-object programming paradigms, eg.
    list processing
    functional languages
    declarative languages.

Course Disclaimer

Courses and course hours of instruction are subject to change.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.