Course overview
- Study period
- Semester 2, 2025 (28/07/2025 - 22/11/2025)
- Study level
- Undergraduate
- Location
- St Lucia
- Attendance mode
- In Person
- Units
- 2
- Administrative campus
- St Lucia
- Coordinating unit
- Elec Engineering & Comp Science School
In this course, students will build knowledge of functional programming with JavaScript, culminating in the production of interactive, cross-platform web/native apps using JavaScript frameworks. Throughout, students will consider and evaluate challenges posed by cross-platform architectures, testing their design and code approaches of web/native apps.
Course Changes in Response to Previous Student Feedback
- Industry Guest Lectures: Guest lecturers from industry will share real-world insights and workplace experiences, giving students valuable exposure to professional practices and expert perspectives.
- Project Demonstration and Code Reviews: The former mid-point Code Review has been replaced by a more comprehensive end-of-project in-person assessment, where students will present and demonstrate their understanding of their code. This change provides a more authentic opportunity to communicate design decisions, implementation choices, and problem-solving strategies.
- Concept Checks Introduced: A series of online graded Concept Checks have been added at key points throughout the semester. These are designed to provide timely feedback on essential skills, helping students prepare for larger project-based assessment items with greater confidence.
Course requirements
Assumed background
As this course is a 2nd year course, it is expected that students have completed 1 year of University study prior to commencing this course. It is assumed that students will have prior web design, development and programming experience, achieved through the prerequisite courses of DECO1400 (HTML, CSS and JavaScript) and CSSE1001 (Python).
Prerequisites
You'll need to complete the following courses before enrolling in this one:
DECO1400 and (CSSE1001 or ENGG1001)
Jointly taught details
This course is jointly-taught with:
- COMP7240
Lectures and Applied Classes are jointly delivered for both COMP2140 and COMP7240.
Course contact
Course staff
Lecturer
Timetable
The timetable for this course is available on the UQ Public Timetable.
Additional timetable information
Note: Applied Classes will run from Week 1, and it's essential to attend to ensure your coding environment is correctly set up.
Aims and outcomes
In this course, students will build knowledge of functional programming with JavaScript, culminating in the production of interactive, cross-platform web/native apps using JavaScript frameworks. Throughout, students will consider and evaluate challenges posed by cross-platform architectures, testing their design and code approaches of web/native apps.
Learning outcomes
After successfully completing this course you should be able to:
LO1.
Apply an intermediate knowledge of functional programming with vanilla JavaScript.
LO2.
Analyse a specification and develop interactive web apps with a cross-platform JavaScript framework, testing across web browsers and device sizes.
LO3.
Analyse a specification and develop interactive native apps with a cross-platform JavaScript framework, testing with device simulators (iOS and Android).
LO4.
Develop Javascript code to communicate with web and device APIs that are shared across web/native apps.
LO5.
Apply user interface (UI) principles and critically evaluate user data privacy considerations for web/native apps.
LO6.
Evaluate the design, implementation and architecture for delivering complex, cross-platform web/native apps.
LO7.
Develop customised testing regimes for evaluating design, code and security of cross-platform web/native apps.
LO8.
Critically integrate AI into web and mobile applications, applying effective prompting strategies and principles of responsible AI and machine translation use, with a focus on ethical engagement, transparency, and the maintenance of personal intellectual agency.
Assessment
Assessment summary
Category | Assessment task | Weight | Due date |
---|---|---|---|
Computer Code, Quiz, Tutorial/ Problem Set | Concept Checks | 15% |
15/08/2025 5:00 pm 5/09/2025 5:00 pm 12/09/2025 5:00 pm 17/10/2025 5:00 pm
Weekly activities are due on Friday at 5:00pm. |
Computer Code, Tutorial/ Problem Set | JavaScript Functional Programming | 25% |
29/08/2025 5:00 pm |
Computer Code, Project | React Web App | 20% |
26/09/2025 5:00 pm |
Practical/ Demonstration |
The React Web App Demonstration and Code Review
|
8% |
7/10/2025 - 10/10/2025
This will take place in the Week 10 Applied Class. |
Computer Code, Project | React Native App | 20% |
24/10/2025 5:00 pm |
Practical/ Demonstration |
The React Native Demonstration and Code Review
|
12% |
27/10/2025 - 31/10/2025
This will take place in the Week 13 Applied Class. |
A hurdle is an assessment requirement that must be satisfied in order to receive a specific grade for the course. Check the assessment details for more information about hurdle requirements.
Assessment details
Concept Checks
- Mode
- Written
- Category
- Computer Code, Quiz, Tutorial/ Problem Set
- Weight
- 15%
- Due date
15/08/2025 5:00 pm
5/09/2025 5:00 pm
12/09/2025 5:00 pm
17/10/2025 5:00 pm
Weekly activities are due on Friday at 5:00pm.
- Learning outcomes
- L01, L02, L03, L08
Task description
Across the semester, students will complete four Concept Checks, each strategically timed to align with the mid-point of the major assessment tasks. These focused assessments are designed to help students consolidate core concepts and receive timely feedback on essential skills in functional JavaScript, React Web, and React Native.
Each Concept Check is delivered using the platform best suited to its learning outcome and is graded. Their purpose is to help students identify areas for improvement before submitting larger project-based assessments.
By spacing the Concept Checks across the semester and linking them directly to assessment milestones, students gain multiple opportunities to verify their understanding, refine their skills, and build confidence in applying key technical concepts.
Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance.
A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
Submission guidelines
Submission details will be available via the assessment brief on Blackboard.
Deferral or extension
You cannot defer or apply for an extension for this assessment.
To accommodate unforeseen circumstances such as illness, your grade will be based on the best 3 out of 4 concept checks.
Late submission
100% Late Penalty after 1 hour grace period. The one-hour grace period is recorded from the time the submission is due.
JavaScript Functional Programming
- Mode
- Product/ Artefact/ Multimedia
- Category
- Computer Code, Tutorial/ Problem Set
- Weight
- 25%
- Due date
29/08/2025 5:00 pm
- Learning outcomes
- L01, L04, L06, L07
Task description
In the JavaScript Functional Programming assessment, students will build an app that demonstrates their knowledge & application of functional programming in JavaScript. This assessment is designed to extend student’s skills in JavaScript & programming fundamentals, through the prerequisite courses, DECO1400 (JavaScript) & CSSE1001 (Python). Work towards this assessment will assist in making architectural decisions for the React Web and React Native project assessment items.
Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance.
A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
Submission guidelines
Submission details will be available via the assessment brief on Blackboard.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.
Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 14-21 days.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
React Web App
- Mode
- Product/ Artefact/ Multimedia
- Category
- Computer Code, Project
- Weight
- 20%
- Due date
26/09/2025 5:00 pm
- Learning outcomes
- L01, L02, L04, L05, L06, L07, L08
Task description
In the React Web App assessment, students will build an interactive web app with a cross-platform JavaScript framework (React), testing across web browsers & device sizes. The web app will communicate with web & device APIs. Throughout, students will evaluate the design, implementation & architecture for delivering a complex web app.
The React Web App will be graded in the associated Project Demonstration and Code Review session. The React Web App must be submitted prior to the Project Demonstration and Code Review session.
Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance.
A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
Submission guidelines
Submission details will be available via the assessment brief on Blackboard.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.
Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 14-21 days.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
The React Web App Demonstration and Code Review
- Hurdle
- Identity Verified
- In-person
- Mode
- Oral
- Category
- Practical/ Demonstration
- Weight
- 8%
- Due date
7/10/2025 - 10/10/2025
This will take place in the Week 10 Applied Class.
- Other conditions
- Secure.
- Learning outcomes
- L01, L02, L03, L04
Task description
Students are required to complete a Project Demonstration and Code Review for both the React Web App and React Native App assessment items.
- React Web App Demonstration and Code Review: This will take place in the Week 10 Applied Class, where students will present and explain their completed React Web App. The weighting for the React Web App Demonstration and Code Review is 8%.
- React Native App Demonstration and Code Review: This will occur in the Week 13 Applied Class, where students will present and explain their completed React Native App. The weighting for the React Native App Demonstration and Code Review is 12%.
This assessment is a course Identity Verified Assessment Hurdle and involves a comprehensive code review, including questions that assess conceptual understanding. Students will be expected to:
- Explain and identify key segments of their code
- Answer questions on how they would implement new features or modify existing functionality
- Demonstrate a clear understanding of their design decisions and problem-solving approaches
The grading of both the React Web and React Native assessment items will also occur within these sessions. Students must submit their React Web and React Native assessment items prior to attending a Project Demonstration and Code Review session. If less than 50% of the required functionality, based on the assessment brief and rubric, is implemented, the Project Demonstration and Code Review grade will be capped at 50%.
Students must present their work and show their project in a Code Editor. The use of AI-enabled code assistants, searching the code-base or web, or machine translation tools during the review is not allowed. The goal is to assess each student’s individual understanding of their submitted work.
This assessment task is to be completed in-person. The use of generative Artificial Intelligence (AI) or Machine Translation (MT) tools will not be permitted. Any attempted use of AI or MT may constitute student misconduct under the Student Code of Conduct.
Hurdle requirements
The Project Demonstration and Code Reviews assessment item is an Identify Verified Assessment Hurdle and must be passed in order to pass the course.Submission guidelines
The Project Demonstration and Code Reviews may not take place during your regular Applied Class. Students will be required to book a time slot from those made available. Due to the number of students and the time required for each review, it is not possible to accommodate everyone during their scheduled Applied Class. Booking details and available time slots will be made available on the Course Blackboard site.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.
If your extension request is approved, you must book a make-up session for the code review on or before your extended due date; or, if the extension falls on the weekend, the next business day. If a student with an extension does not attend their make-up session, a 100% late penalty will be applied.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
React Native App
- Mode
- Product/ Artefact/ Multimedia
- Category
- Computer Code, Project
- Weight
- 20%
- Due date
24/10/2025 5:00 pm
- Learning outcomes
- L01, L03, L04, L05, L06, L07, L08
Task description
In the React Native App assessment, students will build an interactive native app with a cross-platform JavaScript framework (React Native), testing with device simulators (iOS & Android). The native app will communicate with web & device APIs. Throughout, students will evaluate the design, implementation & architecture for delivering a complex native app.
The React Native App will be graded in the associated Project Demonstration and Code Review session. The React Native App must be submitted prior to the Project Demonstration and Code Review session.
Artificial Intelligence (AI) and Machine Translation (MT) are emerging tools that may support students in completing this assessment task. Students may appropriately use AI and/or MT in completing this assessment task. Students must clearly reference any use of AI or MT in each instance.
A failure to reference generative AI or MT use may constitute student misconduct under the Student Code of Conduct.
Submission guidelines
Submission details will be available via the assessment brief on Blackboard.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.
Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 14-21 days.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
The React Native Demonstration and Code Review
- Hurdle
- Identity Verified
- In-person
- Mode
- Oral
- Category
- Practical/ Demonstration
- Weight
- 12%
- Due date
27/10/2025 - 31/10/2025
This will take place in the Week 13 Applied Class.
- Other conditions
- Secure.
- Learning outcomes
- L01, L02, L03, L04
Task description
Students are required to complete a Project Demonstration and Code Review for both the React Web App and React Native App assessment items.
- React Web App Demonstration and Code Review: This will take place in the Week 10 Applied Class, where students will present and explain their completed React Web App. The weighting for the React Web App Demonstration and Code Review is 8%.
- React Native App Demonstration and Code Review: This will occur in the Week 13 Applied Class, where students will present and explain their completed React Native App. The weighting for the React Native App Demonstration and Code Review is 12%.
This assessment is a course Identity Verified Assessment Hurdle and involves a comprehensive code review, including questions that assess conceptual understanding. Students will be expected to:
- Explain and identify key segments of their code
- Answer questions on how they would implement new features or modify existing functionality
- Demonstrate a clear understanding of their design decisions and problem-solving approaches
The grading of both the React Web and React Native assessment items will also occur within these sessions. Students must submit their React Web and React Native assessment items prior to attending a Project Demonstration and Code Review session. If less than 50% of the required functionality, based on the assessment brief and rubric, is implemented, the Project Demonstration and Code Review grade will be capped at 50%.
Students must present their work and show their project in a Code Editor. The use of AI-enabled code assistants, searching the code-base or web, or machine translation tools during the review is not allowed. The goal is to assess each student’s individual understanding of their submitted work.
This assessment task is to be completed in-person. The use of generative Artificial Intelligence (AI) or Machine Translation (MT) tools will not be permitted. Any attempted use of AI or MT may constitute student misconduct under the Student Code of Conduct.
Hurdle requirements
The Project Demonstration and Code Reviews assessment item is an Identify Verified Assessment Hurdle and must be passed in order to pass the course.Submission guidelines
The Project Demonstration and Code Reviews may not take place during your regular Applied Class. Students will be required to book a time slot from those made available. Due to the number of students and the time required for each review, it is not possible to accommodate everyone during their scheduled Applied Class. Booking details and available time slots will be made available on the Course Blackboard site.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.
If your extension request is approved, you must book a make-up session for the code review on or before your extended due date; or, if the extension falls on the weekend, the next business day. If a student with an extension does not attend their make-up session, a 100% late penalty will be applied.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
Course grading
Full criteria for each grade is available in the Assessment Procedure.
Grade | Cut off Percent | Description |
---|---|---|
1 (Low Fail) | 0 - 19 |
Absence of evidence of achievement of course learning outcomes. Course grade description: The student has demonstrated little to no engagement with the assessments, failing to demonstrate a basic understanding of the fundamental concepts in the course, including functional programming in JavaScript, React Web or React Native. Total Mark < 20 |
2 (Fail) | 20 - 47 |
Minimal evidence of achievement of course learning outcomes. Course grade description: The student has demonstrated deficiencies in their understanding of the fundamental concepts in the course, including functional programming in JavaScript, React Web & React Native. Further exemplified by less than appropriate critical analysis of competing perspectives in the course, and an inability to apply knowledge & skills. 20 <= Total mark < 47 |
3 (Marginal Fail) | 48 - 49 |
Demonstrated evidence of developing achievement of course learning outcomes Course grade description: The student has demonstrated superficial knowledge of the fundamental concepts in the course, including functional programming in JavaScript, React Web & React Native. Further exemplified by undeveloped critical analysis of competing perspectives in the course, and an emerging application of knowledge & skills. The student has also failed to achieve a grade of Marginal Fail (3) or greater for the Design Activities assessment. 48 <= Total mark < 50 |
4 (Pass) | 50 - 64 |
Demonstrated evidence of functional achievement of course learning outcomes. Course grade description: The student has demonstrated adequate knowledge of the fundamental concepts in the course, including functional programming in JavaScript, React Web & React Native. Further exemplified by some critical analysis of competing perspectives in the course, and an acceptable application of knowledge & skills. The student has achieved a grade of Marginal Fail (3) or greater for the Design Activities assessment, thus reaching the pass hurdle for the course. 50 <= Total mark < 65 |
5 (Credit) | 65 - 74 |
Demonstrated evidence of proficient achievement of course learning outcomes. Course grade description: The student has demonstrated good knowledge of the fundamental concepts in the course, including functional programming in JavaScript, React Web & React Native. Further exemplified by some critical analysis of competing perspectives in the course, and an effective application of knowledge & skills. 65 <= Total mark < 75 |
6 (Distinction) | 75 - 87 |
Demonstrated evidence of advanced achievement of course learning outcomes. Course grade description: The student has demonstrated substantial knowledge of the fundamental concepts in the course, including functional programming in JavaScript, React Web & React Native. Further exemplified by perceptive critical analysis of competing perspectives in the course, and an extensive application of knowledge & skills. 75 <= Total mark <87 |
7 (High Distinction) | 88 - 100 |
Demonstrated evidence of exceptional achievement of course learning outcomes. Course grade description: The student has demonstrated mastery of the fundamental concepts in the course, including functional programming in JavaScript, React Web & React Native. Further exemplified by perceptive critical analysis of competing perspectives in the course, and a novel/creative application of knowledge & skills. Total mark >= 88 |
Additional course grading information
Assessment Grades:
The final grade for the course will be initially constructed from the individual grades according to assessment weightings (see above table). It will then be reviewed & moderated based on overall performance across the course. Course marks will be rounded down before application of grade cut-offs. The course coordinator reserves the right to moderate marks.
Additionally, you must attend and pass the Project Demonstration and Code Reviews for the React Web App and React Native App assessment items to reach the pass hurdle for the course.
When Submitting Assessments Online:
Please allow plenty of time for online submission, as many students are attempting the same task at the same time. Be sure to allow enough time for uploading of assessment files. It is your responsibility to check that submissions have been uploaded correctly.
Identify Verified Assessment:
The Project Demonstration and Code Reviews for the React Web App and React Native App assessment items are both identity verified. Both Project Demonstrations and Code Reviews collectively must be passed to pass the course assessment hurdle.
Supplementary assessment
Supplementary assessment is available for this course.
Additional assessment information
Seeking Course Help
If you are having difficulties with any aspect of the course material you should seek help. Speak to the course teaching staff.
If external circumstances are affecting your ability to work on the course, you should seek help as soon as possible. The University and UQ Union have organisations and staff who are able to help, for example, UQ Student Services are able to help with study and exam skills, tertiary learning skills, writing skills, financial assistance, personal issues, and disability services (among other things).
Complaints and criticisms should be directed in the first instance to the course coordinator. If you are not satisfied with the outcome, you may bring the matter to the attention of the School of EECS Director of Teaching and Learning.
Learning resources
You'll need the following resources to successfully complete the course. We've indicated below if you need a personal copy of the reading materials or your own item.
Library resources
Find the required and recommended resources for this course on the UQ Library website.
Additional learning resources information
All announcements, assessment briefs & learning resources (including Contact outlines, Lecture slides/videos etc) will be delivered via the course Blackboard site. An EdStem discussion forum will be accessible from the course Blackboard site for asking questions, seeking technical assistance and sharing resources.
Students are expected to check their student email account and the course Blackboard site regularly, especially prior to their Applied Class.
Learning activities
The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.
Filter activity type by
Please select
Learning period | Activity type | Topic |
---|---|---|
Multiple weeks From Week 1 To Week 12 |
Lecture |
Lectures from Week 1 to 12 1.5-hour Lectures delivered in-person, with recordings available for viewing anytime. Lectures will introduce functional programming in JavaScript, React Web & React Native in preparation for building upon these skills during later Lectures. Additionally, Lectures will discuss topics pertinent to the assessments, such as assessment introductions, cross device/browser design, privacy & ethics. Learning outcomes: L01, L02, L03, L04, L05, L06, L07 |
Multiple weeks From Week 1 To Week 13 |
Applied Class |
Applied Classes from Week 1 to 13 3.5-hour Applied Class delivered in-person. Applied Classes enable students to practice functional programming in JavaScript, React Web & React Native. Additionally, students will have multiple opportunities to give & receive feedback on their work to date, with a couple of Applied Classes earmarked for reviews of their assessments. Learning outcomes: L01, L02, L03, L04, L05, L06, L07 |
Additional learning activity information
Students will be expected to:
- Participate in an in-person Applied Class, timetabled at 3 hours per week.
- View the in-person or recorded Lecture, timetabled at 2 hours per week.
Students should expect to spend at least 5 hours per week for at-home study & work on assessments.
For a more detailed look at the weeks ahead, we will provide a “Weekly Schedule” document under “Learning Resources” on the Blackboard course site.
Policies and procedures
University policies and procedures apply to all aspects of student life. As a UQ student, you must comply with University-wide and program-specific requirements, including the:
- Student Code of Conduct Policy
- Student Integrity and Misconduct Policy and Procedure
- Assessment Procedure
- Examinations Procedure
- Reasonable Adjustments for Students Policy and Procedure
Learn more about UQ policies on my.UQ and the Policy and Procedure Library.
School guidelines
Your school has additional guidelines you'll need to follow for this course: