Skip to main content

📓 Independent Projects and Code Reviews

Overview​


At the end of each course section you will complete an independent project. This project will demonstrate the concepts covered during the section. It will also act as an example of your coding ability in your growing portfolio.

This lesson will walk through the entire independent project process, including deadlines, schedules, expectations, feedback, and submission.

Code Reviews​

At Epicodus, we use "independent project" and "code review" interchangeably. A code review is the activity of someone other than yourself reviewing your code for mistakes. We also simply refer to "code reviews" as "CRs".

In the tech industry, code reviews are commonly used for quality assurance. Before your code gets added to production, your colleague or manager will review your logic, code structure, and ensure that you are following best practice and convention. Often, your colleague or manager will ask you to make changes to your code before they approve it to be added to production. By the way, "production" or "production code" is a way to describe software and code that is actively being used by customers.

At Epicodus, your coding instructor will review the independent project you submit for each course section as your "code review". Also, in some class exercises, we invite you to do peer code reviews, in which you and your pair reviews another pair's code.

Academic Honesty​


Independent projects must be completed individually. You may reference online resources, Learn How To Program, and your own code, but you may not view or copy current or former students' work.

As explained in our Student Handbook, these projects are an opportunity to receive personalized feedback, and to ensure you're developing skills for success after graduation. If you plagiarize work you both lose this valuable opportunity and risk setting yourself up for failure at a job or internship. This will not only harm you, but the reputation of all Epicodus students as well.

For these reasons, projects are carefully reviewed to confirm all work is your own. Students found to have plagiarized or received help from others will be expelled.

The next lesson goes into detail about what you can and cannot reference, including general guidelines and what to do if you are struggling.

Keep in mind that failing projects may be resubmitted. (see Resubmission below). If you find yourself struggling, don't feel tempted to plagiarize. Do the best you can, and submit what you have. You and your teacher can later work out a plan for revisiting and resubmitting the project.

Schedule for Full-Time and Part-Time Day Students​


The following information is applicable for both full-time and part-time students who participate in classes that occur in the day-time. If you are an evening part-time student, you may skip ahead to the next section.

Independent project prompts are published on Epicenter each Friday at 8:00 am PST. You can find the prompt by going to the Courses tab, selecting your current course, and then selecting the CR that matches the course section.

Projects must be submitted through Epicenter by 5 pm PST on the same Friday it was assigned.

This calendar shows the process for independent project submissions, reviews, and resubmissions for full-time students.

The calendar above shows the independent project process for the full-time and part-time day programs:

  • Every Friday, independent projects are released at 8 am PST and submitted by 5:00 pm PST.
  • Your instructor will review your independent project in the following week. If all objectives are met, you are done!
  • If there are any incomplete objectives, you will need to fix any issues and resubmit your independent project by 8:00 AM PST on the Monday ten days after the initial submission deadline.
  • Your instructor will review any resubmissions that week.
  • If there are still incomplete objectives at that point, you'll have one more opportunity to fix any remaining problems in the project by 8:00 AM the following Monday seventeen days after the project was initially assigned.
  • If the submission is still not passing, you will likely be asked to leave the program, though you may be invited to try the program again at a later date.

Schedule for Part-Time Evening Students​


If you are a full-time student, or a part-time day-time student, skip ahead to the next section.

Independent project prompts are published on Epicenter on Thursdays at 8:00 am PST, every other week. You can find the prompt by going to the Courses tab, selecting your current course, and then selecting the CR that matches the course section.

Projects must be submitted through Epicenter no later than the following Sunday by the start of class at 9 am PST.

This calendar shows the process for independent project submissions, reviews, and resubmissions for part-time students.

The calendar above shows the independent project process for the part-time program:

  • On Thursdays, every other week, code review prompts are made available on Epicenter at 8 AM. In the example above, that is the 4th and 18th of March.
  • You need to turn in your code review by the following Sunday. Initial code review submissions are always due on Sunday. In the example above, the code review was assigned on Thursday, March 4th, and the initial submission is due on Sunday, March 7th.
  • Your instructor will review your independent project during the following week. If all objectives are met, you are done!
  • If there are any incomplete objectives, you will need to fix any issues and resubmit your independent project by 9:00 AM PST on the Sunday ten days after the prompt was assigned. The code review in the above example was made available on the 4th of March, and the first resubmission is due on March 14th.
  • If there are still incomplete objectives at that point, you'll have one more opportunity to fix any remaining problems in the project by 9:00 AM the following Sunday, seventeen days after the project was initially assigned. The code review in the above example was made available on the 4th of March, and the final deadline is due on March 21st. On this same day, the next code review is due! In the example above, this next code review was opened on Thursday, March 18th at 8 AM.
  • If the submission is still not passing, you will likely be asked to leave the program, though you may be invited to try the program again at a later date.

Course Requirements​


Successful completion of independent projects is required to pass courses and graduate. Keep the following in mind:

  • All independent projects must be completed and passing to pass a course.

  • You must pass your current course to advance to the next course.

  • You must pass all courses in the track to be eligible for an internship, and to graduate.

  • You are also required to verbally walk your instructor through at least one independent project codebase in-person or by video at least once in the program. At your instructor's discretion, you may be asked to do this more than once. Your instructor will determine which project to discuss and set up a meeting.

