SENG6220

Programming Languages and Paradigms

10 Units

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.

Faculty Faculty of Engineering and Built Environment
School School of Electrical Engineering and Computing
Availability

Not currently offered

Learning Outcomes

On successful completion of this 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.
Requisites
  • 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 *
  • Written Assignment: Written Programming Assignments (3)
  • Written Assignment: Review

* This assessment has a compulsory requirement.

Contact Hours Not currently offered
Compulsory Requirements
  • Course Assessment Requirements: 1. Formal Examination: Minimum Grade / Mark Requirement - Students must obtain a specified minimum grade / mark in this assessment item to pass the course. (Students must obtain 40% in the final exam to pass the course.)
Timetable 2017 Course Timetables for SENG6220
Got a question?

Contact us for advice on how to apply, enrol, or for more information.

Ready to start?

Once you’ve read our Application guide you’re ready to apply