Skip to main content
Version: v1.1

📓 1.0.0.09 Independent Projects and Code Reviews

Overview​


At the end of each course section (1.1. for instance) 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 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.

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 their 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, 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 at least 8 hours on the project. 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​


You are expected to do at least 8 hours of work on each project, which you can show in your commit history. 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, or you wish to continue working on the project.

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​


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. In the large Epicenter text field below the link, include a brief note to your teacher about your process during this project, and any questions or concerns you may have. This content will be sent with your project submission to your teacher, and is not anonymous.
  6. Submit your independent project for review!

Evaluation & Feedback​


Your teacher will review your project as soon as they can. 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.

Group Work​


You will work in groups on two cumulative, collaborative projects at some point during your time at Fidgetech, it could be in C#, Javascript or React. Your instructors will keep you informed about how that will work.

Students will present on their group projects upon completion and will be expected to submit an independent project (in lieu of a Friday project) with a link to the group project.