Expectations​


In general, we have the following expectations for independent projects.

  • All independent project objectives should be successfully completed. If you are unable to complete all objectives by the deadline, you will have a chance to fix and update your independent project.

  • The completed project must use the provided prompt. For instance, you cannot simply create your own prompt because you do not want to work on the prompt provided. As an example, if the prompt asks you to create an application for an imaginary storefront, you cannot instead turn in a choose-your-own-adventure application, even if the completed project demonstrates understanding of the course materials.

  • You must work on the project for the specified amount of time, and during the time frame allotted.

    • For full-time students, students are expected to work 8 hours between 8 am and 5 pm on Friday PST.

    • For part-time day-time students, students are expected to work 4 hours between Friday at 8 am and the following Monday at 8 am PST.

    • For part-time evening students, students are expect to work 4 hours between Thursday at 8 am and the following Sunday at 8 am PST.

      If you need an exception (for instance, you do not have childcare or have to work during part of the allotted time), you can check in with your instructor about an alternate time to complete the prompt. Exceptions can also be granted for documented emergencies. Note that instructors may use your Git commit history (Git is a tool for tracking changes to code) to help determine whether you spent the full amount of time working on the project.

  • If you finish your project early, you are still expected to spend the full amount of time working on your project. See Further Exploration below. Remember that you can always add additional functionality or make an application look nicer. Even if you complete any further exploration objectives early, use the extra time to practice coding and challenge yourself further.

  • All projects must include a complete README. We'll go over the requirements for a README in a future lesson.

Further Exploration​


Each project includes a Further Exploration section with optional objectives. These are ideas to extend your application beyond the minimum requirements. You're encouraged to tackle these extra features if you complete the primary objectives with time to spare.

Remember, the purpose of completing these projects isn't just to pass your courses! In the future, you will need to demonstrate your coding skills to potential employers. By creating polished, professional projects in each section you will exit the program with a diverse, well-rounded portfolio before you even begin your job search!

Submission​


For full-time students, and part-time day-time students, Independent Projects must be submitted by the end of class on Friday at 5 pm.

For part-time evening students, Independent Projects must be submitted on Sunday by the start of class at 9 am.

Before submitting, do a final check for each objective. Spend a few minutes checking indentation, removing commented-out code, creating a detailed README, etc. Your project should feel polished and complete.

When everything is in order, complete the following steps to submit your project:

  1. Push the final code to a GitHub repo.
  2. Login to Epicenter and navigate to the Courses tab, then select your current course, and then locate the Code Reviews section.
  3. Select the link for this section's code review.
  4. Paste the link to your GitHub repo in the provided field.
  5. Take a moment to complete the survey, which includes a few brief multiple-choice questions about how the section went for you. Epicodus staff uses this information to continually improve our processes and content. While your code review is associated with your Epicenter account, your survey answers are anonymous. Submit the survey using the button at the bottom of the survey window (you may need to scroll to see the button).
  6. In the large Epicenter text field below the survey window, include a brief note to your teacher about how the independent project went, and any questions or concerns you may have. This content will be sent with your project submission to your teacher, and is not anonymous.
  7. Submit your independent project for review!

Evaluation & Feedback​


Your teacher will review your project the following week. You'll receive general written feedback, and each objective will be rated on the following scale:

  • The code does not meet this standard.
  • The code meets this standard most of the time.
  • The code meets this standard all of the time.

To pass a code review, you must receive meets this standard most of the time or meets this standard all of the time on all objectives. If any objectives receive a does not meet this standard the project does not pass. You will be required to complete further work and re-submit.

Resubmission​


If you fail to pass any of the objectives, your teacher's feedback will identify why the objective(s) are not met, and what can be improved to meet them. Take the opportunity to check in with your teacher regarding anything you don't understand, work through those problems, then resubmit using the same steps listed above. In the Notes field, document exactly what work you've done since your last resubmission.

Resubmissions are (generally) due the week after you receive feedback as the calendars earlier in this lesson shows. Your instructor may provide more details, or specific resubmission deadlines.

The Academic Warning Policy​


Epicodus staff will give you an Academic Warning when your independent project is not passing objectives by the resubmission deadline. The warning is intended to communicate that the project is near the final deadline.

Once your project is passing all objectives, we will remove the Academic Warning. However, the number of times you've been given an Academic Warning is a permanent count and will not be reset. We track how many times you've been given an Academic Warning as one way to monitor your progress through the course, and we may ask you to leave or repeat coursework (at no additional cost) if you've been given three Academic Warnings.

The student handbook (an upcoming lesson in this pre-work) covers the Academic Warning Policy in detail. Please make sure you have reviewed the following sections and reach out to your instructor or advisor with any questions:

Group Work​


You will work in approximately 4-person groups on a cumulative project at the end of the following courses:

  • React;
  • C#/.NET;

Additionally, there will be a group-form project halfway through the Capstone course, which happens after C#/.NET.

These group projects last for an entire course section. For full-time students, that means one week, and for part-time students that's two weeks.

Students will present their group projects during the last class of the course section. Students will be expected to submit a link to the group project on Epicenter in lieu of an independent project for that section. Students are otherwise not expected to work on an independent project during the sections dedicated to group work. Instead, students will have extra time to prepare for the next course.