Students

COMP4060 – Advanced Software Engineering

2020 – Session 1, Weekday attendance, North Ryde

Coronavirus (COVID-19) Update

Due to the Coronavirus (COVID-19) pandemic, any references to assessment tasks and on-campus delivery may no longer be up-to-date on this page.

Students should consult iLearn for revised unit information.

Find out more about the Coronavirus (COVID-19) and potential impacts on staff and students

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff
Michael Johnson
Credit points Credit points
10
Prerequisites Prerequisites
200cp at 1000 level or above including (COMP2050 or COMP255) and (COMP3010 or COMP333)
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit integrates prior learning in a specialist area of engineering with problem solving, emerging technology and aspects of engineering application, technical reporting and self-management to prepare students to work at a professional capacity. The unit aims to address the application of fundamental principles and methods at an advanced level in the context of standards and practices, modelling, analysis, design and practical implementation. The unit also develops skills in the critical evaluation of information, software and sources of error, and experimental methods. Learning will be achieved using case studies, laboratories, presentations, group work and traditional lecture format.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Regularly reevaluate your own skill-base with respect to the ACS-EA Joint Board on Software Engineering competencies, in addition to practising detailed technical skills in each of the competency areas
  • ULO2: Describe and critically analyse the state of the profession of software engineering in Australia, and in less detail internationally, including significant industrial stakeholders, the roles of professional societies, legislative support for professionals, and the nature of professionalism
  • ULO3: Demonstrate mastery of selected advanced concepts in software engineering, including topical issues and current research (more specific outcomes are negotiated individually for chosen advanced concepts)
  • ULO4: Effectively practise self-learning, time-management, and project management, individually and in a group setting.

Assessment Tasks

Coronavirus (COVID-19) Update

Assessment details are no longer provided here as a result of changes due to the Coronavirus (COVID-19) pandemic.

Students should consult iLearn for revised unit information.

Find out more about the Coronavirus (COVID-19) and potential impacts on staff and students

General Assessment Information

Note that each student is expected to complete satisfactorily all three components of the assessment.  This is a highly integrated unit and attempts to merely accumulate marks in a component without utilising material from the others would be destined to fail.

This unit, like the workplace you will soon be in, requires active involvement and, like the workplace, you will be being judged throughout the semester.

