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!