Programming Languages and Paradigms

Course code SENG2200Units 10Level 2000Faculty of Engineering and Built EnvironmentSchool of Electrical Engineering and Computer Science

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 (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 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
-- 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)COMP2200
TransitionStudents may not gain credit for both COMP2200 and SENG2200.
BE(Software) and B CompSci students who have not completed COMP2200 prior to 2011 must enrol in SENG2200.
Industrial Experience0
Assumed KnowledgeSENG1110 Introduction to Software Engineering 1 and SENG1120 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 SENG2200