Available in 2024
Course code

SENG2200

Units

10 units

Level

2000 level

Course handbook

Description

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.


Availability2024 Course Timetables

Callaghan

  • Semester 1 - 2024

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 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
  1. pointers
  2. activation records
  3. method tables
  4. memory allocation/de-allocation and garbage collection
  5. 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.
  1. list processing
  2. functional languages
  3. declarative languages.

Assumed knowledge

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


Assessment items

Written Assignment: Assignment 1

Written Assignment: Assignment 2

Written Assignment: Assignment 3

Quiz: Quiz

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


Contact hours

Semester 1 - 2024 - Callaghan

Computer Lab-1
  • Face to Face On Campus 2 hour(s) per week(s) for 13 week(s) starting in week 1
Lecture-1
  • Face to Face On Campus 2 hour(s) per week(s) for 13 week(s) starting in week 1

Course outline