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 Computer Science
Availability Semester 1 - 2015 (Callaghan)
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
Replacing Course(s) This course replaces the following course(s): COMP6200. Students who have successfully completed COMP6200 are not eligible to enrol in SENG6220.
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
Contact Hours
  • Lecture: for 3 hour(s) per Week for Full Term
  • Workshop: for 2 hour(s) per Week for Full Term
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 2015 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