Course Projects
Project Process and Documentation
All projects should demonstrate care in design, usability, and code organization. JavaScript, HTML, and CSS must be written and understood by you rather than copied wholesale from another source.
For every project, begin by working out the program in plain English. At the top of your JavaScript file, before the code, include a multi-line comment containing:
- A numbered list of the logic steps for the program
- A short project statement explaining the concept and design approach
- For projects that permit AI, the tool used, relevant prompts or chat links, the output received, and what you changed or built on top of it
All media not created by you must be clearly labeled with source and copyright information. Sloppy code, untested output, or copied work that you cannot explain will count against the grade.
AI Use Policy
This course uses a phased approach to AI. The purpose is to develop enough programming fluency to evaluate, extend, and take responsibility for AI-generated code.
Weeks 1–7: No AI
The Clickable Page and Slider/Menu Site must be completed without AI assistance. You may use course materials and Stack Overflow. Write the logic steps yourself, translate them into JavaScript, test the code, and debug it.
Week 8: AI Introduced
Claude is introduced as a coding partner during the Electronic Literature project. AI may support planning, coding, and debugging, but you must read, question, adapt, and document its output.
Weeks 9–15: Documented AI Use
AI may be used for the Hangman work, Front-End Module Projects, and Final Project when permitted by the assignment. All meaningful AI assistance must be documented. Direct, unmodified AI output may not be submitted as your own work.
Clickable Page (5%)
No AI.
Build a single web page that responds to user interaction. Clicking elements should trigger visible changes such as content updates, CSS transitions, color or style changes, animated movement, or the appearance and disappearance of elements.
Plan the logic in plain English before writing code. Your grade will emphasize clear logic, working JavaScript, purposeful interaction, and a coherent visual design.
Minimum Requirements
- At least three clickable elements
- At least three visible changes produced with JavaScript
- DOM selection and manipulation
- At least one CSS transition or animated change
- Numbered logic steps in a comment before the script
- No AI-generated code
Slider/Menu Site (5%)
No AI.
You will receive a provided HTML and CSS structure containing an image slider and animated navigation menu. Your task is to write the JavaScript that makes the interface work.
This is primarily a logic and problem-solving project. You should be able to explain how each event, function, variable, and state change contributes to the slider and menu behavior.
Minimum Requirements
- Working previous and next controls
- Correct image or content indexing
- A functional animated navigation menu
- Clear organization using functions and variables
- Numbered logic steps in a comment before the script
- No frameworks, libraries, or AI-generated code
Electronic Literature (10%)
Create a work of electronic literature that uses JavaScript to select, combine, transform, or rearrange letters, words, sentences, or passages. CSS should contribute meaningfully to the reading experience.
The piece should have a clear concept. It should feel like an intentional work of writing and design rather than only a technical demonstration. Possible influences include Oulipo, generative poetry, recombinant narrative, concrete poetry, and early net art.
Possible Approaches
- Generative poem or prose system
- Recombinant narrative
- Interactive or branching text
- Text-based game or puzzle
- Visual transformation of language through CSS
Minimum Requirements
- JavaScript-generated or transformed text
- Random selection, recombination, or another rule-based process
- Purposeful typography, spacing, color, and layout
- A project statement and numbered logic steps in JavaScript comments
- Documentation of any AI assistance
Hangman (5%)
Collaborative build with individual CSS tasks.
We will build Hangman together as a class, working through the game logic step by step. The shared build will demonstrate how arrays, functions, conditionals, loops, events, and DOM manipulation work together in a complete program.
Your individual contribution will consist of assigned CSS and interface tasks completed and submitted on your own. You should be able to read and explain the existing JavaScript and extend the presentation without breaking the game.
Individual Submission
- Completed assigned CSS and interface tasks
- A functional version of the class Hangman project
- Clear comments identifying your individual work
- Any required AI-use documentation
Front-End Module Projects (10% + 10%)
Complete two independent projects after exploring the course’s front-end modules. Each project must combine at least two of the following:
- HTML5 Audio or Video
- Canvas drawing or animation
- P5.js
- An API using
fetch() - Canvas game techniques
The projects should demonstrate creative intent rather than merely showing that a feature works. You may use AI assistance, but you must document what it contributed and how you evaluated, changed, and extended the generated material.
Minimum Requirements for Each Project
- At least two front-end modules used in combination
- An original concept, visual approach, or interactive purpose
- Functional, tested JavaScript
- A responsive and readable interface
- A project statement and numbered logic steps
- Complete documentation of AI use
Final Project (25%)
Design and build an original JavaScript-driven website over the final four weeks of the course. You will work in pairs or small groups and use GitHub for version control and collaboration.
The site should reflect a genuine creative, informational, or professional purpose. It must incorporate at least two JavaScript techniques from the course and demonstrate thoughtful visual and interaction design.
Development Schedule
- Week 12: Concept, design, planning, roles, and technical outline
- Week 13: Development sprint I
- Week 14: Development sprint II, integration, and testing
- Week 15: Polish, final testing, documentation, and presentation
Project Requirements
- An original JavaScript-driven website
- At least two substantial JavaScript techniques from the course
- Thoughtful visual design, usability, and interaction design
- GitHub repository with regular, identifiable contributions
- Clear division of team roles and evidence of collaboration
- Tested, organized, and commented code
- Project statement, logic steps, and complete AI-use documentation
- Final presentation in Week 15
AI may be used actively for coding, debugging, and design ideation, but all use must be documented. Individual GitHub commit history will be considered when assessing each student’s contribution.