CS 133JS, Beginning Programming: JavaScript
This is your opportunity to practice and demonstrate all the programming and problem solving concepts you've learned this term.
You can choose a project from the list of suggestions below or propose one based on an idea of your own.
The project should:
Use all the main programming concepts you've learned in the class:
Selection
Repetition
Functions
Arrays
Objects
Events
Use best coding practices like avoiding global variables, writing DRY code, proper indentation, descriptive variable names, explanatory comments, separating I/O from processing, etc.
Provide good user experience by using input validation, do-again loops or resets, clear instructions and/or prompts, etc.
Require more effort than an average lab assignment, but not as much as two lab assignments.
Not be the same as any of the class or textbook examples.
Not be the same as a project being done by another student in the class.
Not use code you got from someone else, the internet, or AI.
Dice games like "pig".
Grid based games like "Obstruction1".
A text based game like "Hunt the Wumpus".
A score keeping app for a more complex game like D&D.
A flash card app like "Quizlet".
An exercise and fitness tracker with features for setting goals, calculating calories burned, heart points, BMI, etc.
A diet and nutrition tracker with multiple features.
Your own idea.
There are three places on Moodle to submit your work:
Beta Forum
Each student will post a beta (draft) version in a forum so that you can get and give a code review before submitting the production (final) version.
Code Review Assignment
Submit a copy of the code review you did for another student.
Production Version Assignment
Submit the production (final) version of your project along with an updated copy of the code review you received.
Beginning JavaScript Course Lab Instructions by Brian Bird, written spring 2023, revised fall , are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.