SENG6220
10 units
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:
- 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
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.
The University of Newcastle acknowledges the traditional custodians of the lands within our footprint areas: Awabakal, Darkinjung, Biripai, Worimi, Wonnarua, and Eora Nations. We also pay respect to the wisdom of our Elders past and present.