Web Dev

Project Rubric

Photo of some random equation
Photo by John Moeses Bauan

Preamble: how to approach projects

Welcome to your first project for this course! Projects are, quite simply, fantastic. They’re a chance to bring together all the skills you’ve been working on in classes, readings and exercises, and FreeCodeCamp lessons to actually make something.

When you’re working on a project, aim not just to complete its requirements, but rather to actively think about each step of what you’re doing: what it’s aiming to accomplish, how it works, why you’ve made the choices you’ve made, etc.

Also, it can be helpful to think of your projects as client work. You’d (hopefully) want something you’re creating for a paying client to be of excellent quality throughout. Sweat the details, stretch yourself a bit, and see just how awesome of a project you can create.

Project Page Sections

You’ll see each of the following sections on each project page. Here’s a quick guide to what to expect in each one.

🌎 Overview

The big picture. A 30,000-foot view of the project—how it’s generally designed, the broad strokes of what it looks like. Expect necessary details to be omitted.

🧠 Rationale

Why we’ve designed this project in this way and what we hope for you to take from it.

In addition to clarifying what we’re hoping you’ll learn, this section will hopefully give you some additional insight as to how your instructor expects this assignment to achieve those goals.

🏗 Structure

Each project is set up a little differently. In this section, you’ll get a sense of what all the pieces of the project are and how they’ll fit together.

📺 Content

Briefly on content / topics for all projects generally:

What should your projects be about? Anything you choose!

If you want to dedicate your project to how to build a birthday cake for a baby hippo, that’s great! Your favorite movie, band, sports team, or hobby are all good choices, too. Pick content that you care about and that you want to spend some time thinking about. If you’re bored creating the site, there’s a good chance your audience will be bored, too. 

You can pick different content for each project, or choose a theme and run with it. It’s up to you!

Finally, while we’re not evaluating the quality of the content you create, take the time to make sure your content is of sufficiently high quality so as not to be distracting (avoid major grammar / punctuation errors, low-resolution images, etc.).

What you’ll see in the content section for each project

Content is in service of each project’s learning goals. There will be specific content notes for each project, but as a general rule, you’ll generate just enough content to convincingly execute each part of project, but no more.

An example: one part of your third project will ask you to create a news site using WordPress. You’ll see, among other details, notes saying that you’ll need enough articles to create a convincing home page, but that only one or two of those articles need to be complete beyond a headline, featured image, and intro paragraph.

📓 Grading (10 points total)

Each project in this course is worth 10 points total, divided into:

  • Project Elements – 9 points
  • Reflection – 1 point

We’ll get to the reflection in a bit. For now, let’s talk about the project elements—the things that we’ll be considering to evaluate the projects themselves. Broadly, they’ll be sorted into two groups:

  1. A list of things you must do not to fail (required elements)
  2. A menu of cool things you can choose from to take your project from passing to awesome (qualitative elements)

Required elements

The bare minimum. This section will detail the things you must do to not fail. You must complete each and every required element. Doing so is essential, but by no means sufficient, to earn a good grade.

😍 Qualitative elements

The things that will take you from merely passing to excelling. And, some great news: you don’t need to complete all of them to earn full credit for an assignment. Instead, think of them as a menu of options from which you may choose. 

You might select one or two and go incredibly in-depth on them, or choose a more moderate approach across a handful of them. We’ve built this flexibility in by design so that you can choose the ways in which you want to challenge yourself.

Outstanding projects will successfully complete all required elements and demonstrate ambition and mastery through one or more qualitative elements. (For more, see “Grading Scale” below.)

🤔 Reflection (1 point)

For each project, you’ll create a small cover page, often with screenshots, that includes a brief written reflection for your project. For each project, you’ll see details about how to organize your reflections and topics you might consider reflecting upon.

These reflections serve two purposes. First, articulating your thoughts about the process of creating each project will help you synthesize the skills you’ve learned and reinforce that learning.

Second—and this is where reflections can really carry more value than you might think—the reflections also allow you to share what you’re proud of and draw the instructor’s eye to elements of your work—which can end up helping you during the grading process!

A typical reflection might discuss topics such as:

  • New skills acquired
  • Struggles faced
  • Things you’re proud of
  • Additional things you’d like to learn / work on in the future

Our approach to grading

Each project will divide the 9 points assigned to the project elements differently—for example, a project with 3 elements might divide the points 3/3/3, while a project with two parts divides them 4.5/4.5, and a project with one part might assign all 9 points to that one part. And, there’s the matter of the 1-point reflection. With all that said, though, projects are evaluated holistically.

As your instructors, our primary concern is your learning, and we strive for our grading practices to reflect that. So, for each project, expect to receive a single, overall grade for the project, usually along with some brief specific feedback. All of the above details inform our grading, but, unless requested, we don’t typically provide item-level grades1.

If you have any questions or concerns about grading in this course, you can talk to your instructor at any time, but we’ve found that the most effective time to discuss grading concerns is before you submit any graded assignments.

Grading Scale

Competent (70-79.9)

Competent projects typically include most or all required elements but rarely include any qualitative elements. Technical errors that demonstrate a lack of understanding of key concepts are usually present, and a consistent lack of effort and care is apparent throughout. The reflection often appears hastily completed, with little substantial thought or insight.

Skillful (80-89.9)

Skillful projects typically include all required elements and usually include one or more qualitative elements, too. One or two small technical errors might be present, and a lack of effort and care might be apparent in places. The reflection appears thoughtfully completed, with signs of substantial thought and insight.

Distinctive (90-100)

Distinctive projects include all required elements and one or more qualitative elements. Few if any technical errors are present, and consistent sense of effort and care is apparent throughout. The reflection is of excellent quality, consistently demonstrating substantial thought and insight.

Ineffective (<70)

Ineffective projects typically omit multiple required elements and contain no qualitative elements. They usually contain multiple major technical errors, and little if any effort and care is apparent. The reflection is often absent or, if present, cursorily completed. Ineffective projects often also fail to follow key project instructions.

Submission

All projects will be submitted on your course site via the predefined course file structure. Your instructors will evaluate your projects by visiting those URLs, so to double-check that everything’s in the right place, visit those URLs yourself, ideally in a separate browser or an incognito / private window to ensure that you aren’t falling victim to any caching issues.


  1. But upon request, we happily provide more detailed feedback—really!