Project Information
- Course: Web Programming I, CMIS 3500-400
- Professor: David Tucker
- Student: Jason Vanderburg
- Project Type: JavaScript Trivia Game
- Website: Jason’s Web Programming Homepage
- Date: May 27, 2026
1. Project Overview
The Retro Terminal Trivia Game will be a small JavaScript-based trivia game added to my existing Web Programming homepage. The game will use a retro terminal visual style to match the current design of the homepage. It will focus on beginner web programming concepts and provide users with a simple multiple-choice quiz experience.
The game will be linked from the assignments table on the main homepage and will function as one additional assignment page within the existing course website structure.
2. Project Purpose
The purpose of this project is to demonstrate basic JavaScript interaction within a webpage. The game will show how JavaScript can respond to user input, check answers, update a score, display feedback, and change page content dynamically.
The project will also give me practice organizing HTML, CSS, and JavaScript files within an existing website.
3. Target Audience
The target audience includes:
- My Web Programming professor
- My Web Programming classmates
- Visitors who access the published homepage online
The game will be written for users with beginner-level knowledge of web programming topics.
4. In-Scope Features
The project will include the following features:
- A trivia game page linked from the existing homepage
- A retro terminal-inspired visual design
- Web programming trivia questions
- One question displayed at a time
- Four answer choices for each question
- A score counter
- JavaScript answer checking
- Feedback after each selected answer
- A Next Question button
- A final score message
- A restart option, if time and complexity allow
5. Out-of-Scope Features
The project will not include:
- User accounts or login features
- A database
- An external API
- Random question generation
- Timed questions
- Multiplayer features
- User-submitted questions
- Score saving across sessions
- Complex animations
- Advanced JavaScript frameworks or libraries
These features are outside the current scope because the goal is to keep the project appropriate to my maturity.
6. Deliverables
The project will include the following deliverables:
- A trivia game HTML page
- A trivia game CSS file, if separate styling is needed
- A trivia game JavaScript file
- A link to the game from the main homepage assignments table
- A working published version of the game
- Valid HTML and CSS where applicable
7. Assumptions
This project assumes that:
- The trivia game will be added to the existing Web Programming homepage
- The game will use the same general retro terminal theme as the homepage
- The assignment allows the trivia game to be part of the existing website rather than a completely separate website
- The game will be built with beginner-level JavaScript
- The user will interact with the game by clicking answer buttons
- The game content will be hardcoded into the JavaScript file
8. Constraints
The project is limited by the following constraints:
- The game should remain simple enough for an early JavaScript course project
- The code should not rely on advanced libraries or frameworks
- The design should remain readable and usable
- The project should fit within the existing homepage folder structure
- The game should not become larger than necessary for the assignment
- The final page should be easy for the professor to open, test, and grade
9. Success Criteria
The project will be considered successful if:
- The game loads from the homepage assignments table
- The user can answer trivia questions one at a time
- JavaScript correctly identifies right and wrong answers
- The score updates correctly
- Feedback appears after the user selects an answer
- The game displays a final score at the end
- The visual design matches the retro terminal style of the homepage
- The page is organized clearly and remains beginner-appropriate
- The project meets the professor’s requirement for a JavaScript-based game