Names: Nikhil Patil, Aryaman Das
Github ID's: nikhil-patil, aryamandas
Title: cs56-math-conversion-quiz Brief Description: The primary goal behind this program is to test the user's knowledge regarding conversions between various notations such as hexadecimal, decimal, octal, and binary. Both a command line and GUI version of the program exist.
User Stories: As a student, I can utilize the math conversion quiz to ameliorate my familiarity with notations of numbers so that I can be prepared for any task or exam involving conversion of numbers.
As a student, I can take advantage of the provided hints in the GUI version so that I can structure my train of thought towards solving notation problems more effectively.
As a teacher, I can assign this math conversaion quiz to students so that I can evaluate their ability on material related to math notation conversions.
As a programmer, I can display my skill in programming by constructing and embellishing a math quiz so that I can showcase my work to peers and employers.
Does the Software Run? Yes, the program runs normally. The program can be executed both in the command line interface and the GUI. In the command line interface, the user can select the number of questions they would like to answer in the quiz session. The quiz then prompts each question and verifies whether the user input is correct. In the GUI, the user has the option of selecting what specific conversions they would like to be tested on. The GUI, unlike the command interface, also includes a hint feature. Aside from that, the GUI operates the same as the command line interface
User Stories for Potential Future Features:
As a student, I can enjoy the mild entertainment of cheeful messages and images that accompany correct answers so that I can stay optimistic and engaged while working through the quiz program.
As a teacher, I can use this quiz and its latest time trial mode so that my students will receive better and more challengeing practice in notation conversion under the pressure of time.
README.md Status Report The current version of the README.md does a solid job of describing the purpose and the features that the application currently has. The document could be improved by providing more information regarding the organization of the files that make up the program.
Build.xml Status Report The current version of the Build.xml file looks up to date. All the targets are presented cleanly and are delineated further by outlines of the tasks and responsibilities.
Assessment of Current Issues: Based of the github reports, there are a fair number of issues to be worked on. Point distribution is generous enough to earn 1000 points for our work. For example, we want to add a feature that reveals the correct answer if you miss a question. We also want to establish a "try again" feature in case you want to restart the same test. We would also like to clean the build.xml file and update javadoc comments, generally making the code more organized. Aside from implementing new features, we want to tackle bugs such as the issue of having the same first question for every quiz in masking mode.
Additional Issues: At this time, no additional issues have yet to attain our attention.
Code Analysis / Review The source code finally generally have descriptive comments that explain the purpose of methods and variables. The README.md files are also helpful as they contain descriptions of the naming conventions used throughout the program files. It is apparent how the classes involved throughout the program are relevant to one another - many of the classes depend on the performance of objects from other classes. Thanks to the numerous comments throughout the .java files, the code is overall well-organized and the purpose of each code segment is apparent in the event that a reader is unfamiliar with the syntax. The crucial text that we would share with another programmer would includeall the classes that involve the use of GUI widgets and components and their corresponding actionPerformed() event handler implementations. The majority of code for this program is focused in Quiz.java and QuizGui.java. These files would provide a good understanding for the operation of the program and these complement the remaining .java files.
Test Coverage Overall, the test coverage appears to be sufficient. There are numerous JUnit tests for all the .java files except the ScoreLoader.java and the QuizGui.java files. Looking towards expanding test coverage, we can increase the number of tests for each of the features that exist in the game. Also, there are a myriad of possibilities regarding invalid user input that could break the performance of the program. A crucial objective of improving test coverage could definitely involve working towards the validation of user input.