CPROG FALL2026 EOCE
The End of Course Experience (eoce) satisfies the fourth discrete grading component of the course. It is meant to evaluate your knowledge and understanding gained through the semester.
Unlike the regular weekly projects, the purpose of which is to promote a learning and understanding of the concepts of the course, this EoCE is meant more as a demonstration of your proficiency in understanding and utilizing the concepts and skills obtained, showing me how productive you can be with the experiences gained.
RULES
Presented within will be various activities evaluating your knowledge and experience gained this semester. In places where you are able, the more you write (ie comment) and explain topics the better the chance you will have of receiving full credit (and alternatively, the more credit you will receive should something defer correctness).
Unless otherwise specified, the components on this experience are open resource with the exception of other individuals. In that respect, it is CLOSED PERSON. This means you are not to communicate with other people (either in the class or otherwise), in real life or electronically. Use your own knowledge, use your own skills, and use your own ability to access the allowed resources to aid you in coming up with your well thought out responses to each activity.
You are allowed, and expected, to seek clarification on any activity by asking me. But the aim here is to evaluate what you have learned, so do not expect tutoring. Any help should be prompted by a well-asked question. The better and more informed your questions, the better my responses MAY be. In many ways, I designed this EoCE premised on each and every one of you interacting with me through the asking of informed questions. Those that do not take advantage of asking such calibre of questions and instead end up struggling, please know that you're doing this wrong. But also know that, the aim here is for you to accomplish the various tasks through your own understanding of the task and concepts at hand, and not to outsource your thinking and remembering to others.
You are to all of the available items. Submission is to be as a submitted
archive to the usual and appropriate places: the 'pctF' project submitted
via its usual process, the other items will be part of the eoce project
that you would have grabited.
To maximize any credit received (or to minimize points lost), optimize your submission for an organized and easy-to-read presentation of information that conforms with each section's stated guidelines. In the case of programs or scripts written, ensure that you are following proper and consistent commenting/documentation and indentation practices. Use well-named variables (at least 4 symbols long), and be mindful of how your particular files submitted will appear on a reasonably-sized terminal (most of my terminals are 80-90 characters wide), should that be the contextually relevant destination of output.
The EoCE is worth 26 points of your overall grade (projects (52) + participation (13) + notes (13) + eoce (26) = 104), representing a distinct fourth category within the grading policy of the course (Projects, Journal, Participation, and EoCE).
FINALS WEEK AVAILABILITY
While some classes are allocated a specific meeting time during finals week, I make all such times available should you be free and have questions. As such, finals week in CHM123 will look something like this:
- Thursday, December 10th, 2026 from 08:00AM-11:00AM
- Thursday, December 10th, 2026 from 02:30PM-05:30PM
- Friday, December 11th, 2026 from 02:30PM-05:30PM
- Tuesday, December 15th, 2026 from 11:15AM-02:15PM
Do note, the discord remains available for questions, and there is no need for you to be physically present at a given time during finals week. These are merely resources available to you should you wish to utilize them in the appropriate manners they are available to be used.
GRABIT
There is a grabit available for the EoCE. It would house the code for
the various programming sections. The letter division is transacted via
its own pctF project.
CONTENT
MAKE A CLOCK
Later in the semester, we started playing with the Vircon32 fantasy console, allowing us to make interactive and visual programs. Here, you will be creating a Vircon32 program (and associated resources) to produce a functioning 12 hour "analog" wall clock, updating each second.
Using the Vircon32 API, obtain the current second since the epoch (Jan 1, 1970 at midnight- via the get_time() function), and determine manually the current time (using MATH, not any of the Vircon32 time translation functions).
Render a 12 hour analog wall clock, complete with numbers, minute divisions, and the hour, minute, and second hands, correctly oriented to display the current time, and updating each second.
Have the clock tick (or have some button toggle clicking).
If you'd like, display some of the other date information (also computed mathematically), or support different timezones.
You could also have some level of interactive control, where the user can monkey with the time, and have it continue on from the point of manipulation.
Be sure to provide, either as a comment block in the source code, or as an obvious accompanying file, a summary of what you did, how to operate it (assuming these aren't in the form of on-screen instructions during operation), what isn't working, what from these specifications hasn't been achieved.
Your end result will be assessed based on implementation and correctness of functionality, along with clear, ease of use operation of the program.
The usual attributes of staying within the spirit of the project, a clean build, good indentation, descriptive comments, etc. all still apply.
Please provide ALL assets and helper files, along with your source code, in order to build your cartridge.
GAME
With our programming explorations, you've had the opportunity to put your skills to use making various games, sometimes building on them from week-to-week, while you grapple with putting the newfound topics to use.
Here is your opportunity to show off your skills, demonstrating your use of the various topics covered in the class: craft a game that, while it makes use of the spectrum of programming topics covered this semester, is also more involved, detailed, and polished than your previous efforts.
This can still be something built off of existing on-going game efforts, or you could choose to implement something from scratch.
The game should make use of the following, in some meaningful fashion:
- comments
- variables
- if statements
- loops
- arrays
- structs (or containers of some sort if you just want classes)
- functions
- classes
- inheritance
The game should be playable, polished, demonstrative of your mastery of the course concepts.
Things like original textures, title screens/menus, sound effects/music, multiplayer are welcome, but not strictly required.
Be sure to provide EVERYTHING needed to build your game, from source
.cpp files to .png/.wav files. Since we will be using the v32c++
transpiler, build scripts and XML files will be auto-generated from any
CART HINTs provided in the source.
If unsure: test your builds on lab46 before you submit to make sure you have everything needed to build the game.
Assume your game will be shown to others: I may showcase them at college outreach events, or share them with the broader Vircon32 community.
Ideally, make it something you will also want to keep playing / playing with in the future. Especially for those on the Computer Science path, the more you practice your skills the more proficient you will become. And you will need ready access to these skills in your future classes.
PCTF
Your task here is a familiar one: a letter division, just as we've encountered all semester. Only, this one is of the solve4 variety (ie not only do you have to solve for the key and provide a written step-by-step solution, but you also have to solve for the quotient and the remainder).
Additionally, the puzzle difficulty has been increased to 'hard', which should provide more of a challenge than the 'medium'-rated puzzles you've had prior.
Be sure to submit the appropriately-named and formatted files persuant to stated pctX project specifications (especially where a solve4-category puzzle is concerned).
SUBMISSION
The DEADLINE FOR SUBMISSION of this EoCE is 11:59:59pm EDT (that's 23:59:59 in 24-hour time) Tuesday, December 15th, 2026. This is the ultimate deadline for any and all coursework. There is no "late", only "too late". Don't be that person, not with this.
I would highly recommend not waiting until the last moment (or even the last week) to start on this. It has been released weeks in advance, with the intention that you chip away at it a little bit at a time, over the course of weeks.
As with the projects and other deliverables this semester, you can submit early (and worthwhile, early submissions or extra work can receive up to 7 bonus points (applicable to the EoCE grading component)), and also submit as many times as you desire. Note that when you submit, that resets the timestamp from which I will evaluate any early submission bonus points or on-time eligibility.
Eligibility of any received bonus points on the EoCE are ultimately up to my decision: if you have genuinely put forth just and honest effort that is worthy of this undertaking, you will likely receive any eligible bonus points as described. If you are more calculating and avoiding of work in your EoCE efforts, I reserve the right not to grant any bonus points.
Also, if I notice any cases of rule violations (people overhelping each other instead of letting each individual complete the EoCE on their own accord and ability), you risk forfeiting any/all bonus points or even any credit for the section(s) that you violated the rules on.
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 50% overall deduction
- Solutions not utilizing indentation to promote scope and clarity will be subject to a 50% overall deduction
- Solutions not organized and easy to read are subject to a 50% overall deduction
Good luck!