ICSI213/IECE213 Data Structures Goals: Design an ADT Bag. Grade: . This lab is worth 7 points. The grade is based on the participation and the lab submission Instructions: Students are required to study relevant materials prior to each lab if needed. Lab items to be submitted by 11:59 PM one day after your lab day: o Design - an UML class diagram Translation of the design - an interface class(Java) or an abstract class(C++) Note: If multiple items will be submitted, please store all items in a folder, zip the folder, and submit the zipped file. If one of the following is true, no credits will be given: The work is late The work is a copy and/or modification of another student's work. (Both will receive 0.) The work is copied from Internet or other resources Note: Students must turn in their original work. Any copied work from others and/or Internet will not be credited. Any cheating violation will be reported to the college Students can help by sharing ideas, but not by allowing others to copy their work. In Blackboard, one submission link is made for all sessions that are held on different times/days. The submission link will be open until after the last lab session submits. The timestamp will be used to determine the lateness of your submission. Please make sure to submit your lab by 11:59 PM one day after your lab day. Your Lab days Monday Wednesday Friday Your Lab Due days(One day after your lab day) By 11:59 PM on Tuesday By 11:59 PM on Thursday By 11:59 PM on Saturday Lab work: This lab is a stepping stone to project 01 The ADT Bag is a group of items, much like what you might have with a bag of groceries. The ADT Bag should have the following operations. You should use the same operation names that are shown below. create an empty bag that can hold up to 50 items, put an item at the end of the list of the bag finsert(itemll. remove the last item in the bag fremovelast(). remove a random item from the bag fremove Randomol (Note: a random item is an item at a random index.) get the index of the first occurrence of an item from the bag if it is existed (get(item)). get a reference to an item at position index/getfindex]). check how many items are in the bag (size()). check to see if the bag is full (isFull, check to see if the bag is emptylisEmptyll and completely empty the bag (makeEmpty()). To design the ADT Bag, create a UML class diagram and include the designs of the above-mentioned operations except the constructor (the first one). By standard, constructors shouldn't be included in an ..ll Ultra @ 64% 11:04 AM Labo2.pdf submit your ab by 11:59 PM one day after your lab day Lab days 2 of 2 nesday Your Lab Due days(One day after your lab day By 11:59 PM on Tuesday By 11:59 PM on Thursday By 11:59 PM on Saturday Lab work This lab is a stepping stone to project 01 The ADT Bag is a group of items, much like what you might have with a bag of groceries. The ADT Bag should have the following operations. You should use the same operation names that are shown below. Create an empty bag that can hold up to 50 items, put an item at the end of the list of the bag insertemill. remove the last item in the bag fremove a ll remove a random item from the bag fremover Randoml Note: a random item is an item at a random index.) get the index of the first occurrence of an item from the bag it is existed petitem get a reference to an item at position indexletindex check how many items are in the bag (size. check to see if the bag is full full check to see if the bag is empty isEmptyl and completely empty the bag makeEmpty To design the ADT Bag, create a UML class diagram and include the designs of the above-mentioned operations except the constructor the first one). By standard, constructors shouldn't be included in an UML class diagram. Constructors should be included in the classes that implement the design To translate the design into a computer program, write an interface cassava) or an abstract classic. In the interface aval, you should only include the method headers. In the abstract dassC a ll functions should be pure virtual functions Save the class diagram and its translation into a folder Zip the folder, and submit the zipped file on time in Blackboard. One submission per lab