COMP1111 Programming Gold 2021-22
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 Resit:
Client-side scripting
Markers: Suncica Hadzidedic ([email protected]) and Ryan Crosby ([email protected])
Expected workload: 15 days, 3-4 h/day => 50 h
Components marked: code, documentation
Total marks: 100
Weight: 40% of module mark
Coursework submission
Deadline |
4 August 2023 14:00 UK time |
Format |
Via Gradescope: - README.txt with execution instructions - HTML, CSS and any media - client-side JavaScript - .eslintrc - Dataset - and JSDoc (out html) |
Plagiarism, collusion |
Students suspected of plagiarism, either of published work or work from unpublished sources, including the work of other students, or of collusion will be dealt with according to Computer Science and University guidelines - https://www.dur.ac.uk/learningandteaching.handbook/6/2/4/ |
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 the book / publishing domain, e.g.:
- Best selling books, highest rated books, Big 5 publishers recommended books, top independent publisher rated books
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:
- See examples of book datasets on: Search | Kaggle
- Alternatively, search online resources for other music datasets that correspond better to your website, e.g., on:
- AMiner; Registry of Open Data on AWS; Google Dataset Search; Awesome public datasets; opendatasoft; Microsoft Research Open Data
- 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 of your choice, e.g., books and authors, books and reviews
- 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 of your 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 of your website.
o Apply user interface/experience design guidelines, you can 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 of use, 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 of the source of original code and/or data (including licenses) were included.
4. Marking Criteria
The distribution of marks for Assignment 1 is presented in the table below.
|
Mark /100 |
1. Website functionality |
40 |
2. Website design and development skills |
40 |
3. Code quality |
20 |
Please note that introducing more complexity to the design and development of your website will increase your mark. 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 of more than two types of interactive visualisations; use of more 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.
Testing environment. Your submission will be tested on:
§ Windows 10 with Chrome
§ Visual Studio Code
§ Bootstrap
2023-07-12