Programming Languages and Paradigms

Course code SENG6220Units 10Level 6000Faculty of Engineering and Built EnvironmentSchool of Electrical Engineering and Computer Science

This course places programming into its correct theoretical context with the following topics:
- Elementary Language Theory and Specification.
- Low level implementation of language mechanisms (eg 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, eg. list processing, functional and declarative languages.

Available in 2015

Callaghan CampusSemester 1
Previously offered in 2014
ObjectivesAt the end of this course students will have gained knowledge of:
- Language Theory and Specification.
- Low level implementation of language mechanisms.
- Detailed knowledge of at least two object-oriented languages.
- Object models in different object-oriented languages.
- An introductory knowledge of concurrency.
- Introduction to Artificial Intelligence
- Non-object programming paradigms.
ContentThis 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
- 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.
-- list processing
-- functional languages
-- declarative languages.
Replacing Course(s)COMP6200
TransitionStudents may not gain credit for both COMP6200 and SENG6220.
Industrial Experience0
Assumed KnowledgeSENG6110 Introduction to Software Engineering 1 and SENG6120 Introduction to Software Engineering 2.
Modes of DeliveryInternal Mode
Teaching MethodsLecture
Workshop
Assessment Items
Essays / Written Assignments3 or 4 Programming assignments worth 40% of the final grade.
Examination: FormalA final examination according to the University Examination Timetable
Quiz - ClassMid-term exam as per course outline worth either 10% or 20% or the final grade.
Contact HoursLecture: for 3 hour(s) per Week for Full Term
Workshop: for 2 hour(s) per Week for Full Term
Compulsory Components
Compulsory Course ComponentStudents must obtain 40% in the final exam to pass the course.
Student achieving >25% but less that 40% will be offered an alternate assessment if, and only if, all other assessment items have been submitted.
Students obtaining <25% will not be offered an alternate assessment, and will fail the course, unless students have submitted Adverse Circumstances in accordance with the Adverse Circumstances Policy.
Timetables2015 Course Timetables for SENG6220