联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2025-03-05 10:33

Assignment 1: Javascript

COMP 315: Cloud Computing for E-Commerce

February 2025

1 Introduction

A common task when backend programming is data cleaning, which is the process of taking an initial data set

that may contain erroneous or incomplete data, and removing or fixing those elements. In this assignment, you

will be tested on your knowledge of JavaScript by implementing a set of functions that perform data cleaning

operations on a dataset.

2 Objectives

By the end of this assignment, you will:

• Gain proficiency in using JavaScript for data manipulation.

• Be able to implement various data cleaning procedures, and understand the significance of them.

• Have developed problem-solving skills through practical application.

3 Initial setup

On the canvas page for this assignment, there is a template file called Data P rocessing.js. Upload this template

file to Codegrade. Note that the function signatures and module export statements have been prepared for you.

Codegrade hosts a series of unit tests that will auto mark your code, and will present you with your final mark.

This allows for immediate feedback and removes any potential bias in marking. You have an unlimited number

of submissions to Codegrade. For this assignment you cannot import any additional libraries, as only the File

System (FS) library is allowed. The data you will be cleaning can be seen in Table 1.

Data name Note

id This is a unique integer identifier for each item.

name Each product has a name, which for this data set will just be the type of product followed

by a unique identifier integer.

price This is a real value representing the cost of the product.

category Each product has a general category such as Clothing or Electronics, and is saved as a

string.

type Each product’s type is a string that represents what sort of item it is.

quantity This is an integer value that shows how many of this item is currently in stock.

rating This is a real value that is a multiple of 0.5, starting from 0 and being capped at 5. This

value represents the number of stars users rate the item.

image link This is the link to the product in the database, and is saved in the format of “[cate gory]/[type]/[name].jpg”. Name is all in lowercase with the spaces replaced with under scores.

Table 1: The attributes that are stored for each product

1

Data name Note

category Each product has a general category such as Clothing or Electronics, and is saved as a

string.

type Each product’s type is a string that represents what sort of item it is.

min price This number represents the minimum price for this type of product.

max price This number represents the maximum price for this type of product.

Table 2: The attributes that are stored for pricing each type of product

4 Data cleaning

Add the following functionality to each of the functions. Do not modify the function signature or return

statement. The f ile name variable is the string that corresponds to a JSON file name without the ‘.json’

extension. For example if the file is called test.json then f ile name would have test stored. The entries

variable is an array of JSON objects corresponding to products. Each JSON object has the attributes listed in

Table 1. The products prices variable is an array of JSON objects corresponding to the minimum and maximum

price for each type of product. Each JSON object has the attributes listed in Table 2.

4.1 load JSON

This function should take the f ile name variable and load the corresponding JSON file. Note that the ‘.json’

file extension should be added. If the file cannot be found then an exception should be thrown that says

”‘[file name].json’ cannot be found”, where [file name] is replaced with the actual file name. The input text

should be converted to an array of JSON objects. If this process cannot be done, then it should throw the error

”‘[file name].json’ is not a valid JSON file” where again [file name] is replaced with the actual file name.

4.2 clean name

This function should iterate through each of the products, and replace null name values with the correct name.

If the name value is ‘null’ then the image link variable should be checked. If image link is not ‘null’ then

the name should be extracted from that. It should replace the underscores with spaces, and each word should

be capitalised. If image link is ‘null’ then the name should be taken from the ‘type’ variable. Each name is

unique, and is the type value with a unique integer identifier appended to it. This identifier corresponds to the

number of that type of product that have occurred up to that point. For example if the product type is ”Belt”,

and it is the third ”Belt” in the product list then it’s name should be ”Belt 3”.

4.3 clean price

This function takes in the entries variable, as well as the product prices variable. The price values should

always be non-negative number, and should first be changed to positive. The corresponding min price and

max price for this type of product should be found from product prices. If the price for the product is less

than the min price value for that type of product, then it should be set as the min price value. For example

if the price of Shoe4 is 1, and the min price value for Shoe is 3, then the price for Shoe4 should be set to 3. If

the price for the product is more than the max price value for that type of product, then it should be set as

the max price value.

4.4 clean category

This function should check if the category is ‘null’, then it should use the type value to fill in the missing data.

It should find other entries with the same type value, and then use this to fill in the corresponding category

value.

4.5 clean type

This function should check if the type is ‘null’, then it should check the name value. If the name is not ‘null’

then it should remove the unique number and use that value. If the name is ‘null’ then it should derive the

name from the image link.

2

4.6 clean quantity

The quantity of a product must be a non-negative value, so if the value is negative then it should be set to

positive. If the value is not an integer, then it should be rounded to the nearest integer using standard ‘rounding

half up’ rounding.

4.7 clean rating

If the rating for a product is set to ‘null’, then it should be set to 0. The rating of a product is given as a star

value between 0 and 5 stars. It is possible to give a product half a star, therefore the possible values are: 0, 0.5,

1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5. If a value does not correspond to one of these, then it should be rounded to the

nearest possible value.

4.8 clean image link

This function populates ‘null’ image link values using the other variables for the JSON object. This should be

in the format of “[category]/[type]/[name].jpg”. The category and type values are used as they are, however

the name value should all be in lowercase with spaces replaced with underscores. The ‘.jpg’ text should be

appended to the end.

5 Marking

The marking will be carried out automatically using the CodeGrade marking platform. A series of unit tests

will be ran, and the mark will correspond with how many of those unit tests were successfully executed. Your

work will be submitted to an automatic plagiarism/collusion detection system, and those exceeding a threshold

will be reported to the Academic Integrity Officer for investigation regarding adhesion to the university’s policy

.6 Deadline

The deadline is 23:59 GMT Thursday the 20th of March 2025. Late submissions will have the

typical 5% penalty applied for each day late, up to 5 days. Submissions after this time will not be marked.

https://www.liverpool.ac.uk/aqsd/academic-codes-of-practice/code-of-practice-on-assessment/

3


相关文章

【上一篇】:到头了
【下一篇】:没有了

版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp