Corning Community College ENGR1050 C for Engineers ======PROJECT: Wire Up Something (WUS1)====== =====OBJECTIVE===== With your explorations from wus0, start to implement some more sophisticated, interconnected solution. This does not have to be a finished product, but it must have some level of demonstrable functionality. Be sure to contribute useful background and operational information to this project documentation, to serve as a reference for others. Not only because contributing to project documentation factors into your results, but to show off to the class what interesting projects you are pursuing. =====OVERVIEW===== Your task is to: * discover how to hook up and operate some component we've not otherwise utilized so far throughout our explorations in the course. * write a program that demonstrates its functionality. * there will be two more parts to this project, so if you want to take a broader-term view: * wus0: figure out how to use some component * wus1: prototype some circuit putting it to greater use * wus2: finished product Example: * wus0: figure out how to use an ultrasonic sensor * wus1: prototype a "useless" machine, using the ultrasonic sensor as a proximity sensor to determine if the user's hand is still near the switch (to avoid injury) * wus2: finished product of a "useless" machine =====GRABIT===== To assist with consistency across all implementations, data files for use with this project are available on lab46 via the **grabit** tool. Be sure to obtain it and ensure your implementation properly works with the provided data. lab46:~/src/SEMESTER/DESIG$ grabit DESIG PROJECT =====EDIT===== You will want to go [[/notes/c4eng/fall2024/projects/wus1|here]] to edit and fill in the various sections of the document: * [[/notes/c4eng/fall2024/projects/wus1|https://lab46.g7n.org/notes/c4eng/fall2024/projects/wus1]] {{page>notes:c4eng:fall2024:projects:wus1&nouser&nodate&nomdate}} =====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. * All code must compile cleanly (no warnings or errors) * Compile with the **-Wall** and **--std=gnu18** compiler flags * all requested functionality must conform to stated requirements (either on this document or in a comment banner in source code files themselves). * 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 (**make submit** on lab46 will do this) 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$ make submit 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: 156:wus1:final tally of results (156/156) *:wus1:used grabit to obtain project by the Sunday prior to duedate [26/26] *:wus1:picture of connected circuit to project page with description [26/26] *:wus1:picture or video of functioning circuit run by program to discord [26/26] *:wus1:clean compile, no compiler messages [26/26] *:wus1:program conforms to project specifications, tests component [26/26] *:wus1:code tracked in lab46 semester repo [26/26] ===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 256 bytes (absolute value of data content change)) * near the class content contribution average (a value of at least 1kiB) * no 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