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.
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.
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.
If you are a part-time student, 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.
The calendar above shows the independent project process for the full-time program:
If you are a full-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.
The calendar above shows the independent project process for the part-time program:
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.
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 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.
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!
For full-time students, Independent Projects must be submitted by the end of class on Friday at 5 pm.
For part-time 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:
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:
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.
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.
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:
You will work in approximately 4-person groups on a cumulative project at the end of the following courses:
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.