Corning Community College CSCS1730 UNIX/Linux Fundamentals ======PROJECT: Fun With Games (FWG0)====== =====OBJECTIVE===== Obtain the latest stable Vircon32 source code, along with its DevTools source code, collaboratively document how to build it from source, and modify the "hello, world!" demo in some way from the default. Perform this on your UNIX-based personal development system. As has been the case with many projects this semester, you will also be contributing to the project documentation, detailing the necessary steps to obtain, configure, build, and use the items being focused on. To better ensure everyone plays a part, you will also need to ask a project-related question to the class discord well before the due date (not a DM, not so late that a response won't come in time), and transcribe that in readable fashion to the project documentation under your pertinent section. Include a discord link to the relevant transaction for easier reference. With further clarification gained from asking the question, you will proceed to craft useful documentation with the rest of the class (the top of the document). The final result should allow anyone to accomplish the project. Failure to contribute (you don't ask questions to the discord chat, you don't ask a good question, you ask too late, etc.) of the process will be considered in violation of the spirit of the project. If you struggle with how to form questions, perhaps consider utilizing the college learning commons to receive assistance with forming good questions. =====EDIT===== You will want to go [[/notes/unix/spring2024/projects/fwg0|here]] to edit and fill in the various sections of the document: * [[/notes/unix/spring2024/projects/fwg0|https://lab46.g7n.org/notes/unix/spring2024/projects/fwg0]] {{page>notes:unix:spring2024:projects:fwg0&nouser&nodate&nomdate&editbtn}} =====SUBMISSION===== To be successful in this project, the following criteria (or their equivalent) must be met: * Project must be submit on time, by the deadline. * Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline. * Executed programs must display in a manner similar to provided output * output formatted, where applicable, must match that of project requirements * Processing must be correct based on input given and output requested * Output, if applicable, must be correct based on values input * Code must be nicely and consistently indented * Code must be consistently written, to strive for readability from having a consistent style throughout * Code must be commented * Any "to be implemented" comments **MUST** be removed * these "to be implemented" comments, if still present at evaluation time, will result in points being deducted. * Sufficient comments explaining the point of provided logic **MUST** be present * No global variables (without instructor approval), no goto statements, no calling of main()! * Track/version the source code in your lab46 semester repository * Submit a copy of your source code to me using the **submit** tool by the deadline. ====Submit Tool Usage==== Let's say you have completed work on the project, and are ready to submit, you would do the following: lab46:~/src/SEMESTER/DESIG/PROJECT$ submit DESIG PROJECT file1 file2 file3 ... fileN You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches. =====RUBRIC===== I'll be evaluating the project based on the following criteria: 78:fwg0:final tally of results (78/78) *:fwg0:submitted adequately modified demo code for project by duedate [13/13] *:fwg0:custom build script written in bash [13/13] *:fwg0:all files needed to build cartridge are submitted [13/13] *:fwg0:code compiles, cartridge builds with no warning or error [13/13] *:fwg0:committed modified source to semester repo [13/13] *:fwg0:Vircon32 and DevTools not committed to semester repo [13/13] Spirit of the project incorporates a good-faith effort to collaboratively document and build from source, and to create a custom build script that isn’t based on any tutorial **make.sh** scripts. ===Pertaining to the collaborative authoring of project documentation=== * each class member is to participate in the contribution of relevant information and formatting of the documentation * minimal member contributions consist of: * near the class average edits (a value of at least four productive edits) * near the average class content change average (a value of at least 1kiB (absolute value of data content change)) * no zero-sum commits (adding in one commit then later removing in its entirety for the sake of satisfying edit requirements) * adding and formatting data in an organized fashion, aiming to create an informative and readable document that anyone in the class can reference * content contributions will be factored into a documentation coefficient, a value multiplied against your actual project submission to influence the end result: * no contributions, co-efficient is 0.50 * less than minimum contributions is 0.75 * met minimum contribution threshold is 1.00 ===Additionally=== * Solutions not abiding by spirit of project will be subject to a 50% overall deduction * Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction * Solutions not utilizing indentation to promote scope and clarity or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction * Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction