COMP1111 Summative Assignment 1: Client-side scripting
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
COMP1111 Programming Gold 2021-22
Summative Assignment 1:
Client-side scripting
1. Learning Outcomes
Subject-specific Knowledge
Interaction between JavaScript programme and the Document Object Model (DOM).
Using control statements to loop and make decisions.
Knowledge and understanding of good programming practice (e.g. reuse, documentation and style).
Subject-specific and Key Skills - students will be able to demonstrate:
an ability to realise solutions to problems as working JavaScript programs
an ability to apply reuse by exploiting predefined components
an ability to use software tools related to programming (e.g., web frameworks)
an ability to communicate technical information.
2. Outline of requirements
In this coursework you should demonstrate your client-side JavaScript skills by designing and developing a website/web application for one of the following domains:
IT start-ups
Climate change
Fashion industry (e.g., sustainability, designer’s web portfolio, online shop for clothing, fashion news, child labour, etc.)
Section 3 provides details about the requirements. Here is an overview:
I. Select one domain and a dataset for your domain
preferably JSON, but CSV is acceptable.
II. Create HTML
preferably in single page format
pay attention to user interface design – CSS.
III. Design web service and implement it in JavaScript. Demonstrate knowledge and skills in:
control statements, objects and functions
DOM and data visualisation (preferably D3/SVG).
IV. Apply good programming practices by:
using tools that support software development, e.g. web frameworks.
writing documentation - by using JSDoc
accounting for code quality.
3. Instructions
Choose a public dataset (or create one) that fits your website’s aim and target audience.
Find example datasets on:
- https://github.com/awesomedata/awesome-public-datasets
- https://msropendata.com/
- https://www.kaggle.com/
- https://registry.opendata.aws/
- https://toolbox.google.com/datasetsearch
- https://www.aminer.cn
- Or other sources you find on the web.
To make it easier on yourself, choose a smaller dataset, or reduce the dataset size.
Preferably, convert (the whole or part of) the dataset to JSON.
Website functionality:
- The content of the website should mainly be presented as interactive data visualisations using the data you have selected.
- Use the selected dataset to manipulate two objects/entities ofyour choice, e.g., news articles, designers, product items, locations, events, places, comments, etc.
- Input interface - user should be able to input information (search, input text, select from options, etc.) that will update (e.g., filter) data visualisations.
- Output interface – visualise the selected objects’ data with two different types of interactive data visualisations. These could be any visualisations ofyour choice, some basic examples are:
o bar or pie charts (aggregating data per e.g., items, year, product, location, etc.);
o line graphs for trends (e.g., viewing trends over an x period of time).
Website design and development skills:
- Design: Your website must have a clear purpose/aim which is explained/highlighted on the main/home web page.
o The website should preferably be in a single/one page style. Both input and output should be appearing on the same web page ofyour website.
o Apply user interface/experience design guidelines, you can refer to refer to: https://www.usability.gov/what-and-why/user-interface-design.html and
https://www.interaction-design.org/literature/article/user-interface-design-
guidelines- 10-rules-of-thumb. You should primarily focus on:
usability – ease ofuse, intuitiveness
responsiveness - adjusting for different devices (e.g., laptop and smartphone) and window size browsing.
- Development: Demonstrate skills in and use of:
o control statements
o objects and functions
o DOM
o visualisations/graphics - D3 and SVG
o embedding/importing data from JSON/CSV
o HTML+CSS (compliant with HTML5)
o website development tools, e.g. Bootstrap framework.
Code quality:
- Evaluate the quality of all your code by using ESLint.
- Fix the identified errors.
o Use the following to configure .eslintrc.js module.exports = {
“extends”: “standard”,
“rules”: {
“semi”: [2, “always”],
“indent”: “off”
}
};
- Document your code with JSDoc
o Usability: Main methods and parameters were documented.
o Clarity: Enough detail was provided to use the code and maintain it.
o References and acknowledgment ofthe source of original code and/or data (including licenses) were included.
4. Marking Criteria
The distribution ofmarks for Assignment 1 is presented in the table below.
|
Mark /100 |
1. Website functionality |
35 |
2. Website design and development skills |
35 |
3. Code quality |
20 |
4. Participation |
10 |
Please note that introducing more complexity to the design and development of your website will increase your mark. For the first three (1-3) marking criteria, your work will be evaluated using the following scale:
1. Fail (<40) – most of the basic requirements were not met; there are major errors in the website’s functionality.
2. Approaching expectations (40-59) - basic requirements were mainly met, with some issues in the design and development methods, and some minor functionality errors are present.
3. Meeting expectations (60-79) – all the basic/mandatory requirements were met; the website is fully functional.
4. Exceeding expectations (≥80) – the website is fully functional; however, beyond the basic requirements, more complex and/or creative solutions were implemented, including, e.g.: use and processing of larger datasets; manipulation of more than two objects; implementation ofmore than two types of interactive visualisations; use ofmore complex and creative visualisations/graphics (e.g., star-burst, interactive maps, etc.); programming skills in JavaScript classes with constructors, prototypal inheritance, code reuse; very detailed documentation, explaining all the methods and parameters; implementation of additional UI design guidelines.
Continuous participation (criterion 4)
10% of your coursework mark will be derived from your on-going participation and engagement in the module’s activities and tasks, including: formative assignment, peer review, in-class tasks, group discussions. Participation mark components and their weight are:
Marking: Submitted (1); not submitted (0)
Components Weight
Formative assignment |
Peer review |
Pre-/post-lecture tasks |
During-lecture interaction |
35%
25%
40%
bonus
Testing environment. Your submission will be tested on:
Windows 10 with Chrome
Visual Studio Code
2021-12-23