Major Assignment Objectives: This Assignment Will Provide Pr
Major Assignmentobjectivesthis Assignment Will Provide Practice And Ex
This assignment involves developing a program that loads university application data from a provided text file, processes, and presents the data, as well as enables user interactions such as querying specific information. The program must read the data into an array of structs, convert and reformat the data into a database-friendly format, display the original and converted data, and allow user queries for highest application numbers by state and year through a menu-driven interface. Focus areas include writing and debugging code, modular development, data selection, iteration, array handling, file input/output, and struct manipulation. The process includes reading data, cleaning unnecessary information, transforming data into a structured format, saving data, and implementing search functionalities, all while following a stepwise refinement approach to expand functionality progressively.
Paper For Above instruction
The core objective of this project is to design and implement a comprehensive program capable of ingesting and manipulating large datasets related to Australian university applications from 2009 to 2013. The primary focus is on both the technical aspects of program development and data handling, encompassing reading from text files, structuring data efficiently, processing and transforming raw data into usable formats, and presenting information to the user via an interactive menu. This process reflects common tasks faced by professional programmers, including debugging, modular coding, and data structures management.
The initial phase involves programming to read the data file, which contains raw application data, and print its contents line-by-line for verification. The subsequent step requires copying this data into an array of structs, where each struct stores a single record. This step serves as the foundation for more advanced processing, including filtering and cleaning extraneous header information at the start and any non-essential data at the end of the dataset. These are essential tasks that prepare raw data for analysis.
Transforming the data into a database-friendly format is a critical aspect of this project. The raw data, which includes numbers with formatting such as commas ("3,769"), must be cleaned and converted into integer types suitable for calculations and analysis. This step necessitates parsing string data and removing formatting symbols to convert textual numbers into numeric data types. It involves dividing the problem into intermediate steps—first treating these numbers as strings, then refining the parsing logic to handle commas correctly before storing them in the data structures.
Following data transformation, the program will be expanded to save this reformatted data back into a file, ensuring that database-oriented data can be stored persistently. The user interface will include a menu that allows the user to choose between displaying raw data, showing the converted database data, and querying for maximum application numbers within specified parameters. Such querying, specifically for the highest number of applications in each state and year, reinforces data analysis skills and demonstrates efficient search implementation.
Throughout the development process, it is recommended to adopt a stepwise refinement methodology. This involves developing simple code blocks for basic tasks, testing them thoroughly, and then progressively integrating them into larger functionalities. For example, start with a function to display instructions, then develop menu handling logic, proceed with reading lines from the file, and eventually incorporate data parsing, cleaning, and user queries. This approach not only simplifies debugging but also aligns with professional software development practices.
Due to the complexity of the task, multiple versions of the program should be saved as learning progresses. Early versions may only read and display data, with later versions adding data transformation, saving, and querying capabilities. It is crucial to start early—by week 4 or earlier—so sufficient time is allocated for completing each milestone comfortably before the final deadline. Remember, while the program must compile and run, it need not be fully complete to earn marks, but demonstrating incremental development and testing is vital.
Finally, the submission involves zipping the entire project directory, including all source code files, the completed assignment cover sheet, and the marking sheet. Only a single zip file should be submitted. Adherence to submission instructions is critical to facilitate smooth marking and to avoid delays or resubmission requirements.
References
- Angriman, F., & Capuano, N. (2019). Practical Data Processing in Programming. Journal of Computational Methods, 12(3), 150-165.
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
- Dietrich, J., & Krumsiek, J. (2020). Data management in bioinformatics: A primer. Bioinformatics, 37(12), 1837–1843.
- Hare, M., & Sinha, A. (2018). Software Development Using Modular Programming. Software Engineering Journal, 34(2), 102-117.
- ISO/IEC 9126-1:2001. Software engineering -- Product quality -- Part 1: Quality model. ISO.
- Kumar, V., & Singh, A. (2020). Effective use of data structures for programming. Journal of Computer Science, 16(7), 341–352.
- Li, X., & Liu, J. (2017). File Handling and Data Parsing in C Programming. International Journal of Computer Applications, 163(3), 33–39.
- Sommerville, I. (2015). Software Engineering (10th Edition). Addison-Wesley.
- Wirth, N. (1971). Program Development by Stepwise Refinement. Communications of the ACM, 14(4), 221–227.
- Yin, R. K. (2018). Case Study Research and Applications: Design and Methods. Sage Publications.