# JSFun

## Abstract

JSFun(damentals) will focus on practicing three core concepts of the JavaScript language:

- Context
- Scope & Order of Execution
- Prototypes

There are two ways we’d like you to demonstrate mastery of these concepts:

- Accurate implementation/problem-solving
- Eloquent articulation of your thought process

## Work Time

**Fork** this repo of practice exercises. There are three folders of problems to work through, each corresponding with a concept to be mastered.

### In-Class

We will break you into small groups on Fridays to work through some of the problems in the repo for that concept. In your small groups:

- Each person should walk the group through a solution to at least one problem
- Before moving on to the next problem, each person in the group must thoroughly understand how and why the group came to that solution. If someone in the group feels they do not thoroughly grasp the problem, take turns working through it again. Sometimes it won’t click the first time around, and simply hearing someone different work through the problem can help set the lightbulbs off.
- After completing a problem, provide feedback for your fellow classmate: Were you able to follow their thought process and articulation? Was there potentially a better way to solve the problem?
- If your group has questions about the problem or its solution, post them in your public slack channel so instructors and other groups can assist

### Articulation

During the in-class evaluations, each student will have an opportunity to walk the group through their thought process for solving a problem related to these three core concepts. The student will receive feedback on how they articulate themselves while working towards a solution, and where improvements can be made.

Eloquent articulation:

- is understandable to both senior and junior engineers
- makes use of proper vocabulary terms and avoids meaningless words like “thing” and “stuff”
- clearly demonstrates a solid understanding of the concepts needed to solve the problem
- does not skip over important explanatory details

### At Home

There will be many more problems in the repo than you’ll have time to solve during class. At home, you should work on the remaining problems for that concept on your own. Do not worry about completing *all* of the problems. Focus more on being able to thoroughly understand and articulate the solution to the problems you do make it through. For each problem you solve, also add an annotation for how you would walk someone through arriving at that solution. This will help with your articulation piece during evaluations.