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 code: | IFQ666 |
|---|---|
| Prerequisite(s): | IFN501 or (IFN555 and IFN556) or (IFQ555 and IFQ556) or admission to IN15, IN16, IN17, IQ15, or IQ16 |
| Assumed Knowledge: | Familiarity with principles of information security. General knowledge in software engineering and testing. Sound skills of solving computational problems and implementing these solutions in a programming language. |
| Credit points: | 12 |
| Timetable | Details in HiQ, if available |
| Availabilities |
|
| Domestic tuition unit fee | $3,084 |
| International unit fee | $4,332 |
Unit Outline: Session 2 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 |
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:
- (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
- (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
- (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
- (CLO 2)Critically analyse the suitability of available technologies and frameworks for realistic user requirements, and where necessary adapt these approaches to ensure success
- (CLO6)Understand and apply social and ethical considerations during application development
- (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).
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
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).
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
- JavaScript reference (free online): Haverbeke, Eloquent JavaScript: https://eloquentjavascript.net/
- React reference,Flavio Copes
https://medium.freecodecamp.org/the-react-handbook-b71c27b0a795
- Links to other online resources will also be provided.
Risk Assessment Statement
There are no unusual health or safety risks associated with this unit.
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 |
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:
- (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
- (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
- (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
- (CLO 2)Critically analyse the suitability of available technologies and frameworks for realistic user requirements, and where necessary adapt these approaches to ensure success
- (CLO6)Understand and apply social and ethical considerations during application development
- (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).
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
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).
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
- JavaScript reference (free online): Haverbeke, Eloquent JavaScript: https://eloquentjavascript.net/
- React reference,Flavio Copes
https://medium.freecodecamp.org/the-react-handbook-b71c27b0a795
- Links to other online resources will also be provided.
Risk Assessment Statement
There are no unusual health or safety risks associated with this unit.