Week 14: Review

To Do This Week:

Work on HTML5 Games


Project 6: HTML5 Canvas Game (Group Project) (25%)

In teams of 3–4, design and develop an interactive game using the HTML5 Canvas API. Your team will collaborate via GitHub, using branches, commits, and pull requests to manage code and track contributions. The game must include clear visual design, scoring logic, and core gameplay elements. Document all development steps and note any use of ChatGPT or other AI tools.

Team Responsibilities

Project Workflow

  1. Game Concept Brainstorm (Team Meeting) – Use shared notes or GitHub Issues to capture ideas.
  2. Feature Planning – Define game mechanics, visuals, and scoring rules. Create a task list in GitHub Projects.
  3. Set Up GitHub Repo – Initialize a repo, write a README with team roles and game concept.
  4. Development with or without Branches – Each member works on their game features (e.g., game-logic, ui-design, scoring-system). Team members review before merging.
  5. Testing and Debugging – Run playtests, open GitHub Issues for bugs, track fixes.
  6. CSS & UI Styling – Finalize visuals, menu screens, and animations.
  7. Add AI-generated media (optional) – Document which assets were created with AI tools.
  8. Documentation – Include comments in code, a project write-up in the README, and a brief GitHub Wiki page explaining development decisions.
  9. Final Submission – Each of you will host the exact same final project of your group. You will submit to Canvas and Slack the url to the project in your dtc server directory.

Deliverables

Assessment Criteria


Quiz!

Use this prompt with ChatGPT to self-test your knowledge of JavaScript: "Please create a quiz to assess my understanding of JavaScript, focusing on basic syntax and fundamental concepts, including variables, data types, operators, functions, loops, arrays, conditionals, object literals and classes. Start with 10 questions covering these basic elements, using a mix of true/false, multiple choice, and short answer formats. For the last 5 questions, introduce intermediate-level concepts related to ES6, such as template literals, arrow functions, and let/const. Each question should be presented one at a time, followed by the correct answer and a brief explanation to help me understand the logic and syntax. After completing the quiz, provide a qualitative evaluation of my knowledge rather than a numerical grade, and suggest resources, strategies, or topics for further improvement in both basic JavaScript and ES6 features."

Follow-Up Practice

Modify the prompt as needed: "Based on my current understanding and performance in the JavaScript quiz, I would like to create a detailed learning plan to enhance my web development skills. I am particularly interested in [choose: 'front-end design', 'full stack development', 'game development', 'web design' etc]. Please help me develop a structured plan that includes the following components:
  1. Key Skills to Develop: Identify the essential skills I need to focus on for my chosen area. For front-end design, this might include CSS frameworks, JavaScript libraries like React or Vue, and design principles. For full-stack development, include both client-side technologies and server-side languages like Node.js.
  2. Project Ideas: Suggest practical project ideas that will help me apply these skills. These projects should vary in complexity, starting with simple applications and progressing to more integrated solutions.
  3. Learning Resources: Recommend books, online courses, and other resources that are best suited for learning the specific technologies and concepts I need.
  4. Using ChatGPT: Advise on how I can use ChatGPT effectively as a tutor assistant. Include tips on how to formulate questions for debugging, code reviews, or learning new programming concepts.
  5. Timeline: Propose a realistic timeline for achieving milestones in my learning journey, including when to start and complete each project.
  6. Feedback Mechanisms: Suggest ways I can get feedback on my projects, such as through code review sessions, joining online communities, or participating in hackathons.
Please tailor this plan based on my quiz results, focusing on areas where I need the most improvement, and aligning with my career aspirations as a [choose: 'front-end designer', 'full stack developer', etc]."