data structure and algorithm

You are requested to implement a simple IoT device management system. IoT devices

can be categorized into three main groups: consumer, enterprise, and industrial.

“Consumer connected devices include smart TVs, smart speakers, toys, wearables and

smart appliances. Smart meters, commercial security systems and smart city technologies

— such as those used to monitor traffic and weather conditions — are examples of industrial

and enterprise IoT devices. Other technologies, including smart air conditioning, smart

thermostats, smart lighting and smart security, span home, enterprise and industrial

uses.”1 An IoT device can be identified by many fields including category, Identifier, …

1- (2.5 mark) Describe the IoT data type, IoTdevice, using Java classes. Make sure

to use Java inheritance, an interface, and an abstract class.

2- (5 marks: 1mark/method) We want to implement a simple application that

manages the IoT devices. You are asked to develop a Java application that uses

an array to store all information regarding the IoT devices installed in a building and

using the newly created data type IoTdevice defined in 1). You should provide a

menu with the following options:


IoT Device Management System (CSC301, Fall2020)


1- Add a new IoT device

2- Delete all existing IoT devices given a category

3- List all existing IoT devices from one category

4- Check if an IoT devices exists based on its ID

5- Sort all IoT devices based on two criteria of your choice

0- Quit


Your choice? __


Please use the partial Java code provided with this assignment which prints the

menu. You MUST do this lab in groups of maximum two students. This Lab

counts for 7.5 marks. You should upload your work via the course website on time

before September 29th, 23:59. Any late submission will be penalized (-0.25 / day).

Evaluation: You will be evaluated based on a demo during which you will be asked

individually various questions.