There will be regular feedback during the semester, so students should have an idea of how they are progressing (and if you don't have a clear idea, be sure to ask!).

But it's really important to realise that this unit, the culminating unit in software engineering linking your degree to the workplace, is not like many (probably any) of the units you have studied before.  You need to attend all classes and be actively involved.  You need to work between classes and prepare for the following week's classes.  You need to plan and manage carefully your own individual tasks.  And you need to take all this seriously and complete it in a business like and conscientious manner.

It goes without saying, but I'll say it anyway, that there are no recorded lectures or web-based Powerpoint presentations for you to use if you miss things.  The unit has lectures, but the unit is about you and your participation is essential.

 

Late Submissions

As with all software engineering, timely submission is essential.  Late submissions will not be accepted. If you are seriously affected by unavoidable and unforeseeable circumstances, you should email the unit convenor as early as possible, and certainly before the due date of piece of work.  In any case, be sure to submit by the due date whatever work you have available for submission.  (If after application for for Special Consideration as a result of  unavoidable disruption to studies the university deems you to be eligible to complete further work on the assessment item you may be given an opportunity to add to your submission or you may be given a substitute task.)

Written submissions

Software engineering frequently requires written reports, and such reports need to be, as far as possible, of professional quality.  Students need to strive to present work which is written clearly, with good grammar, correct word usage, correct punctuation and correct spelling.  Wherever required, all written work must be properly referenced and conform to standard stylistic conventions.

 

Delivery and Resources

Coronavirus (COVID-19) Update

Any references to on-campus delivery below may no longer be relevant due to COVID-19.

Please check here for updated delivery information: https://ask.mq.edu.au/account/pub/display/unit_status

This unit emphasises a dynamic combination of lecture, practical and laboratory work, group and individual assigned task work, and a high degree of self-learning.  The overall goal is to be a "finishing school" for software engineers, and the unit includes highly technical work as well as deep reflection on the nature of the discipline and its state in Australia and internationally.

Research "in the library" as to the state of the art in software engineering will be required as the student develops his or her own understanding in identified areas as part of the assigned task work.

There are no set texts, but a wide range of sources will need to be consulted and reading lists developed.

This unit is different each year because the content is tailored to the individual experiences of each of the students that arise from their particular choices of electives in the software engineering program and any work experience, and it is also tailored to the students' medium term career goals.  The exact nature of the change from year to year depends of course upon the exact nature of the individual experiences and the goals of the enrolled students in each year.

Teaching and Learning Activities

Lecture

Delivery of material not previously seen by the students or material which will be presented in a differenct context with regard to graduate capabilities. There may be some review material, but this is minimal

Laboratory

Develop skills based competencies in experimentation with overlap/application to theory and simulation

Projects

Students plan and execute a combination of group and individual work to execute a project of substance, possibly with real world application. This activity leads to assessments that may be of both a group and individual nature as well as formal reports and a presentation

Class debates

This activity is used widely in this unit to engage students and encourage deep learning. At this advanced level, as well as technical material there is a need for students to develop their own internalised understanding of matters such as ethics, the nature of the profession, their approach to professional development, and their career goals. There aren't simple answers, and there is a strong need for detailed student engagement with the issues.

 

Unit Schedule

Coronavirus (COVID-19) Update

The unit schedule/topics and any references to on-campus delivery below may no longer be relevant due to COVID-19. Please consult iLearn for latest details, and check here for updated delivery information: https://ask.mq.edu.au/account/pub/display/unit_status

 Week commencing  

Topic

24 February

Intro and raison d'etre for 4060

2   March

The nature of the discipline

9 March

The role of professional societies

16 March

How to develop individual projects

23 March

How to present individual projects

30 March

How to contract for individual projects

6 April

Progress reports on individual projects

13 April

Break from classes (work on projects)

20 April

Possible break from classes (work on projects)

27 April

Software engineering disasters

4   May

Software assurance and operating systems

11 May

Software security and low level analyses

18 May

Systems security

25 May

Mobile systems

1   June

Software verification

10 June

Final Reporting / Examination if required

Please note that this is the initial plan for arranging unit content, but it is subject to change.  Our goal is to best serve student learning and depending on the distribution of Joint Board competencies already attained by the incoming students material may be rearranged and relative timings reallocated (in consultation with the enrolled students).

Individual projects will cover many areas including CASE tools, process methodologies, testability and formal verification as well as project specific technical material.  The precise combination will vary based on the nature of each individual project.

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit the Student Policy Gateway (https://students.mq.edu.au/support/study/student-policy-gateway). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

If you would like to see all the policies relevant to Learning and Teaching visit Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central).

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/study/getting-started/student-conduct​

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

Learning Skills

Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to help you improve your marks and take control of your study.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.

Student Enquiries

For all student enquiries, visit Student Connect at ask.mq.edu.au

If you are a Global MBA student contact globalmba.support@mq.edu.au

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Changes from Previous Offering

As  noted above, COMP4060 is different every year because it is tailored to the varied experiences of the enrolled students and because assessment weightings are negotiated with students during the unit.

Unit Goals

As we've said, COMP4060 is a very different unit from the other kinds of units you will have studied in your software engineering (SE) program.  So, we want to be explicit about the unit's goals.  They are:

  1. To fill the gaps in ICT knowledge that can arise from a curriculum for SE including a limited number of required specialist IT units.  Each student has different gaps, as they depend on the students' choices of electives and on his or her goals for future employment in software engineering (there are many different kinds of software engineers).
  2. To provide a culminating experience in which students reflect upon their entire degree and contextualise it with respect to other software engineering degrees, SE curricula, and their own understanding of SE, as well as developing their own near-graduation perspective on SE as a field, on professionalism and on professional practice.

These are the goals that lie behind the learning outcomes.