CS130: Spring 2020

Intro to the Web

CS130: Spring 2020

Final Project Deliverable

Due on Sun, 06/07 @ 11:59PM. 24 Points.

What to turn in

  1. A link to your code repository
  2. A link to your live website
  3. A written reflection / self assessment (1-2 pages) that answers the following:
    • What is the overall goal of your project, and who are your users?
    • How did you use the various web technologies / web frameworks to create your app?
    • What you believe you should be evaluated on? Please pick from the list(s) in the rubric section below and/or suggest your own criteria? Bullets fine.
    • What were 1-2 things you learned in the process of completing your project?
    • Please provide a self-assessment: how do you think you did on this project given the assessment criteria you selected for yourself?
    • What would your next steps be if you had more time?

Rubric & Evaluation

In evaluating your final project, the course staff and I will take the following into account (note that different criteria apply differently, depending on the direction of your project):

  1. The time/effort you put into your project, and your intellectual curiosity
  2. Your reflection of your own learning and possible next steps
  3. Your instantiation of the design / coding / web architecture principles
  4. Code proficiency / organization

General Criteria

Category Points Evaluation Criteria
Scope 4
  • Was the scope of your project commensurate with your level of experience?
  • Did you take into account all of the project feedback that was given to you (or else explain/defend why you did not choose to take a suggestion)?
  • Did you go out and research new technologies and figure out how to instantiate your ideas?
  • Did you push yourself to really engage with the ideas presented in the course on your own terms?
  • Did you take any risks (e.g. try to learn something you didn’t initially know how to do?
Reflection 4
  • Did you write a thoughtful reflection of the intent of the project and any lessons learned?
Execution of the project 16
  • See list below

Project Execution Criteria

Design Criteria

Note: not all of these criteria apply to all projects.

Category Evaluation Criteria
Layout & Navigation Your website / web app...
  • Has an attractive and usable layout
  • Is well organized — uses design elements size, fonts, repetition, whitespace, color to create hierarchy
  • Is it easy to navigate (working links, a clear way to navigate across / between sections)
Theme and consistency Your website / web app...
  • Has a consistent font, color, and style
  • Has a theme that communicate the values / brand?
  • Looks professional
Creativity and/or utility Your website / web app...
  • Shows originality and good overall design
  • Does something familiar in a new way
  • Provides real value to potential users
Communication
  • The purpose of your website / web app is clear
  • Users can figure out what the website is about when they arrive at your site for the first time
Responsiveness
  • Site works well on a Desktop and a mobile

Coding Criteria

Note: not all of these criteria apply to all projects.

Category Evaluation Criteria
General
  • Code works as intended.
HTML: Code & Accessibility The following HTML Requirements must be enforced (yes / no):
  • Content marked up using appropriate semantic HTML tags (h1, p, section, figure, caption, etc...)
  • Alt tags used on images
  • HTML is valid (use Markup Validation Service to check) links, a clear way to navigate across / between sections)
CSS: Code & Accessibility
  • Style is handled in CSS (versus using inline tags, etc.)
  • CSS is organized
JavaScript
  • Provides feedback and handles errors (if user types in wrong inputs)
  • Fetch API used correctly to read / create / modify / delete resources
  • Instantiates interesting, engaging, effective, and/or dynamic interactions and feedback
API Endpoints
  • API endpoints are nouns (e.g. resources); attributes make sense / productively describe the resource.
  • Makes effective use of third-party APIs
  • Remixes and stores data from different third-party APIs into the app.