c11796494758b8a28647b1d5b7c137ee95383be4
haas/fall2026/cprog/eoce/EoCE.md
| ... | ... | @@ -0,0 +1,230 @@ |
| 1 | +# CPROG FALL2026 EOCE |
|
| 2 | + |
|
| 3 | +The End of Course Experience (eoce) satisfies the fourth discrete grading |
|
| 4 | +component of the course. It is meant to evaluate your knowledge and |
|
| 5 | +understanding gained through the semester. |
|
| 6 | + |
|
| 7 | +Unlike the regular weekly projects, the purpose of which is to promote a |
|
| 8 | +learning and understanding of the concepts of the course, this EoCE is |
|
| 9 | +meant more as a demonstration of your proficiency in understanding and |
|
| 10 | +utilizing the concepts and skills obtained, showing me how productive you |
|
| 11 | +can be with the experiences gained. |
|
| 12 | + |
|
| 13 | +## RULES |
|
| 14 | + |
|
| 15 | +Presented within will be various activities evaluating your knowledge and |
|
| 16 | +experience gained this semester. In places where you are able, the more |
|
| 17 | +you write (ie comment) and explain topics the better the chance you will |
|
| 18 | +have of receiving full credit (and alternatively, the more credit you |
|
| 19 | +will receive should something defer correctness). |
|
| 20 | + |
|
| 21 | +Unless otherwise specified, the components on this experience are open |
|
| 22 | +resource with the exception of other individuals. In that respect, it |
|
| 23 | +is **CLOSED PERSON**. This means you are not to communicate with |
|
| 24 | +other people (either in the class or otherwise), in real life or |
|
| 25 | +electronically. Use your own knowledge, use your own skills, and use your |
|
| 26 | +own ability to access the allowed resources to aid you in coming up with |
|
| 27 | +your well thought out responses to each activity. |
|
| 28 | + |
|
| 29 | +You are allowed, and expected, to seek clarification on any activity by |
|
| 30 | +asking me. But the aim here is to evaluate what you have learned, so do |
|
| 31 | +not expect tutoring. Any help should be prompted by a well-asked |
|
| 32 | +question. The better and more informed your questions, the better my |
|
| 33 | +responses MAY be. In many ways, I designed this EoCE premised on each and |
|
| 34 | +every one of you interacting with me through the asking of informed |
|
| 35 | +questions. Those that do not take advantage of asking such calibre of |
|
| 36 | +questions and instead end up struggling, please know that you're doing |
|
| 37 | +this wrong. But also know that, the aim here is for you to accomplish the |
|
| 38 | +various tasks through your own understanding of the task and concepts at |
|
| 39 | +hand, and not to outsource your thinking and remembering to others. |
|
| 40 | + |
|
| 41 | +You are to all of the available items. Submission is to be as a submitted |
|
| 42 | +archive to the usual and appropriate places: the 'pctF' project submitted |
|
| 43 | +via its usual process, the other items will be part of the `eoce` project |
|
| 44 | +that you would have `grabit`ed. |
|
| 45 | + |
|
| 46 | +To maximize any credit received (or to minimize points lost), optimize |
|
| 47 | +your submission for an organized and easy-to-read presentation of |
|
| 48 | +information that conforms with each section's stated guidelines. In the |
|
| 49 | +case of programs or scripts written, ensure that you are following proper |
|
| 50 | +and consistent commenting/documentation and indentation practices. Use |
|
| 51 | +well-named variables (at least 4 symbols long), and be mindful of how |
|
| 52 | +your particular files submitted will appear on a reasonably-sized |
|
| 53 | +terminal (most of my terminals are 80-90 characters wide), should that be |
|
| 54 | +the contextually relevant destination of output. |
|
| 55 | + |
|
| 56 | +The EoCE is worth 26 points of your overall grade (projects (52) + |
|
| 57 | +participation (13) + notes (13) + eoce (26) = 104), representing a |
|
| 58 | +distinct fourth category within the grading policy of the course |
|
| 59 | +(Projects, Journal, Participation, and EoCE). |
|
| 60 | + |
|
| 61 | +### FINALS WEEK AVAILABILITY |
|
| 62 | + |
|
| 63 | +While some classes are allocated a specific meeting time during finals |
|
| 64 | +week, I make all such times available should you be free and have |
|
| 65 | +questions. As such, finals week in **CHM123** will look something like |
|
| 66 | +this: |
|
| 67 | + |
|
| 68 | + * Thursday, December 10th, 2026 from 08:00AM-11:00AM |
|
| 69 | + * Thursday, December 10th, 2026 from 02:30PM-05:30PM |
|
| 70 | + * Friday, December 11th, 2026 from 02:30PM-05:30PM |
|
| 71 | + * Tuesday, December 15th, 2026 from 11:15AM-02:15PM |
|
| 72 | + |
|
| 73 | +Do note, the discord remains available for questions, and there is no |
|
| 74 | +need for you to be physically present at a given time during finals week. |
|
| 75 | +These are merely resources available to you should you wish to utilize |
|
| 76 | +them in the appropriate manners they are available to be used. |
|
| 77 | + |
|
| 78 | +## GRABIT |
|
| 79 | + |
|
| 80 | +There is a **grabit** available for the EoCE. It would house the code for |
|
| 81 | +the various programming sections. The letter division is transacted via |
|
| 82 | +its own `pctF` project. |
|
| 83 | + |
|
| 84 | +## CONTENT |
|
| 85 | + |
|
| 86 | +### MAKE A CLOCK |
|
| 87 | + |
|
| 88 | +Later in the semester, we started playing with the Vircon32 fantasy |
|
| 89 | +console, allowing us to make interactive and visual programs. Here, you |
|
| 90 | +will be creating a Vircon32 program (and associated resources) to produce |
|
| 91 | +a functioning 12 hour "analog" wall clock, updating each second. |
|
| 92 | + |
|
| 93 | +Using the Vircon32 API, obtain the current second since the epoch (Jan 1, |
|
| 94 | +1970 at midnight- via the **get_time()** function), and determine |
|
| 95 | +manually the current time (using MATH, not any of the Vircon32 time |
|
| 96 | +translation functions). |
|
| 97 | + |
|
| 98 | +Render a 12 hour analog wall clock, complete with numbers, minute |
|
| 99 | +divisions, and the hour, minute, and second hands, correctly oriented to |
|
| 100 | +display the current time, and updating each second. |
|
| 101 | + |
|
| 102 | +Have the clock tick (or have some button toggle clicking). |
|
| 103 | + |
|
| 104 | +If you'd like, display some of the other date information (also computed |
|
| 105 | +mathematically), or support different timezones. |
|
| 106 | + |
|
| 107 | +You could also have some level of interactive control, where the user can |
|
| 108 | +monkey with the time, and have it continue on from the point of |
|
| 109 | +manipulation. |
|
| 110 | + |
|
| 111 | +Be sure to provide, either as a comment block in the source code, or as |
|
| 112 | +an obvious accompanying file, a summary of what you did, how to operate |
|
| 113 | +it (assuming these aren't in the form of on-screen instructions during |
|
| 114 | +operation), what isn't working, what from these specifications hasn't |
|
| 115 | +been achieved. |
|
| 116 | + |
|
| 117 | +Your end result will be assessed based on implementation and correctness |
|
| 118 | +of functionality, along with clear, ease of use operation of the program. |
|
| 119 | + |
|
| 120 | +The usual attributes of staying within the spirit of the project, a clean |
|
| 121 | +build, good indentation, descriptive comments, etc. all still apply. |
|
| 122 | + |
|
| 123 | +Please provide ALL assets and helper files, along with your source code, |
|
| 124 | +in order to build your cartridge. |
|
| 125 | + |
|
| 126 | +### GAME |
|
| 127 | + |
|
| 128 | +With our programming explorations, you've had the opportunity to put your |
|
| 129 | +skills to use making various games, sometimes building on them from |
|
| 130 | +week-to-week, while you grapple with putting the newfound topics to use. |
|
| 131 | + |
|
| 132 | +Here is your opportunity to show off your skills, demonstrating your use |
|
| 133 | +of the various topics covered in the class: craft a game that, while it |
|
| 134 | +makes use of the spectrum of programming topics covered this semester, is |
|
| 135 | +also more involved, detailed, and polished than your previous efforts. |
|
| 136 | + |
|
| 137 | +This can still be something built off of existing on-going game efforts, |
|
| 138 | +or you could choose to implement something from scratch. |
|
| 139 | + |
|
| 140 | +The game should make use of the following, in some meaningful fashion: |
|
| 141 | + |
|
| 142 | + * comments |
|
| 143 | + * variables |
|
| 144 | + * if statements |
|
| 145 | + * loops |
|
| 146 | + * arrays |
|
| 147 | + * structs (or containers of some sort if you just want classes) |
|
| 148 | + * functions |
|
| 149 | + * classes |
|
| 150 | + * inheritance |
|
| 151 | + |
|
| 152 | +The game should be playable, polished, demonstrative of your mastery of |
|
| 153 | +the course concepts. |
|
| 154 | + |
|
| 155 | +Things like original textures, title screens/menus, sound effects/music, |
|
| 156 | +multiplayer are welcome, but not strictly required. |
|
| 157 | + |
|
| 158 | +Be sure to provide EVERYTHING needed to build your game, from source |
|
| 159 | +`.cpp` files to `.png`/`.wav` files. Since we will be using the `v32c++` |
|
| 160 | +transpiler, build scripts and XML files will be auto-generated from any |
|
| 161 | +CART HINTs provided in the source. |
|
| 162 | + |
|
| 163 | +If unsure: test your builds on lab46 before you submit to make sure you |
|
| 164 | +have **everything** needed to build the game. |
|
| 165 | + |
|
| 166 | +Assume your game will be shown to others: I may showcase them at college |
|
| 167 | +outreach events, or share them with the broader Vircon32 community. |
|
| 168 | + |
|
| 169 | +Ideally, make it something you will also want to keep playing / playing |
|
| 170 | +with in the future. Especially for those on the Computer Science path, |
|
| 171 | +the more you practice your skills the more proficient you will become. |
|
| 172 | +And you will need ready access to these skills in your future classes. |
|
| 173 | + |
|
| 174 | +### PCTF |
|
| 175 | + |
|
| 176 | +Your task here is a familiar one: a letter division, just as we've |
|
| 177 | +encountered all semester. Only, this one is of the solve4 variety (ie not |
|
| 178 | +only do you have to solve for the key and provide a written step-by-step |
|
| 179 | +solution, but you also have to solve for the quotient and the remainder). |
|
| 180 | + |
|
| 181 | +Additionally, the puzzle difficulty has been increased to 'hard', which |
|
| 182 | +should provide more of a challenge than the 'medium'-rated puzzles you've |
|
| 183 | +had prior. |
|
| 184 | + |
|
| 185 | +Be sure to submit the appropriately-named and formatted files persuant to |
|
| 186 | +stated pctX project specifications (especially where a solve4-category |
|
| 187 | +puzzle is concerned). |
|
| 188 | + |
|
| 189 | +## SUBMISSION |
|
| 190 | + |
|
| 191 | +The DEADLINE FOR SUBMISSION of this EoCE is 11:59:59pm EDT (that's |
|
| 192 | +23:59:59 in 24-hour time) Tuesday, December 15th, 2026. This is the |
|
| 193 | +ultimate deadline for any and all coursework. There is no "late", only |
|
| 194 | +"too late". Don't be that person, not with this. |
|
| 195 | + |
|
| 196 | +I would highly recommend not waiting until the last moment (or even the |
|
| 197 | +last week) to start on this. It has been released weeks in advance, with |
|
| 198 | +the intention that you chip away at it a little bit at a time, over the |
|
| 199 | +course of weeks. |
|
| 200 | + |
|
| 201 | +As with the projects and other deliverables this semester, you can submit |
|
| 202 | +early (and worthwhile, early submissions or extra work can receive up to |
|
| 203 | +7 bonus points (applicable to the EoCE grading component)), and also |
|
| 204 | +submit as many times as you desire. Note that when you submit, that |
|
| 205 | +resets the timestamp from which I will evaluate any early submission |
|
| 206 | +bonus points or on-time eligibility. |
|
| 207 | + |
|
| 208 | +Eligibility of any received bonus points on the EoCE are ultimately up to |
|
| 209 | +my decision: if you have genuinely put forth just and honest effort that |
|
| 210 | +is worthy of this undertaking, you will likely receive any eligible bonus |
|
| 211 | +points as described. If you are more calculating and avoiding of work in |
|
| 212 | +your EoCE efforts, I reserve the right not to grant any bonus points. |
|
| 213 | + |
|
| 214 | +Also, if I notice any cases of rule violations (people overhelping each |
|
| 215 | +other instead of letting each individual complete the EoCE on their own |
|
| 216 | +accord and ability), you risk forfeiting any/all bonus points or even any |
|
| 217 | +credit for the section(s) that you violated the rules on. |
|
| 218 | + |
|
| 219 | +Additionally: |
|
| 220 | + |
|
| 221 | + * Solutions not abiding by spirit of project will be subject to a 50% |
|
| 222 | + overall deduction |
|
| 223 | + * Solutions not utilizing descriptive why and how comments will be |
|
| 224 | + subject to a 50% overall deduction |
|
| 225 | + * Solutions not utilizing indentation to promote scope and clarity will |
|
| 226 | + be subject to a 50% overall deduction |
|
| 227 | + * Solutions not organized and easy to read are subject to a 50% overall |
|
| 228 | + deduction |
|
| 229 | + |
|
| 230 | +Good luck! |