Assignment Set 9 (Uploaded on October 27, 2015) Clarification deadline date: November 05, 2015 Submission deadline date: November 09, 2015 Problem 1 [Create a toy database for summer internship placement] Prerequisite: Learn how to read from a file and write into a file in Java. Use references or tutorials from the web, or read any book. There are several ways to do these. Create a package named "cs15XX", where 15XX is your roll number. Under this package, Design and implement the Java classes (with abstract classes / interfaces if required) for a database which stores the information about students applying for summer internships in different companies. The database should support the following. Define classes as you require. (a) Given the path of the directory where the data is saved, open the database for reading / writing. The database should store all the data in the folder. How the data is stored inside the folder is up to you. The folder should be created if it does not exist. (b) Enter a new record for a student as (name, roll number, batch). Assume each batch has a unique way to assign roll numbers (e.g. csXXXX, msXXXX, msqeXXXX, É). The roll number can be used as a unique identifier for a student. (c) Enter a new record as (studentŐs roll number, name of the company, salary offered in Rupees, got the offer (yes / no)). (d) Given a studentŐs name (ignore uppercase/lowercase), return the names of the companies (as a list of names) in which the student has applied for an internship (null if no such student exists). Assume there is only one student by the name. If there are two students with the same name, return the records for any one of them. (e) Given the name of a company (ignore uppercase/lowercase), return the records of the students selected by that company (null of no such company exists in the database, an empty list if no student is selected) (f) The average salary offered by all companies. (g) The total number of students in the database. (h) The total number of students who have got an offer. (i) Close the database. All changes made to the data should be saved while closing. Marks: -- Design of the classes: 30 -- Implementation of saving and reading the records with reasonable efficiency : 40 (a + b + c + i) -- Implementation of the rest of the functionalities : 30 (d + e + f + g) [Marks: 30 {design} + 40 {a + b + c + i} + 30 {d + e + f + g} = 100] --------------------------------------------------------------- Naming conventions for program files. xx is your roll number: For Problem 1: The name of the package should be "cs15XX". ----------------------------------------------------------------------- At the top of each of your program files, add the following. If you are writing multi-file programs, then each file should have it. /*------------------------------------------------------------------ Name: Roll Number: Date of Submission: Deadline date: Program description: Acknowledgements: --------------------------------------------------------------------*/