Students

COMP3120 – Advanced Web Development

2021 – Session 2, Special circumstances

Session 2 Learning and Teaching Update

The decision has been made to conduct study online for the remainder of Session 2 for all units WITHOUT mandatory on-campus learning activities. Exams for Session 2 will also be online where possible to do so.

This is due to the extension of the lockdown orders and to provide certainty around arrangements for the remainder of Session 2. We hope to return to campus beyond Session 2 as soon as it is safe and appropriate to do so.

Some classes/teaching activities cannot be moved online and must be taught on campus. You should already know if you are in one of these classes/teaching activities and your unit convenor will provide you with more information via iLearn. If you want to confirm, see the list of units with mandatory on-campus classes/teaching activities.

Visit the MQ COVID-19 information page for more detail.

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convener, Lecturer
Steve Cassidy
Contact via Email
By appointment
Lecturer
Zhu Sun
Contact via Email
By appointment
Tutor
Samantha Kuhn
Tutor
Asim Adnan Eijaz
Credit points Credit points
10
Prerequisites Prerequisites
130cp at 1000 level or above including COMP2110 or COMP249
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit develops on the student's basic understanding of web technologies to look at the tools and techniques used in modern web development. Topics will include the software development lifecycle in web development, the use of continuous integration, deployment of web applications, the use and provision of API services, security and e-commerce. The unit is practically focused but aims to equip students to be able to adapt to the rapidly changing landscape of tools in web development.

Important Academic Dates

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

Learning Outcomes

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

  • ULO1: Demonstrate an understanding of the architecture of web applications and the technologies used to build them
  • ULO2: Evaluate alternate implementation technologies for web applications
  • ULO3: Implement a significant web application that integrates front-end and back-end components
  • ULO4: Assess the security risks in web applications
  • ULO5: Communicate clearly and effectively

General Assessment Information

The goal of the assessment in this unit is to have you complete two web application development projects in the semester and to have you reflect what you have learned about the broader web development landscape in two report submissions.   You will be working on two assessments for the whole semester (as well as completing weekly tasks).  You are encouraged to work on both of these each week rather than leaving either of them to the last minute.  Both are important and both are major learning activities as well as assessment tasks.

Workshop Hurdle

The workshop is a hurdle requirement, you must get 8 out of the possible 10 marks to pass the hurdle but you will have a total of 12 weeks where you could meet the requirement - hence you can miss at most four weeks of workshop tasks.

Late Submission

No extensions will be granted without an approved application for Special Consideration. There will be a deduction of 10% of the total available marks made from the total awarded mark for each 24 hour period or part thereof that the submission is late. For example, 25 hours late in submission for an assignment worth 10 marks – 20% penalty or 2 marks deducted from the total.  No submission will be accepted after solutions have been posted.

Assessment Tasks

Name Weighting Hurdle Due
Weekly problem set 10% Yes Every week
Individual Web Development Project 20% No Checkpoint Week 4, Final Week 6
Technology Report 15% No Week 7
Group Web Development Project 40% No Proposal Week 8, Final Week 12
Security Report 15% No Week 11

Weekly problem set

Assessment Type 1: Problem set
Indicative Time on Task 2: 0 hours
Due: Every week
Weighting: 10%
This is a hurdle assessment task (see assessment policy for more information on hurdle assessment tasks)

 

Students will complete a weekly problem set submitted online.

 


On successful completion you will be able to:
  • Demonstrate an understanding of the architecture of web applications and the technologies used to build them
  • Evaluate alternate implementation technologies for web applications
  • Assess the security risks in web applications

Individual Web Development Project

Assessment Type 1: Programming Task
Indicative Time on Task 2: 20 hours
Due: Checkpoint Week 4, Final Week 6
Weighting: 20%

 

This assignment asks you to implement a small web application using some of the tools covered in the unit. The requirements will be made available but implementation details are up to the student to develop.

 


On successful completion you will be able to:
  • Demonstrate an understanding of the architecture of web applications and the technologies used to build them
  • Evaluate alternate implementation technologies for web applications
  • Communicate clearly and effectively

Technology Report

Assessment Type 1: Report
Indicative Time on Task 2: 10 hours
Due: Week 7
Weighting: 15%

 

