IFQ716 Advanced Web Development


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Session 2 2024, QUT Online, Online

Unit code:IFQ716
Credit points:12
Equivalent:IFN716, IFZ716
Assumed Knowledge:

IFQ714

Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

This unit builds on your earlier understanding of JavaScript programming (IFQ714).  You will be introduced to back-end development using Node.js and Express, and learn how to create and expose a REST-based data API. You will explore security threats and their mitigation and gain practical experience deploying an internet facing web server using HTTPS. You will learn how to manage user accounts and password information, and implement authentication on both client and server side.

Learning Outcomes

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

  1. Demonstrate knowledge of back end (Node and Express) platforms in a modern web development environment (maps to SALO1 and CLO1)
  2. Identify and employ features of web development libraries and frameworks such as Express and associated middleware to create data driven web applications (maps to SALO2 and CLO2)
  3. Apply design, problem solving and critical thinking skills to develop back-end web applications that address a business need. (maps to SALO3 and CLO3)
  4. Solve technical web development problems through self-directed professional activity (maps to SALO4 and CLO4)

Content

This unit is designed to prepare you for professional web development projects. The material is more advanced and technically focused in nature. The content of this unit will include: 

  • Developing data-driven back end web applications (using Node.js and the Express Framework).
  • An introduction to databases and elementary SQL queries 
  • Exposing REST APIs backed by SQL data sources.
  • Web security principles and secure deployment.
  • Authentication and User account management 

 

Learning Approaches

This unit is designed for asynchronous online study, with activities including numerous short videos, podcasts and exercises carefully chosen to reinforce key skills and concepts. Students will have the opportunity to participate in online discussions with peers and teaching staff. 

We emphasise a hands-on approach through structured practical exercises. We will start with a high level view of the architecture of the Web, then start building server-side Web applications with Node and JavaScript. You will then learn to implement authentication on the server side, to deploy a server via HTTPS and to identify and mitigate security risks. 

As in the earlier unit, there will be two assessment tasks, each with a formative and summative component. The first will focus on a back-end web application in Node which will expose a REST API that a front-end JavaScript and HTML client will communicate with. In the second assessment, you will write this back-end system yourself. In each case these tasks will come as a pair, with a preliminary formative assessment allowing you to get important feedback prior to submitting the task for final assessment. 

Feedback on Learning and Assessment

You will receive written feedback on assignment task submissions. You may seek additional feedback from the teaching staff in the unit. 

Assessment

Overview

This unit is structured so that you can master new material through practical exercises prior to attempting the assessment tasks. The overall structure of the unit is split essentially into two halves: one focused on developing an understanding of back-end development and creating web applications with Node, the other focused on more advanced web development with the Express framework. The assessment for this unit reflects this split.

In all of the Bootcamp units, including this one, we use a satisfactory/unsatisfactory grading schema. This approach has been taken to differentiate your assessment experience from more traditional methods and acknowledge the skills-based approach to your
learning, as well as the steep learning trajectory that you will take in this course.

Unit Grading Scheme

S (Satisfactory) / U (Unsatisfactory)

Assessment Tasks

Assessment: Node Web Server (Formative and Summative)

In this assessment you will develop a fully-featured server side application in Node. This application must implement a multiple-end-point REST API which we will provide to the class. 

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Threshold Assessment:

To pass the unit, it is necessary to achieve a satisfactory grade for all assignments. You will be provided with the opportunity to re-submit Assignment 1 if you receive an unsatisfactory grade. This resubmission will be due 14 days from when the unsatisfactory grade is received

Individual/Group: Individual
Due (indicative): Week 5
Formative due in Week 4. Summative due in Week 5.
Related Unit learning outcomes: 1, 2, 3, 4

Assessment: Express Web Application (Formative and Summative)

In this assessment, you will be required to develop and deploy a more advanced server-side application (with Node and Express), with a focus on security, session management and database connectivity.

This assignment is eligible for the 48-hour late submission period and assignment extensions.

Threshold Assessment:

To pass the unit, it is necessary to achieve a satisfactory grade for all assignments.

Individual/Group: Individual
Due (indicative): Week 10
Formative due in week 8. Summative due in week 10.
Related Unit learning outcomes: 1, 2, 3, 4

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Risk Assessment Statement

No out of the ordinary risks are associated with this unit.

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

IQ70 Graduate Certificate in Information Technology Practice (Study Area A)

  1. Demonstrate advanced, role-specific Information Technology (IT) discipline knowledge
    Relates to: ULO1, Node Web Server (Formative and Summative), Express Web Application (Formative and Summative)
  2. Identify and employ appropriate industry relevant methods and approaches to address IT problems
    Relates to: ULO2, Node Web Server (Formative and Summative), Express Web Application (Formative and Summative)
  3. Apply design, problem solving and critical thinking skills to develop appropriate IT solutions
    Relates to: ULO3, Node Web Server (Formative and Summative), Express Web Application (Formative and Summative)
  4. Solve complex IT problems in both self-directed and collaborative contexts
    Relates to: ULO4, Node Web Server (Formative and Summative), Express Web Application (Formative and Summative)