The computer language that is to be used is P5'js online editor (link:https://editor.p5js.org/) or use the processing IDE editor using p5.js mode (link:https://processing.org/download/) and add the...

1 answer below »
The computer language that is to be used is P5'js online editor (link:https://editor.p5js.org/) or use the processing IDE editor using p5.js mode (link:https://processing.org/download/) and add the p5.js mode. However, I recommend the p5 js editor as it does not require any downloads and is more convenient when doing the assignment. Also, this assignment has a README section, where some of my information is required. For example, "Jane Smith" and "jsmith500" would be changed to "David Choi" and "d37choi". Also, I hope that the restrictions are kept in mind when creating the code and the requirements are all met especially the programming concepts that are to be used. Also, as this is an assignment that is making one's own game, please do not plagiarize any codes. Thank you and I appreciate your help.


Final Project Due: Tuesday, Dec 3, 11:59 PM ​(no extensions: late submissions receive 0)    This is a self-directed assignment where you get to decide what your p5 sketch does and what it  looks like. This is your chance to show what you learned in the course and what you can do. ​This  project will be marked out of 21 marks, and it is worth 6% of your final grade.  You are encouraged to discuss project ideas with your lab instructors.  Requirements  Use this starter project: ​https://editor.p5js.org/cs105/sketches/f7OKBSHW1  General  ● The starter code has a ​README​ section at the very top of the code file that must be  included and completed as per instructions below.  ● Your project must be a single p5 JavaScript project. ​You may have multiple data files  (such as images, sound files, etc.), but these must be in the “data” directory of the project  and included in your submission.  ● Once your submission is unzipped, your sketch must be ready to load into the  Processing IDE and run in a browser using p5 mode​. If TAs have difficulty running your  sketch on their machine, they will test it on one of the Mac lab machines. If it does not run  on a Mac lab machine, you could receive 0. ​Test your final submission on a Mac lab machine.   [ 10 marks ] Demonstration of Programming Concepts  The main functional requirement is that you apply key coding concepts from this course.   Specifically, you must demonstrate in code how you applied ​ten ​programming concepts.    You receive 1 mark for ​applying​ each concept correctly in code.​ Use comments in your code to make  it clear to the TAs where you’re using the concept. If you use a concept multiple times, just point out  the “best one”.  You must use these 6 ​basic concepts​:  ● drawing shapes and using drawing attributes (e.g. fill, stroke, lineCap, ...)  ● user-defined global variables  ● user-defined local variables (use them correctly)  ● conditionals   ● loops   ● user-defined functions  CS 105 | Final Project | ​Page 1 of 5  https://editor.p5js.org/cs105/sketches/f7OKBSHW1 You must choose at least 4 of these ​extended concepts​:  ● remapping with map()  ● rectangle or circle hit testing  ● arrays  ● mouse or keyboard event functions  ● loading and displaying images  ● image processing  General Correctness   ● You can choose any canvas size, but no larger than 1024 by 768 is recommended.   ● One or more marks will be deducted if the program crashes or “locks up” from an infinite  loop (depending on the frequency and circumstances).  ● Projects that do not run may receive a grade of 0.​ ​Even if you don’t complete the entire  project, don’t leave it in a broken state. Make sure it runs to get part marks.    [ 4 marks ] Coding Style and Efficiency  Follow the course ​“Code Style Guide”​ (on Learn).   ● We will be strict on coding style for this final project.   One or more marks may be deducted for solutions that have obvious inefficiencies.  ● Variables or functions that are declared, but not used.  ● Unnecessarily repeating the same code in multiple places.  ● Using “magic numbers” instead of variables, when the same value is used frequently or  when the value requires manual calculation that could have been performed in code    [ 4 marks ] Coding Quality and Visual Design  You will receive marks for any of the following: code that shows your programming skill, the  creativity of your idea, or your visual design. You can get full marks for really amazing code but  mediocre design. Mediocre code and amazing design will receive at most 3 marks.  You must write a short rationale in the “README section”​ to argue why your coding quality and  visual design are great. You should explain what part of your code you are most proud of and why.  This might be code you wrote that you think is elegant, code that you were stuck on for a while and  figured it out, or code that does something very cool. What visual effect was difficult to achieve?   [ 1 mark ] Video  Use a screen recording tool (like the built-in Quicktime player on MacOS) to record a program demo  similar to the assignment demonstration videos from previous assignments. Upload your video to a  site like Youtube or Vimeo, and submit only the URL (see README section).   ● Videos ​must be less than 2 minutes​, preferably 1 minute. ​You will not receive a mark if  your video is longer than 2 minutes.  CS 105 | Final Project | ​Page 2 of 5  ● If mouse movement is used, your screen recording tool must capture the mouse cursor.  ● If key presses are important, try to find a way to show key presses in your video.  ● Adding music and/or a voice over explaining what’s happening might be nice (this could be a  way to explain when keys are pressed), but is not required.    ● Keep it simple: cool transitions and fancy video effects are strongly discouraged.   ● The artistic or design quality of the video will not be marked. As long as it clearly  demonstrates the project, then you will receive the mark.  This video is your chance to show off your program to the TAs, and will be a great way for you to  show off your media programming skills in your resume.   With your permission, we would also like to use these videos to promote CS 105 to potential  students. Most likely this would mean positing it on a website, tweeting it, showing it in next year’s  class, showing it at recruiting fairs, etc. We would always acknowledge your name. You may grant  this permission in the README section.  [ 2 marks ] README Section   The top of your sketch file must have a “README” section, like the following text (you need to include  the /* and */). This is included in the starter project linked above.  /* Jane Smith jsmith500 INSTRUCTIONS CODING QUALITY AND VISUAL DESIGN VIDEO RELEASE I grant permission to CS 105 course staff to use my Final Project program and video for the purpose of promoting CS 105. */   Instructions:  ● Replace with your project name.  ● Change “Jane Smith” and “jsmith500” to your name and WatID.  CS 105 | Final Project | ​Page 3 of 5  ● Below VIDEO, paste the URL where your video is hosted. The video URL is required.  ● Below INSTRUCTIONS, type in complete instructions for how to use your program and  describe what it does. If you use keys, explain what each key does. If you use the mouse,  explain what the mouse does. If you can click or hover on objects, explain what they are and  what happens. The INSTRUCTIONS are required.  ● Below CODING QUALITY AND DESIGN, write your short rationale for why your coding skill  and visual design are great. This section is required.  ● Below RELEASE, type your full name if you grant us permission to use your program and  video in CS 105 promotional materials. We hope you will grant us permission, but if you  decide not to, rest assured it will not affect your mark in any way. The RELEASE is optional.  Restrictions  In general, you may not use any functions, libraries, or statements not covered in lecture or labs  unless not specifically exempted below or in a post by a TA or instructor on this assignment  discussion board. For example:  ● NO ​circle​ or ​square​ functions  ● NO ​translate()​, ​rotate()​, or ​scale()​ functions  ● NO classes  ● You MAY use ​bezier​, ​arc​, and other standard drawing functions   ● You MAY use the two p5.js ​Core libraries​ (p5.dom and p5.sound) that are part of the p5.js  distribution.  ● NO p5.js ​contributed libraries ​may be used.  If in doubt, make a post to ask about using a specific statement of function.  Marks will be deducted for using forbidden functions/statements/libraries.  Academic Integrity  This is an individual project, you are expected to do this final project yourself.   ● You CAN use code from any lecture, lab, or assignment from this term, but you should  understand how the code works and why you’re using it.  ● Other than code covered by the bullet above, all code submitted MUST be written by you.   ● TAs are available during lab time, during office hours, on the LEARN discussion board, and  through email to provide guidance.   NOTICE: We may request a meeting with you to go over your submitted code.​ If this happens,  you will be expected to explain in person how your program works and answer questions about  specific sections of the code. Failure to attend this meeting, or inability to answer questions about  the code you submitted could lead to an academic integrity investigation.  CS 105 | Final Project | ​Page 4 of 5  If you are unclear what constitutes an academic integrity violation (i.e. plagiarising code), review the  academic integrity tutorial in Lab 0, review the related sections of the Syllabus, or email Barbara Daly  at ​[email protected]​.  Submitting  Zip your whole project into one zip file, and submit it the correct assignment dropbox. This single  zip file must contain your all the files to run your sketch including all files needed in the “data”  subdirectory. Consult ​“How to Submit” ​on Learn for more information on how to create a ZIP.  It is your responsibility to submit to the correct dropbox with the correct files before the deadline.  Otherwise you will receive a mark of 0.  CS 105 | Final Project | ​Page 5 of 5  mailto:[email protected]
Answered Same DayNov 26, 2021

Answer To: The computer language that is to be used is P5'js online editor (link:https://editor.p5js.org/) or...

Robert answered on Dec 02 2021
155 Votes
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here