Not currently offered
Course code

SENG6220

Units

10 units

Level

6000 level

Course handbook

Description

This course places programming 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.


Availability

Not currently offered.

This Course was last offered in Semester 1 - 2020.


Learning outcomes

On successful completion of the course students will be able to:

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 programming into its correct theoretical context with the following topics:

  1. Elementary Language Theory and Specification
  2. A second object-oriented language
  3. Low level implementation of language mechanisms
  • pointers
  • activation records
  •  method tables
  •  memory allocation/de-allocation and garbage collection
  •  process and thread activation and communication

4.  Parameter passing mechanisms

5.  A comparison of object models in different object-oriented languages.

6.  An introduction to advanced programming language features.

7.  An introduction to concurrency and inter-process communication.

8.  An introduction to non-object programming paradigms, eg.

  •  list processing
  •   functional languages
  •   declarative languages.

Requisite

This course replaces COMP6200. If you have successfully completed COMP6200 you cannot enrol in this course.


Assumed knowledge

SENG6110 Introduction to Software Engineering 1 and SENG6120 Introduction to Software Engineering 2.


Assessment items

Quiz: Quiz - Class

Formal Examination: Examination: Formal
Compulsory Requirement: Pass requirement 40% - Must obtain 40% in this assessment item to pass the course.

Written Assignment: Written Programming Assignments (3)

Written Assignment: Review

Course outline

Course outline not yet available.