A report evaluating alternate web implementation tools, for example, a survey of contemporary front-end tool-kits.

 


On successful completion you will be able to:
  • Demonstrate an understanding of the architecture of web applications and the technologies used to build them
  • Evaluate alternate implementation technologies for web applications
  • Communicate clearly and effectively

Group Web Development Project

Assessment Type 1: Project
Indicative Time on Task 2: 50 hours
Due: Proposal Week 8, Final Week 12
Weighting: 40%

 

Students will form groups to implement a major web application. Different groups will take responsibility for different components and negotiate requirements and interfaces with each other. This will involve all stages of the development cycle from requirements gathering to deployment and testing.

 


On successful completion you will be able to:
  • Demonstrate an understanding of the architecture of web applications and the technologies used to build them
  • Evaluate alternate implementation technologies for web applications
  • Implement a significant web application that integrates front-end and back-end components
  • Assess the security risks in web applications
  • Communicate clearly and effectively

Security Report

Assessment Type 1: Report
Indicative Time on Task 2: 10 hours
Due: Week 11
Weighting: 15%

 

A report on web application security.

 


On successful completion you will be able to:
  • Demonstrate an understanding of the architecture of web applications and the technologies used to build them
  • Assess the security risks in web applications
  • Communicate clearly and effectively

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 Learning Skills Unit 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

Classes

The majority of teaching materials for this unit will be made available online in the form of videos and linked readings.  We will post a number of videos each week and you should watch these and follow up on the readings before the weekly online lecture. 

The online lecture (Zoom) is a one hour class where we will review and discuss the content of the week.  In particular these sessions will take a broader view and look at things outside of the more practically focused course notes. You will get the most out of this session if you are prepared. Turning up without watching the videos, reading the notes and trying examples will mean you  can't take advantage of the discussion.  Make the most of our time together!

Workshops each week will run either on-campus or via Zoom.  There will be tasks each week related to the topic we are covering.  These sessions will be practically focused and aim to support you in learning to use the chosen tools to build web applications.   These exercises are an important part of your learning, they may seem trivial but ignoring them to concentrate on the major assessment tasks will be a mistake.  There will be a mark each week associated with the workshop - either something to submit or some other way of measuring your participation.  You must complete 8 out of the possible 12 weeks to pass the unit.

Required Texts

The unit will be based on the online course:

Deep Dive Into Modern Web Development - Full Stack Open 2021

The materials provided on this site will form the foundation of this unit but we will look beyond them to study the broader landscape of web development.  In particular, while the online course covers React, students are encouraged to review and even make use of other frameworks to understand how they might meet the needs of a particular project.  

Required Technology

This unit makes use of Javascript as the core implementation technology and you should install the tools as outlined in the online course linked above.  Students may also choose to explore other web toolkits at their discretion.

We will make use of GitHub to manage source code for student projects. Students should establish a GitHub account if they don't already have one.  Use your real name for your account as it will become the basis of your portfolio and you will want to show future employers the projects you have completed.

 

Unit Schedule

The following is intended as a guide to the planned schedule for the semester. In particular, we expect that the second half of the unit may changed based on our experience with the first half topics. 

Week

Topic

Assessment

1

Background

 

2

Introducing React: Components and State

 

3

Events and Forms, using JSON APIs

 

4

Styling React and Server Side Development

Individual Project Checkpoint

5

Authorisation and Deployment

 

6

Token based Authentication, MongoDB

Individual Project

7

Redux State Management and React Router

Technology Report

 

 

 

8

Front end and Back end Testing

Group Project Proposals

9

Web Security

 

10

Continuous Integration

 

11

Recommender Systems

 

12

More Recommender Systems

Security Report

13

Progressive Web Apps

Group Project Final

 

 

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/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 Enquiry Service

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

Equity 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.

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

This is the second offering of this unit. Last year we got the balance wrong and made the Individual Project too complex, the result was that we had to adjust the weighting of this and the group project.   This year the individual project is much simpler to meet the goal of providing a learning platform for the core ideas of React and Express development and should be easier to complete in the first half of the unit.  This will leave more time for the group project which is the core learning activity in the unit.