This is a programming project for COP3538 focusing on array searching and sorting algorithms in Java. Students are tasked with creating two classes: `State` and `Project1`. The `State` class stores information about US states (name, capital, abbreviation, population, region, US House seats) and provides methods for data access, comparison, and printing. The `Project1` class reads state data from a CSV file, creates an array of `State` objects, and presents a menu-driven interface to the user. Users can choose to print a state report, sort the array by different fields (using Bubble, Selection, and Insertion sorts), search for a state by capital city (using binary or sequential search depending on sorting), or quit. The project requires implementing various sorting and searching algorithms, file I/O, and object-oriented programming concepts in Java. The assignment includes detailed instructions, example outputs, and documentation guidelines for the code.