Overview
This unit builds on responsive web design principles, equipping you with the knowledge and practical skills to design, develop, and test mobile web applications that support complex user interactions and data handling. You will explore the strengths and limitations of web apps versus native apps, with a focus on cross-platform functionality using tools like Apache Cordova. In this unit, you will develop full-stack hybrid mobile applications, building the front end with HTML, CSS, JavaScript and/or Node.js, while using Node.js or PHP for the back end and connecting to cloud databases for data storage. Emphasis will be placed on asynchronous programming to enhance performance, responsiveness, and overall user experience. You will also examine common web app vulnerabilities and strategies to mitigate them. Finally, the unit will guide you through the process of maintaining and deploying mobile web app code.
Details
Pre-requisites or Co-requisites
Pre-Req: COIT20247 Database Design and Development, COIT20268 Responsive Web Design Anti-Req: COIT20231 Mobile Computing
Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).
Offerings For Term 1 - 2025
Attendance Requirements
All on-campus students are expected to attend scheduled classes - in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).
Recommended Student Time Commitment
Each 6-credit Postgraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.
Class Timetable
Assessment Overview
Assessment Grading
This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of 'pass' in order to pass the unit. If any 'pass/fail' tasks are shown in the table above they must also be completed successfully ('pass' grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the 'assessment task' section (note that in some instances, the minimum mark for a task may be greater than 50%). Consult the University's Grades and Results Policy for more details of interim results and final grades.
All University policies are available on the CQUniversity Policy site.
You may wish to view these policies:
- Grades and Results Policy
- Assessment Policy and Procedure (Higher Education Coursework)
- Review of Grade Procedure
- Student Academic Integrity Policy and Procedure
- Monitoring Academic Progress (MAP) Policy and Procedure - Domestic Students
- Monitoring Academic Progress (MAP) Policy and Procedure - International Students
- Student Refund and Credit Balance Policy and Procedure
- Student Feedback - Compliments and Complaints Policy and Procedure
- Information and Communications Technology Acceptable Use Policy and Procedure
This list is not an exhaustive list of all University policies. The full list of University policies are available on the CQUniversity Policy site.
Feedback, Recommendations and Responses
Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.
Feedback from Unit Coordinator and Teaching Team Reflection
jQuery Mobile framework, popularity and usage have declined over the years. Alternative frameworks should be considered.
Explore a transition to a more widely adopted front-end development framework (for example React).
Feedback from Teaching Team's Reflection
Incorporating intuitive coding examples in lectures proves to be a valuable practice, aiding students in the development of their skills.
Continue providing intuitive coding examples in the lecture slides and tutorial materials.
Feedback from Unit Coordinator
Weekly tutorials should adopt a guided approach, furnishing students with step-by-step instructions for completing the tasks.
Revise and enrich the tutorial with detailed, step-by-step guidance. This update will not only make the material more accessible but also foster a deeper understanding and more effective task execution by the students
Feedback from Unit Coordinator and Teaching Team
Split the unit into two distinct components: one focusing on front-end development and the other addressing backend and cloud aspects.
Restructure the unit by dividing it into two distinct components. The first component should focus exclusively on front-end development (for mobile web applications) and the second component should then address back-end development and cloud computing aspects.
- Develop knowledge and skills in front-end and back-end development for mobile applications, incorporating asynchronous programming to enhance performance, responsiveness, and user experience
- Design, implement and test full-stack mobile web apps with the back end connected to cloud databases
- Convert mobile web apps into hybrid mobile apps using a cross-platform tool
- Deploy mobile web app code to cloud
- Assess vulnerabilities of mobile web apps and identify strategies to mitigate them.
The Australian Computer Society (ACS) recognises the Skills Framework for the Information Age (SFIA). SFIA is adopted by organisations, governments and individuals in many countries and provides a widely used and consistent definition of ICT skills. SFIA is increasingly being used when developing job descriptions and role profiles. ACS members can use the tool MySFIA to build a skills profile.
This unit contributes to the following workplace skills as defined by SFIA 9 (the SFIA code is included):
- Software Design (SWDN)
- Software Development (PROG)
- Database Design (DBDS)
- Functional Testing (TEST)
- User Acceptance Testing (BPTS)
- Software Configuration (PORT)
- Vulnerability Assessment (VUAS)
Alignment of Assessment Tasks to Learning Outcomes
Assessment Tasks | Learning Outcomes | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
1 - In-class Test(s) - 30% | |||||
2 - Practical Assessment - 30% | |||||
3 - Project (applied) - 40% |
Alignment of Graduate Attributes to Learning Outcomes
Graduate Attributes | Learning Outcomes | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
1 - Knowledge | |||||
2 - Communication | |||||
3 - Cognitive, technical and creative skills | |||||
4 - Research | |||||
5 - Self-management | |||||
6 - Ethical and Professional Responsibility | |||||
7 - Leadership | |||||
8 - Aboriginal and Torres Strait Islander Cultures |
Textbooks
There are no required textbooks.
IT Resources
- CQUniversity Student Email
- Internet
- Unit Website (Moodle)
- Android Studio (latest version)
- Zoom (both microphone and webcam capability)
- Visual Studio Code (latest version)
- Gradle (latest version)
- Node.js (latest version from https://nodejs.org/en/)
- Apache Cordova (latest version from https://cordova.apache.org/)
- Git (https://www.git-scm.com/downloads)
- GitHub CLI (from https://cli.github.com/)
- OpenJDK (latest version from https://www.openlogic.com/openjdk-downloads)
All submissions for this unit must use the referencing style: Harvard (author-date)
For further information, see the Assessment Tasks.
s.azad@cqu.edu.au
Module/Topic
JavaScript: Basics. JSON
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
JavaScript: Arrays. Objects. jQuery. jQueryMobile
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Single Page Application using jQueryMobile
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Asynchronous Programming
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Node.js Basics
Chapter
Lecturer created materials
Events and Submissions/Topic
In-class Test 1 Due: During Week 5 Tutorial Class
Module/Topic
Enjoy the break.
Chapter
Events and Submissions/Topic
Module/Topic
API Construction using Node.js and Express
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Using MongoDB Database
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Hybrid App Development
Chapter
Lecturer created materials
Events and Submissions/Topic
In-class Test 2 Due: During Week 8 Tutorial Class
Module/Topic
Online App Deployment
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Express Routes and Middleware
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Web App Security: Basic
Chapter
Lecturer created materials
Events and Submissions/Topic
In-class Test 3 Due: During Week 11 Tutorial Class
Module/Topic
Web App Security: Advanced
Chapter
Lecturer created materials
Events and Submissions/Topic
Module/Topic
Chapter
Events and Submissions/Topic
Module/Topic
Chapter
Events and Submissions/Topic
Contact information for Dr Salahuddin Azad: Email: s.azad@cqu.edu.au; Office: Level 6, 120 Spencer Street, Melbourne Vic 3000; P +61 3 9616 0680 | X 50680.
If you have any queries, please email me and I will get back to you within one business day or so. For an individual discussion, please ring me during business hours (or leave a message if I am not in) and I will return your call as soon as possible.
1 In-class Test(s)
This is an individual assessment.
In this assessment, there will be three (3) in-class tests: In-class Test 1, In-class Test 2, and In-class Test 3 in Week 5, Week 8, and Week 11. Each in-class test will carry 10 marks. The in-class tests will assess your knowledge and understanding of the topics covered in Weeks 1-9.
In each in-class test, you will complete an online quiz on Moodle during the designated tutorial class. Each in-class test will have duration of 15-30 minutes. There will be 5-10 questions in each in-class test.
The schedule and the topics covered in each test are as follows.
- In-class Test 1: This test will be conducted during the Week 5 tutorial class. This in-class test will be based on the topics covered in Weeks 1 - 3.
- In-class Test 2: This test will be conducted during the Week 8 tutorial class. This in-class test will be based on the topics covered in Weeks 4 - 6.
- In-class Test 3: This test will be conducted during the Week 11 tutorial class. This in-class test will be based on the topics covered in Weeks 7 - 9.
You must attend the tutorial class in person during the designated week to take each test. Online students will be contacted by the Unit Coordinator to schedule the in-class tests via Zoom. In that case, it will be mandatory to have your webcam on during the whole session.
Further detail of this assessment will be provided on the Moodle unit website.
In-class Test 1 will be conducted in Week 5, In-class Test 2 will be conducted in Week 8, and In-class Test 3 will be conducted in Week 11.
The marks and feedback will be returned within 1 week after the completion of respective in-class test.
The assessment specification will be provided on the Moodle unit website.
- Develop knowledge and skills in front-end and back-end development for mobile applications, incorporating asynchronous programming to enhance performance, responsiveness, and user experience
- Assess vulnerabilities of mobile web apps and identify strategies to mitigate them.
2 Practical Assessment
This is an individual assignment.
The main outcome of this assignment is to create a three-tier Hybrid Mobile App running on a smart device.
The objectives of this assignment are:
- Database - Create and maintain a MongoDB document database using the Atlas cloud service for online storage of mobile app data.
- Client - Develop, test and maintain a hybrid mobile app using an integrated suite of mobile software development tools. More specifically on the client-side, jQuery, jQuery Mobile, JavaScript, HTML5, and CSS.
- Server - Develop, test and maintain an Express web server and API using JavaScript and Node.js with various Node.js packages. Data is stored locally on the mobile device and in the cloud (MongoDB). The API facilitates access to a MongoDB Atlas cloud service using the Node Express middleware.
You will be given partially completed source code of a mobile web app as the starting point for development. You are required to complete the Hybrid Mobile App to achieve the desired functionalities.
Further detail about the asssignment will be provided on the Moodle unit website and in the assignment specification document.
Week 9 Friday (16 May 2025) 11:45 pm AEST
You must submit your assignment electronically by the above due date and time.
Week 11 Friday (30 May 2025)
The marks and feedback will be returned within 2 weeks after the submission due date.
The assignment specification along with the marking criteria will be provided on the Moodle unit website.
- Design, implement and test full-stack mobile web apps with the back end connected to cloud databases
- Convert mobile web apps into hybrid mobile apps using a cross-platform tool
3 Project (applied)
This is a group assignment.
You should work in a group of three (3) members. The overall objective of this assignment is to specify, design, implement, and test a Hybrid Mobile App. More specifically the tasks that need to be accomplished are:
Part A: Project (25 marks)
You will develop a hybrid mobile app. You are to generate your own (semi-original) idea for the app. The deliverables for Part A are:
- Database - Create and maintain a MongoDB document database using the Atlas cloud service for online storage of mobile app data.
- Client - Develop, test, and maintain a mobile client app using an integrated suite of mobile software development tools. More specifically on the client-side, jQuery, jQuery Mobile, JavaScript, HTML5, and CSS.
- Hybrid App - Deploy the mobile client app as a Hybrid App to smart devices (e.g., Android smartphone) using the Cordova platform.
- Server - Develop, test, and maintain an Express web server and API using JavaScript and Node.js with various Node.js packages. Data is stored locally on the mobile device and in the cloud (MongoDB). The API facilitates access to a MongoDB Atlas cloud service for online storage and retrieval using the Node Express middleware.
- Server Deployment - Deploy the API server using an online service (e.g., Render).
Part B: Presentation (15 marks)
You will deliver a small presentation in the Week 12 tutorial class to illustrate your hybrid mobile app that you have developed for Part A. The deliverables for Part B are:
- Live demonstration of your hybrid mobile app in a smart device/emulator/browser
- Presentation of the following using PowerPoint slides: Motivation for producing the app, high level user requirements, software architecture, test results (preliminary), and vulnerability analysis results (preliminary)
Further detail about the assignment will be provided on the Moodle unit website and in the assignment specification document.
Please note: This assignment is selected to be included in your course-wide portfolio. The outcomes/artifacts of this assignment must be uploaded to Portfolium (https://portfolium.com/activity) by the submission due date in addition to your submission to Moodle for marking.
Review/Exam Week Monday (9 June 2025) 11:45 pm AEST
You must submit your assignment electronically by the above due date and time.
The marks and feedback will be returned on the date of certificatation of grades.
The assignment specification along with the marking criteria will be provided on the Moodle unit website.
- Design, implement and test full-stack mobile web apps with the back end connected to cloud databases
- Convert mobile web apps into hybrid mobile apps using a cross-platform tool
- Deploy mobile web app code to cloud
- Assess vulnerabilities of mobile web apps and identify strategies to mitigate them.
As a CQUniversity student you are expected to act honestly in all aspects of your academic work.
Any assessable work undertaken or submitted for review or assessment must be your own work. Assessable work is any type of work you do to meet the assessment requirements in the unit, including draft work submitted for review and feedback and final work to be assessed.
When you use the ideas, words or data of others in your assessment, you must thoroughly and clearly acknowledge the source of this information by using the correct referencing style for your unit. Using others’ work without proper acknowledgement may be considered a form of intellectual dishonesty.
Participating honestly, respectfully, responsibly, and fairly in your university study ensures the CQUniversity qualification you earn will be valued as a true indication of your individual academic achievement and will continue to receive the respect and recognition it deserves.
As a student, you are responsible for reading and following CQUniversity’s policies, including the Student Academic Integrity Policy and Procedure. This policy sets out CQUniversity’s expectations of you to act with integrity, examples of academic integrity breaches to avoid, the processes used to address alleged breaches of academic integrity, and potential penalties.
What is a breach of academic integrity?
A breach of academic integrity includes but is not limited to plagiarism, self-plagiarism, collusion, cheating, contract cheating, and academic misconduct. The Student Academic Integrity Policy and Procedure defines what these terms mean and gives examples.
Why is academic integrity important?
A breach of academic integrity may result in one or more penalties, including suspension or even expulsion from the University. It can also have negative implications for student visas and future enrolment at CQUniversity or elsewhere. Students who engage in contract cheating also risk being blackmailed by contract cheating services.
Where can I get assistance?
For academic advice and guidance, the Academic Learning Centre (ALC) can support you in becoming confident in completing assessments with integrity and of high standard.
What can you do to act with integrity?
