Course Title: Advanced Topics in Software Engineering

Part A: Course Overview

Course Title: Advanced Topics in Software Engineering

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

ISYS2404

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2008,
Sem 2 2009

ISYS2405

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2008,
Sem 2 2009

Course Coordinator: Vacant

Course Coordinator Phone: +61 3 9925 2348

Course Coordinator Email: do-not-reply@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

You may not enrol in this course unless it is explicitly listed in your program summary, and you have confirmed with your program coordinator that it is an appropriate choice for your study plan.

This course is designed to be an elective for Honours students. It is also open to undergraduate and masters students who have completed:

with either Distinction or High Distinction. Ideally all three of the above should have been completed. It is desirable that students have completed:

  • Operating Systems, Theory and Practice;
  • Familiarity with UNIX/POSIX/Linux systems, the ability to build POSIX/C packages from source code using make and related tools; shell scripts, C programming;

or be willing to acquire such knowledge in their own time.

Disclaimer: This seminar-mode course will run only if there are sufficient enrolments by the beginning of the relevant semester. If it is cancelled, you will be advised to choose a suitable alternative course.


Course Description

Note: This course is not currently available. There are no plans to reintroduce it in the near future, as well.

Rapid changes in software engineering practices and advances in underlying hardware have resulted in exponential growth in the scope, scale and complexity of software systems over the last 20 years. Parallel systems and systems created through composition have added a new dimension to this complexity. Large software systems today can contain many concurrent components interacting in complex ways. New techniques have to be developed to ensure that the interaction between components do not violate overriding goals and constraints. Constraints can include e.g. synchronisation, timing and semantic constraints.
This is a reading course where students are expected to survey a number of recent papers relating to the topic of software engineering for large scale systems. Students are expected to critically analyze papers and make regular presentations. The first few weeks of the course will highlight topics in software architecture, modelling of concurrency systems and parallel computing. Students will be allocated topics within the above areas of interest and will be expected to work closely with one or more teaching/research staff.


Objectives/Learning Outcomes/Capability Development

A primary objective of this course is to prepare prospective postgraduate research students for independent research under supervision in this and related areas. Therefore on succesfully complete this course, you will have demonstrated the ability to conduct research assistance under the direction of a researcher with a high level of independence to:

  • identify and present research problems related to software engineering of large scale systems;
  • critically analyze research done by others in solving such problems;
  • learn and apply existing research techniques and tools to new problems;
  • abstract a real problem into main logical components;
  • present logical arguments in a coherent way;
  • propose new ways of modifying, extending or combining existing methodologies;



Overview of Learning Activities

This course will be conducted in seminar mode with
• regular meetings every week
• external researchers providing different perspectives.
• students leading discussions in specified areas based on pre-assigned reading tasks.
• Written critique of reading materials


Overview of Learning Resources

Resources are recommended and reference text books and academic research papers. For example, the following text has been used:
Concurrency: State Models and Java Programs,Jeff Magee, Jeff Kramer, second edition (2006). Wiley.
Reference manuals for related tools and techniques may be relevant, e.g., the Message Passing Interface (MPI) for parallel programming.

Consult the current part B course guide for up to date requirements in your semester.


Overview of Assessment

The assessment for this course includes assessment by the teaching staff and may include peer assessment by other students. Some marks will be allocated for regular progress. Items for submission/assessment include an assignment, presentations, demonstrations, short reports, work log, and participation in class discussions.

See Assessment Tasks (part B course guide for this Teaching Period) for assessment details, including deadlines, weightings, and hurdle requirements. For standard assessment information relating to Computer Science and IT courses see: http://www.rmit.edu.au/compsci/cgi