Course Projects

AI Use Policy

Students are encouraged to use AI tools to amplify their strengths and enhance their learning. AI can be a valuable resource for:

However, in this course, ideas and approaches will begin with you. Much of the creative process will be sketching, planning and working out logic steps for your interactive sites. This is designed to slow the process down and help you develop a clear perspective and direction before you turn to AI tools.

AI should be used as a support for thinking — not a shortcut to bypass it.

AI tools — including those for generative media — are powerful learning partners, but they cannot replace the slower, deeper process of design thinking, workshopping, and evolving your own ideas in dialogue with others.



Project AI Documentation

IMPORTANT: For every project, you must:

This comment block is the most important part of your grading for documentation. Without it, the project is considered incomplete.


Project 1: Interactive Website (5%)

This first assignment brings together syntax, variables, conditionals, arrays, functions, and loops in JavaScript. Start with a simple idea for a website, just the basic elements and their interactions, and describe it in English. Use the Custom JS Mentor app to work out the logic steps based on your description and the line-by-line syntax. The site should be designed with CSS, but the majority of grading will be based on your documentation in GitHub of building a simple but dynamic website with user interaction that changes content on the page.

Suggested Ideas:

Working with JS Mentor:

  1. Describe your idea and layout for HTML structure.
  2. Detail your JavaScript steps in plain language.
  3. Develop the logic steps.
  4. Start coding with the GPT’s guidance.
  5. Iteratively refine and troubleshoot.

Project 2: Hangman Game (5%)

Design a Hangman game using JavaScript, HTML, and CSS. Start with the class-generated scripts or create a new one using ChatGPT. The goal is to understand the logic steps required for the game, to style your game with CSS and to showcase how JavaScript interacts with HTML elements. Add a visual hangman figure using HTML (no Canvas), and control visibility with JavaScript. Get creative with your style and theme!

Project 3: E-lit Project (15%)

Create an electronic literature piece using JavaScript to manipulate text. No other media, just text designed on the page with HTML, CSS and Javascript. Include a project statement in HTML comments describing your logic and ChatGPT use.

Development Steps:

  1. Idea Generation
  2. Conceptual Breakdown
  3. Consult with ChatGPT
  4. Script Planning
  5. JavaScript Implementation
  6. Testing and Refinement
  7. Styling with CSS
  8. Include the Statement
  9. Final Submission

Suggested Ideas:

Project 4: Map Story (20%)

Use the Mapbox API and JavaScript to create a story with at least 5 locations. Include text, images, and media for each marker. Provide a project statement in code comments.

Development Steps:

  1. Choose a theme
  2. Storyboard 5+ locations
  3. Consult with ChatGPT
  4. Map and script planning
  5. Implement Mapbox and JavaScript
  6. Test and debug
  7. CSS styling
  8. Integration statement
  9. Final submission

Suggested Ideas:

Project 5: Canvas Drawing (5%)

Create a drawing using the HTML5 <canvas> element and JavaScript. Draw at least 3 shapes, use 2 colors, and optionally add animation. Focus on experimentation and play.

Project 8: P5js Animation (5%)

Use p5.js to create a generative animation. Your sketch must include randomness (using random() or noise()), animation, and logical steps commented in the code.

Collaborative HTML5 Canvas Game: 25%

DUE: December 3rd

In teams of three, create an interactive HTML5 Canvas game that demonstrates your combined skills in design, programming, and creative collaboration. This project is an opportunity to experience a small web development workflow using GitHub for version control and to practice communicating logic, problem-solving, and design ideas as a group.

Each team will work with the Custom GPT created for this class to help plan, refine, and debug their game. Use it to translate your ideas and logic into human-readable steps before writing code. Each student will submit their AI chat transcript as part of the documentation of their contribution and learning process.

Your Steps:

  1. Team Brainstorm: Develop a shared game concept and visual style. Decide on your core mechanic, objective, and general mood or theme.
  2. Design and Roles: Identify areas of strength among your team—coding, sound design, animation, art direction, or logic planning—and distribute tasks so that everyone contributes meaningfully.
  3. Logic Steps: Use the Custom GPT to describe your game’s setup, gameplay loop, and scoring in plain language before coding. Save these chats as documentation.
  4. Collaborative Coding: Build your game using ES6 JavaScript, committing regularly to GitHub. Use branches and merges to manage contributions.
  5. Testing and Debugging: Playtest your game as a team and refine responsiveness, balance, and performance.
  6. Visual and Audio Design: Style the interface with CSS, and integrate sound effects, sprites, or other media to enhance the experience. You may generate assets or ideas with AI tools.
  7. Integration Statement: In your JavaScript file, include a brief commented section summarizing your game logic (as a list), description of team process and roles,how you used AI and links to essential chat URLs and to Github Repo.
  8. Final Submission: Upload your game as index.html in a folder named game and ensure all assets and scripts function properly online.

Suggested Game Ideas:

Grading Criteria:

  1. Collaboration and Process: Evidence of teamwork, GitHub participation, and AI-assisted planning.
  2. JavaScript Logic and Implementation: Effective and clear application of ES6 syntax and structure.
  3. Creative Design and Usability: Quality of interaction, visuals, sound, and overall play experience.
  4. Documentation and Reflection: Clarity and completeness of your logic statement and AI chat records.

Project Requirements:

  1. Title screen with game name and team member credits
  2. Well-commented, functional ES6 code
  3. Integration statement and AI chat documentation
  4. GitHub repository link included in submission
  5. Final build uploaded as index.html in folder named game