Project Nº 5: “Functions”
Apr. 22
In this capstone project, students will identify a problem—whether in their own life, or in the lives of others. They will then design and implement their
The problem should be something they can realistically and feasibly hope to
From its very beginnings, the web has been
And the web’s utility has been defined, in no small part, by individual people trying to meet a specific
These sites, and the web, proliferated when others found them—as the desire of one is often the desire of many. And online, you can “cast a large net.” People have found shared joy, confusion, interest, and ultimately
The goal of this project is to give students the time and space to explore a topic of their own interest, within the lens of the material we’ve covered in this course. The final deliverable will likely be a website—though it doesn’t
Students should focus on a strong conceptual base—as the project will rest entirely on their own idea. And then we will use the rest of the semester (and of our course) to tackle the problem.
Define Your Problem
You’ll identify three (3!) distinct, possible problems you can consider:
-
The problems could be mundane, little annoyances; they could be some bigger, vital difficulties.
-
It could be something in your daily life, or out in the world, or in your community.
-
It is important that these problems are
interesting andmeaningful to you, whether they affect you directly or not.
We’re not swapping! They are yours. -
Don’t be afraid to push the conceptual boundaries of a “problem”—but it can also be something straightforward.
-
Consider also problems that will allow you to research and conceptualize your solution thoroughly. Have “runway.”
-
Like any
function , your project should take aninput and have anoutput . It shouldtransform the input, to answer the problem.
Ask yourself: what are myinputs ; what are myoutputs ? -
And again, your projects should be
achievable and addressreal concerns. Where can you “make a dent?” We have 7 weeks now; can you approach it in that time?
Framed assmall ,medium , orlarge —shoot for amedium !
Do this in a (nicely-formatted) Google Doc. For each problem:
-
Write a paragraph (100–150 words
each ) describing its nature and how you hope to solve or improve it. -
Each proposal should include some basic background context for the problem at hand, as well as a brief outline of how (conceptually, practically, etc.) you might address it with what you know and the near horizon of what you can learn.
-
Separately, unpack and identify what you think the
challenges will be for this particular problem. -
A goal here (always) is to challenge yourself—tell us what you are hoping to
learn from working on it!
Submission Form
When you are done, submit your link—make sure that it is shared to all newschool.edu accounts!
Due Mar. 11
Project Roadmap
You will now narrow down to
Based on the initial feedback/ranking from your peers and instructors, you will revise your proposal—understanding and unpacking the boundaries of what you want to accomplish with what will be feasible. Further research how you might approach and solve your problem—whether conceptually or technically. Remember,
We’d like it to take this form:
-
A revised and expanded introduction and description—now including research and any pertinent links.
-
A list of features/functionality—think of each one as something the project
has ordoes . If you can’t think of many features, unpack them! Or you might not have enough scope.From your list, identify the one feature your project
has to do in order to be successful and indicate it as such. If it is big, further “break it down” as necessary into meaningful, actionable sub-features. -
We’d also like these features to be evaluated on an impact/effort matrix to help identify what is worth your time. Make sure all your features are here!
-
Last, we want you to use this information to make a high-level, week-by-week roadmap—ending on the final presentation day, April 22. Use each week as a grouping; we only have six from today!
This should include progress
for next class, beyond this roadmap itself.
The feature you identified as absolutely necessary will form the basis for your
Practically, this will take the form of a (new) Google Doc FigJam. We’ve set up a template to get you started.
-
Project Nº 5: Planning Template
Duplicate this (don’t edit the shared one!), rename it with your name, and make sure it still “lives” in our class project/folder. -
Submission Form
When you are done, send us a link and recap.
Due Mar. 25
Core Functionality
You should be working in code. (Remember, code is a form of sketching!) Set up your project repo, roughing out your initial DOM, and establish your basic CSS variables and breakpoints. For some of you, this might also mean an initial integration or semantic/behavior sketching—for others, this could be roughing out states across pages, ahead of JS.
The most important priority here is to implement the core functionality that your project
Every project will need something different here, but by April
Show us that you are doing what you need for yours!
Submission Form
Send us a link to your GitHub repo and an update/recap.
Due Apr. 1
Minimum Viable Product
You should now work towards a feature complete
Your focus is on getting your code and project
This might mean your click-through prototype now saves state; this might mean you’re rendering or have populated all your data. It could be more progress into front-end, but that shouldn’t be at the expense of any
Submission Form
Submit links to your GitHub repo and
Due Apr. 8
Refinement, Polish, and Testing
Your main, primary functionality should be complete—so now we want you to shift back some more into visual design. Maybe your code structure has informed interface changes; maybe your original visual concept just needs to be more thoroughly executed. This week should be about getting your design in a solid place—both in UX and UI.
We also want you to
Submission Form
Again, make sure you (re)submit your links.
Due Apr. 15
Final Refinements and Presentation
In the last working week, we want you to focus on
This is where you can get your <head> in order. Have someone proof your copy. Clean up your repo. Get your attributions in order. Make sure your fonts work on another computer. Check those breakpoints (again). Maybe tackle one of your “nice to haves” that got cut for time!
Do whatever else you need to make it feel
As always, your presentation is
Submission Form
Of course, make sure you have your final links.
Due Apr. 22
Our Expectations
We want to see a well-polished project which clearly demonstrates an engagement with and understanding of everything we’ve covered in this course.
This project is open-ended, by design—as many real projects you will work on are. This is so you may gain experience working in an open scope and within an undefined solution space. It is natural to have some false starts, but if you find yourself spinning out it is on you to reach out.
The standard “night before”
Given the nature of this project, we expect and look forward to each individual’s design and implementation being unique. There is no right answer here, but we want to see your work shaped and informed by your process, your peers, and our collective input.
Our technical/practical requirements
-
As a
function , your project should take aninput and transform it into anoutput . -
Include appropriate, considered metadata within your
<head>.For Chrome extensions: consider all the similar
manifest.jsontitles, icons, and descriptions that appear throughout the browser. -
Also include a
README.mdoverview of your project for Others/Future You (thatyou write). Make use of the Markdown formatting to make these intentional.Extensions: in lieu of actually publishing, treat this as your “landing page.”
-
As before, any page will be submitted as live, public URLs.
-
We won’t go chasing down links; submitting the form is “turning it in.”
-
These should work on any device (not just the student’s).
-
Any page should be
fluidly responsive across breakpoints. -
Your presentation should demonstrate all of your project’s behavior, and is
part of the project . -
“AI”/ LLM use must adhere to our “ask-mode” policy.
Notes on Format
-
We will be together as one group again, like we were in the Fall—so everyone can see each other’s work. We’ll go back to our regular “mirrors” space in the UC, Room Nº 620.
-
As with last semester:
everyone’s projects are due on the first day—next week, April 22. You will get the random presentation order that morning. -
It should go without saying that
any work after this point is a great way to fail this project (and thus the class), and we expect you to attend the second day even if you presented on the first. -
As with our last couple presentations, you will have the same 6–7 minutes to present. (We’ll try to give you a heads-up at the five-minute mark.) You’ll do this from your own machine, signed into Zoom for recording and the projector, from the live URL you have submitted—same deal as before!
-
We want to reiterate our community agreement again. Laptops closed, phones away, and folks shouldn’t be coming-or-going. The person presenting has the floor and our respect!
-
Introduce us to your problem, how you approached solving or improving it, and where you ultimately landed. Demonstrate all the functionality you’ve been hashing out over the past few weeks!
-
We’re agnostic on decks—but be sure to tell us a
story , remembering that your presentation is part of what we are practicing and evaluating here. This is our fifth time doing this, and you’ve all had our feedback. -
Each of your presentations will be followed by a few minutes of feedback and critique from both of us.
-
And as before we’ll both evaluate your work, presentation, and code against our expectations and our previous feedback. We’ll then average our scores for your overall project and send this on Slack, along with your overall course grade for the semester.
We’re really looking forward to it! We’ve all come a long way.