Lesson Weekend

We'll start out this section by learning about some important programming concepts that will allow us to better work with data:

  • Arrays: Lists of data or information
  • Looping: A way of repeating code until a condition is met

We'll learn many different kinds of looping techniques this section. Then, at the end of the section, we'll review these techniques and learn about when to use each kind of loop.

We'll dedicate the rest of our time to coding, putting into practice everything we've learned so far.

Each day's exercises will specifically explore the section's objectives. Remember that speed and quantity are not measurements of success at the end of a day...understanding is. While we expect you to review and share each other's work, there's a great saying that applies (with a slight Epicodus modification): Don't compare your code to the code of others. Compare your code to the code you wrote yesterday.

This section also shifts where our attention will be focused. So far, we have been creating websites with HTML, CSS and Bootstrap. We've added effects with jQuery and gotten started on the basics of JavaScript. When a project was completed, we ran the code in the browser to display it.

In this section, we will continue to practice good separation of business logic and user interface logic. We'll focus on writing our own JavaScript functions that we will call from jQuery.

At the end of this section, you will be able to:

  • Break problems down into behavior examples
  • Build JavaScript functions that use arrays and looping
  • Create HTML pages that use jQuery to call JavaScript functions

Note that there is also a big shift in how the coursework is presented. In the first two sections of the course, most lessons included a separate practice lesson. At this point, though, we are gradually moving away from practice classwork that focuses on content from just one lesson. Instead, we will focus on larger projects where you can apply all of the concepts covered in the lessons.

Independent Project Objectives

At the end of this section, you will complete an independent project. Your code will be reviewed for the following objectives:

  • JavaScript business logic and user interface logic are separate.
  • Tests are included for each business logic behavior and code is committed after each test passes.
  • Application implements a loop and works as expected.
  • The user can use the application repeatedly and see new results.
  • Project is in a polished, portfolio-quality state.
  • The prompt’s required functionality and baseline project requirements are in place by the deadline.

What is a polished, portfolio-quality state?

When a project is both polished and in a portfolio-quality state, this means:

  • You've reviewed your project and your README prior to submitting it to make sure there are no errors or missing information and you are consistent in your indentation, spacing, and code structure.
  • You are following the best practices and coding conventions we teach. Make sure that your:
    • Code is clean, well-refactored, and easy-to-read. This includes correct indentation, spacing, and including only necessary comments and debugging tools.
    • Variable names are descriptive and use lower camel case (e.g. myVariableExample).
    • Commits are made regularly with clear messages that finish the phrase "It will…".

What are the baseline project requirements?

All independent coding projects at Epicodus have these baseline requirements:

  • A complete and informative README
    • It is not required to include a link to your site hosted on gh-pages, but you are welcome and encouraged to do so!
  • The project's commit history demonstrates that the project’s required work schedule and hours have been met:
    • 8 hours completed on Friday is required for full-time students
    • 4 hours completed over the weekend is required for part-time students
  • Completion of the project based on the prompt and objectives. The prompt contains details on the project's theme and features that are not always detailed in the objective. Carefully read through the prompt towards the end of your work session to make sure that you are not missing anything.

Lesson 1 of 42
Last updated May 26, 2022