Students

COMP4060 – Advanced Software Engineering

2021 – Session 1, Special circumstances

Notice

As part of Phase 3 of our return to campus plan, most units will now run tutorials, seminars and other small group activities on campus, and most will keep an online version available to those students unable to return or those who choose to continue their studies online.

To check the availability of face-to-face and online activities for your unit, please go to timetable viewer. To check detailed information on unit assessments visit your unit's iLearn space or consult your unit convenor.

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor and Lecturer
Carl Svensson
Contact via Contact via email
4 Research Park Drive
By Appointment (via email)
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.

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.

 

Assessment Tasks

Name Weighting Hurdle Due
Student Engagement 50% No Weekly
Student Presentations 20% No As arranged individually for weeks 12 & 13
Submissions 30% No Multiple - discussed with students in week 1

Student Engagement

Assessment Type 1: Simulation/role play
Indicative Time on Task 2: 56 hours
Due: Weekly
Weighting: 50%

In a simulated environment the students will interact as professionals in a business to analyse proposals, manage projects and evaluate performance in advanced software engineering problems.

The unit is built around highly interactive sessions for which students need to prepare between classes, and then they need to demonstrate critical thinking and active engagement in the in-class debates. Assessment of each student will be openly discussed with frequent feedback in a small class environment (and with each student's agreement).

This mode of learning is so important for the unit, and requires so much work by the students, that it has initially been given a substantial weighting in the assessment.

Nevertheless, as part of the active involvement of students the weightings are subject to negotiated change.


On successful completion you will be able to:
  • 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
  • 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
  • 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)

Student Presentations

Assessment Type 1: Presentation
Indicative Time on Task 2: 10 hours
Due: As arranged individually for weeks 12 & 13
Weighting: 20%

During the unit students are individually assigned problems to analyse (both critically themselves, and through a review of relevant literature) and the results of their studies are made available to the class in formal presentations.

Assessment of presentations includes a substantial component based on content, but also a component for surface features including the quality and clarity of their communication.


On successful completion you will be able to:
  • 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)
  • Effectively practise self-learning, time-management, and project management, individually and in a group setting.

Submissions

Assessment Type 1: Reflective Writing
Indicative Time on Task 2: 45 hours
Due: Multiple - discussed with students in week 1
Weighting: 30%

There will be a sequence of agreed written deliverables (these can include problem solutions, software, reports and essays) required throughout the unit. The most important of these is the unit portfolio, and it is expected that the other deliverables will form a part of it too. Nevertheless, some deliverables need to be submitted during the unit, while the portfolio will only be finally submitted near the end of the unit.

The unit portfolio is a student's record of their significant achievements, including their reflections, from throughout the unit. Thus it is both a technical document, and a personal journal. The personal reflections are very important.


On successful completion you will be able to:
  • 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
  • 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
  • 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)
  • Effectively practise self-learning, time-management, and project management, individually and in a group setting.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

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

Week commencing  

Topic **

22 February

Intro and raison d'etre for 4060

1 March

The nature of the discipline

8 March

The role of professional societies

15 March

How to develop individual projects and how to present individual projects

22 March

How to contract for individual projects

29 March

Working on individual projects + Progress reports on individual projects

5 April

Break from classes (work on projects)

12 April

Break from classes (work on projects)

19 April

Progress reports on individual projects

26 April

Software engineering disasters

3 May

Software assurance and operating systems

10 May

Software security and low level analyses

17 May

Systems security

24 May

Mobile systems + Student Presentations

31 May

Software verification + Student Presentations

7 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://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

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

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/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.


Unit information based on version 2021.02 of the Handbook