During your 12 weeks in SEI, your instructors will be helping you learn tons of coding knowledge and skills using a proven approach where each lesson typically includes a mixture of:
- Instructor lecture & demonstration
- Instructor/student code alongs
- In-lesson student exercises
- Lab time
However, real learning doesn't take place until you practice what your instructors have taught you. It's not uncommon for students to take 7 to 10 days of applying a particular concept before they are truly "comfortable" with it.
Many lessons are followed by post-lesson labs to provide practice in class. And of course, there's project week, where many students often feel they learn the most.
To provide additional practice writing JavaScript functions to solve a specific task, you will be required to complete one code challenge per day during weeks: 1, 2, 4, 5, 7 & 8, totaling 30 challenges.
These code challenges are considered a deliverable which is due on the last day of the course, on par with that of a unit project, and thus you must complete them to receive a Certificate of Completion.
Challenges are considered complete when the Jasmine tests return as passing for all thirty challenges.
You may choose to do more than one per day, or none at all - don't fall too far behind though!
-
Fork this repo into your GHE account by clicking the [Fork] button in the top-right of the page.
-
Use the alias you made earlier (probably
sei
) to move into your ~/code/sei directory. -
To bring the materials in the repo into your computer, clone your fork of the repo by copying the URL shown when you click the [Clone or download]:
git clone <the copied URL>
-
All challenges have one or more tests that run when the
run-tests-by-opening-in-browser.html
file is opened in the browser. -
By default, Jasmine (the testing framework) will run the tests in random order. To prevent this, click on the Options button near the top-right of the page and uncheck the run tests in random order checkbox.
-
Solve the challenges by writing functions in the
challenges.js
file only. -
Each code challenge requires writing a single function to solve.
-
Be sure to name the function exactly as specified by the challenge.
-
The default display shows only the challenges that are failing. To see an overall summary of all tests, click the "Spec List" link.
-
After solving a challenge, be sure to check the solution(s) contained in
solutions.js
. If multiple solutions are provided, they are typically shown in increasing order of "elegance".
- As you solve the challenges, commit your work, and
git push origin main
. This pushes the updates to your fork. This way, if something happens to your machine throughout the course, you won't lose your progress.