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 4 2021, 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

Anti-requisite:CAB230 Web Computing
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. (CLO 1, CLO 3)Understand 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. (CLO 1)Demonstrate a high level of familiarity with the JavaScript programming language and a near professional level of skill in its application to problems of significant size and complexity
  3. (CLO1, CLO3, CLO7)Critically analyse page and mobile app design for usability, accessibility and internationalisation, and creatively develop compelling applications to solve real world problems
  4. (CLO 2)Critically analyse the suitability of available technologies and frameworks for realistic user requirements, and where necessary adapt these approaches to ensure success
  5. (CLO6)Understand and apply social and ethical considerations during application development
  6. (CLO 5) Describe the nature and limitations of web and mobile applications in a professional report

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, practical exercises and your own practice. The core material will be introduced in the lectures 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 on your practical exercises conducted in labs from the teaching.
  • 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 will focus on  understanding core functions (ULO1) and understanding understanding JavaScript (ULO2).

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

Assessment: Web Programming Assignment

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

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

Assessment: Capstone Programming Assignment

Students will create an application to target browsers (using React) and mobile devices (using React Native). This will cover all 5 of the unit outcomes. Again, students will have to build their systems in JavaScript using React and React.Native technologies (ULO1 and ULO2). They will once again 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 (ULO4).  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 (ULO3). 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 (OLU5). This will be included as part of a professional report describing the application and the choices that were made in its design and implementation. (OLU6).

Weight: 50
Length: 500-1000 lines of code
Individual/Group: Individual
Due (indicative): Week 10
Related Unit learning outcomes: 1, 2, 3, 4, 5, 6

Academic Integrity

Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.

The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.

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.

Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.

Resources

Risk Assessment Statement

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