IFQ666 Web and Mobile App 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:IFQ666
Credit points:12
Pre-requisite:IFN501 or (IFN555 and IFN556) or (IFQ555 and IFQ556) or admission to IN15, IN16 or IN17
Assumed Knowledge:

1. Some familiarity with HTML and CSS (see https://www.w3schools.com/html/).

2. Basic knowledge of computer programming

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 provides a technical introduction to web and mobile application development and the software patterns which support them. We will introduce you to JavaScript on both the client and the server side, and you will build applications targeting desktops and mobile devices using modern standards and frameworks such as React and React Native. You will design and implement clean and responsive user interfaces, taking account of accessibility and internationalisation. We will introduce you to server side web computing using node.js and Express. You will understand security threats and their mitigation and HTTPS deployment.

Learning Outcomes

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

  1. Explain the core standards and technology platforms which enable web and mobile computing, and their use in developing software applications on both the client and server side.
  2. Apply social and ethical considerations during application design and development, including usability and accessibility.
  3. Create mobile and web applications of significant size and complexity to solve real world problems.
  4. Communicate in writing about the nature and limitations of web and mobile applications to developers and clients.

Content

  • The architecture of the Web and Web standards and protocols (HTTP/HTTPS; HTML, CSS)
  • JavaScript development on the client and server side
  • Designing responsive user interfaces for the web and mobile apps (React and React Native)
  • Exposing REST APIs backed by SQL data sources (Node.js, Express and MySQL).
  • Web security principles and secure deployment

Learning Approaches

This unit will use a blend of on-line resources, online practical exercises and your own practice. The core material will be introduced in the text modules but will be supplemented by online video and code examples. Your knowledge of JavaScript will be developed through structured exercises covering the key features of the language and the most important libraries. The practical exercises are consciously modelled on industry practice, guiding you through the development of a small but non-trivial application. The assessment will give further opportunities to explore web and mobile technologies in a more open-ended fashion.

Feedback on Learning and Assessment

Feedback in this unit is provided in the following ways:

  • You can ask the teaching staff for advice during the online practical sessions.
  • You will receive formative feedback from staff and peers thorough the online boards.
  • You will receive written feedback on submitted assessment items.

Assessment

Overview

The assessment is designed to allow you to demonstrate each of the learning outcomes for this unit using modern web and mobile application technologies.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Small JavaScript exercises

Small programming exercises designed to develop skills in JavaScript. Submitted online for automated assessment and rapid feedback to students. 

This is an assignment for the purposes of an extension.

Weight: 10
Individual/Group: Individual
Due (indicative): Week 2
Related Unit learning outcomes: 1, 3

Assessment: Web Programming Assignment

Creating an application to target browsers (using React). The code will have a focus on the design of react, ensuring that it is made up of a set of components. The client side code will work with a provided server side application.

This is an assignment for the purposes of an extension.

Weight: 40
Length: 500-1000 lines of code
Due (indicative): Week 9
Related Unit learning outcomes: 1, 3, 4

Assessment: Capstone Programming Assignment

Students will create an application to target browsers (using React) and mobile devices (using React Native). Students will have to build their systems in JavaScript using React and React.Native technologies. They will  have to assess the suitability of these technologies and where necessary adapt the approach to suit the requirements. In particular, component selection must take into account the smaller mobile screen.  They will have to look at the application as a whole, critically analysing the design and its implementation through particular React and React.Native components. They will have to consider the social and ethical context of the application - notably its compliance with disability standards and its suitability for those from non-English speaking backgrounds. This will be included as part of a professional report describing the application and the choices that were made in its design and implementation.

This is an assignment for the purposes of an extension.

Weight: 50
Length: 500-1000 lines of code
Individual/Group: Individual
Due (indicative): 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.

Resources

Throughout this unit, the online resources you will use are:

  • Haverbeke M. (2018), Eloquent JavaScript: A modern introduction to programming (3rd ed.). No Starch Press.  https://eloquentjavascript.net/
  • React reference:  Copes  F. (2019), The React handbook. 

    https://www.freecodecamp.org/news/the-react-handbook-b71c27b0a795  

  • Links to other online resources will also be provided.

The electronic versions of these resources have been made available at no expense to you, and links to these resources will be provided in the learning materials.

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit.