PROG2005 PROGRAMMING MOBILE SYSTEMS
Summary
Title
Type
Due Date
Length
Weighting
Academic Integrity
Contract cheating and the use of GenAI, such as ChatGPT, in this assignment are strictly prohibited. Any breach may have severe consequences. Please read carefully the Academic Integrity section below.
Submission
Via Blackboard. You will need to submit your code for tasks in Parts 1 and 2 of the assessment by writing your code in TypeScript and Angular. For more details, please read the submission instructions below.
Unit Learning Outcomes
This assessment task maps to the following ULOs:
-
ULO1: contrast mobile device architectures, interfaces, operating systems, and common middleware technology
-
ULO2: apply user-centred techniques to create application interfaces
-
ULO4: analyse and explain privacy and security requirements specific to mobile applications
Assessment 2 – Programming project - TypeScript and Angular
Individual submission (NOT a group)
Monday 25 March 11:59 pm (Week 4)
Refer to the assessment details below
40%
Rationale
This assessment is crafted to deepen your understanding of TypeScript and Angular by engaging you in the development of applications that are relevant to Web and mobile systems programming. It serves as a practical opportunity to apply theoretical knowledge to real-world scenarios, enhancing your skills in creating user-centred interfaces and addressing privacy and security considerations in mobile and Web app development. Through this hands-on experience, you're expected to become proficient in these modern programming frameworks, setting a solid foundation for more advanced topics and projects in the field. The assessment will be further improved and extended in Assessment 3.
Task Description
Part 2 can be an expansion of Part 1. In this assessment, you are tasked with creating standalone applications using TypeScript and Angular, showcasing your grasp of these technologies. Your challenge is to develop a basic app for an art gallery in TypeScript (Part 1) and then extend or recreate this app using Angular (Part 2). Your applications should function without server-side interaction and maintain data structures for persistent user interactions within a session. This project not only tests your technical skills but also your ability to apply user-centred design principles in creating intuitive application interfaces. Though you can start again from scratch if you wish, it is recommended that you save your Part 1 before you start modifying it for Part 2. For lesser marks, you can divide your
PROG2005 Assessment 2
assessment into several smaller HTML pages to demonstrate the different aspects without having everything working together. This is not the preferred method.
Task Instructions
Part 1 – Basic TypeScript App
-
Objective: Create a TypeScript app for an art gallery to manage a simple database of artists and their artworks. The app should function while the browser is open, with no need for data persistence after closing the browser.
-
Initialization: Begin with either hardcoded data or an empty structure. Your code must use types effectively, particularly for parameters and return values.
-
Data Fields: Include artist ID, name, DOB, gender (“Female”, “Male”, “Unspecified”), artwork type (“painting”, “sculpture”, “photograph”, “video art”, “digital art”, “printmaking”), contact info, exhibition date, and special notes. All fields, except 'Special notes,' require values. The ‘Gender’ and ‘Artwork type’ field values must be one of the options shown. An artist ID can only be entered and saved once (it must be unique for each artist). An artist can be a featured artist or a regular artist, so find a way to specify an artist as a featured artist.
-
Features:
o Add, edit, and update artist data.
o Delete artists with confirmation prompts.
o Search functionality based on artist ID.
o Display all artists in the database.
o Display all featured artists in the database.
o Your App should also:
-
▪ Provideaninterfaceequallyviewablebynarrowandwidermobilescreens(it will be tested). Note that this is just a request to keep your app simple and displayable on narrow screens as well as possibly wider screens. This will be important when we get to mobile device apps later in the unit.
-
▪ Use interactive features (e.g., use innerHTML assignments) to improve user experience (not alert() calls!). You are expected to do error messages where necessary.
-
▪ Use of CSS styles. Just use them; there are no marks for artistic design. We are looking for the ability to use styles.
• Requirements: Implement a data structure (e.g., TypeScript array of objects/interfaces) that maintains data integrity through typing. Minimal HTML form elements are required; the focus is on TypeScript functionality.
Types are important in your code; however, there is no need to type everything, and the general applicability of typing is as you have seen in Module 2 of the unit. For example, there is no need to define a function type in a function definition as TypeScript, and the reader can easily deduce the type from the function definition. You will have to type parameters and return values, though. Marks may be deducted for too few type definitions, i.e., writing JavaScript instead of TypeScript.
PROG2005 Assessment 2
Your database would probably be a TypeScript array of JavaScript objects; each object has properties corresponding to the above fields. You can use another data structure if you wish (Such as class or Interface), but types will be necessary to ensure the integrity of the data.
• Code Structure: Maintain clean and commented code. Submit Part 1 of the assessment in a separate directory to avoid penalties.
Part 2 – Basic Angular App
-
Objective: Extend or recreate your TypeScript app into a multipage Angular application. Incorporate features for adding, deleting, displaying, searching, and editing artists, including a featured artist option.
-
Pages: Your app should have at least five pages, including error handling, information about the app, and a help page.
-
Features:
o Implement Angular forms separately from the multipage facility.
o Ensure navigation between pages is seamless, with error indicators and no brokenlinks. Use the Angular router for implementing the multipage facility.
o Include a help button on each page for easy access to assistance and error messagesfor incorrect data entries.
o Conduct an analysis of the privacy and security requirements specific to your Angularapplication. Add a page in your app that presents text explaining these privacy and
security requirements.
-
Styling: Use CSS styles for a user-friendly interface. Validate all inputs to ensure data integrity.
-
Code Structure: Maintain clean and commented code. Submit Part 2 of the assessment in a
separate directory to avoid penalties.
-
Requirement: This task is an opportunity to demonstrate your proficiency with Angular by
developing a functional, user-centric application for an art gallery. Focus on creating an intuitive interface and ensuring the application meets the outlined requirements for data management and user interaction.
Minimally, the app will have one component and one module, however, you will need more components to implement the assessment requirements. Your app should be user-friendly and less complex and needs to validate all inputs (e.g., input fields that need numbers only should not accept letters).
If you are experiencing personal or/and difficult situations, you must apply for a Special Consideration (see the link below) and inform your tutor before the due date to be considered. Unless an extension is approved, there is a late submission penalty.
Resources
In this section, provide links to resources required to complete the assessment task.
Use the following resources to support you when working on this assessment.
-
Unit Modules 2 - 4 on Blackboard.
-
Angular documentation (https://angular.io/docs)
Referencing Style Resource
PROG2005 Assessment 2
NA
Task Submission
You are required to submit your source code for both parts of the assessment as a single ZIP archive. Please upload this ZIP file to the designated submission link on the unit site. For TypeScript, ensure that you include TS files. If the file size exceeds the upload limit, please send the ZIP file via email or through a method specified by your tutor.
Ensure that your source code is well-structured and adequately commented, as you will be penalized for poorly structured or uncommented code. Each source code file submitted must include title comments identifying the author and the assignment part. Additionally, please organize the separate parts of the assignment into separate subdirectories (e.g., Part 1, Part 2, etc.). Failure to follow this instruction may result in penalties.
Please note that this assignment is due after the weekly modules have covered all required materials. It is advisable not to leave this assignment until the last minute; you can begin working on it while the concepts are fresh in your mind. You may start Part 1 before completing the study of all required materials. If you need an extension, you must apply to your tutor before the due date. Late submissions without an approved extension will incur penalties.
Academic Integrity
At Southern Cross University, academic integrity means behaving with the values of honesty, fairness,
trustworthiness, courage, responsibility and respect in relation to academic work.
The Southern Cross University Academic Integrity Framework aims to develop a holistic, systematic
and consistent approach to addressing academic integrity across the entire University. For more
information, see: SCU Academic Integrity Framework
NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence (GenAI) tools, the use of GenAI has not been appropriately acknowledged or is beyond the acceptable limit as defined in the Assessment, poor referencing, not identifying direct quotations correctly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion, cheating, contract cheating, fabricating information.
At SCU the use of GenAI tools is acceptable, unless it is beyond the acceptable limit as defined in the Assessment Item by the Unit Assessor.
GenAI May Not be Used
Generative Artificial Intelligence (GenAI) tools, such as ChatGPT, may not be used for this Assessment Task. You are required to demonstrate if you have developed the unit’s skills and knowledge. If you use GenAI tools to generate the code and you fail to demonstrate the required skills in your assessment task, it may result in an academic integrity breach against you as described in the Student Academic and Non-Academic Misconduct Rules, Section 3.
PROG2005 Assessment 2
This assessment, which is to be completed individually, is your chance to gain an understanding of the fundamental concepts of TypeScript and Angular on which later learning will be based. It is important that you master these concepts yourself.
Since you are mastering fundamental skills, you are permitted to work from the examples in the MySCU site or study guide, but you must acknowledge assistance from other textbooks, classmates, or online resources. In particular, you must not use online material or help from others, as this would prevent you from mastering these concepts.
This diagram will help you understand where you can get help:
Lecturer Tutors |
Relatives |
Classmates |
GenAI e.g., ChatGPT |
Students outside unit |
Private Tutors |
Online Forums |
Hired coders |
Other |
Encouraged
Attribution Required
Ask tutor