A day-by-day structured deep dive into the basics JavaScript. Read articles, watch videos, complete lessons and exercises, and implement a final project.
Your objectives for the day are to achieve:
- Basic understanding of variables
- Basic string manipulation
- Understand 'truthy' and 'falsey'
- Practice flow control with conditionals
- Understand and practice functions: arguments, return, scope
- Sign up for Treehouse JavaScript Basics course
- Complete "Introducing JavaScript"
- Complete "Storing and Tracking Information with Variables"
- Complete "Working With Numbers"
- Complete "Making Decisions with Conditional Statements"
- Complete "Creating Reusable Code with Functions"
- Read about "Truthy" and "Falsey" values in this article: https://j11y.io/javascript/truthy-falsey/
- Skim You don't know JS and complete the final challenge
- Watch and complete the Front End Masters Javascript Introduction (2 hours)
- Watch the bootcamp videos in the Core Vanilla Javascript section
- Read Chapters 1,2,3 of Eloquent Javascript
- Complete CodeCademy's Learn Javasript
Today your objectives are to put in practice the concepts you learned yesterday. It's a good opportunity to practice researching, asking for help, basic debugging, and problem solving. You will
- Complete other beginner javascript tutorials
- Dive deeper into Arrays and Objects
- Practice lots of small javascript coding drills
Note: Refer to this handy Javascript Cheat sheet if you need it
- Complete the last 5 tasks of Objects Basics Tutorial
- Link to your solution here (jsbin, gist, or a js file in this repo)
- Complete the last 5 tasks of Arrays Tutorial
- Link to your solution here
- Complete the last 5 tasks of Array Methods
- Link to your solution here
- Complete the Learn JS Basics tutorial
- Complete the Learn JS Objects tutorial
These next 3 steps are part of Front End Masters JS Course. You might need to watch the videos and part of the course to make it through. Reach out to staff for an invite code if you don't already have an account.
-
Complete the Array Exercises
- Link to your solution here
-
Complete the Function Exercises
- Link to your solution here
-
Complete the Object Exercises
- Link to your solution here
-
Browse in the terminal to the
js-assessment
folder in this repo. -
Run
npm install
andnpm start
, then gotohttp://127.0.0.1:4444/
in your browser. -
You should see a bunch of failing tests
-
Update
js-asessment/app/flowControl.js
to make the section's tests pass -
Update
js-asessment/app/logicalOperators.js
to make the section's tests pass -
Update
js-asessment/app/logicalNumbers.js
to make the section's tests pass
- Complete Free Code Camp Basic Javascript
- Read Javascript Objects in Detail
- Watch the first 11 Fundamentals Videos
- Read pages 173 to 184 in Professional JS for Web Developers
- Signup for a free Team Treehouse trial and complete their [Object Oriented Javascript Course] (https://teamtreehouse.com/library/objectoriented-javascript)
- Skim this cheat sheet
Let's test our understanding by working on some Koans.
Note: It's pretty easy to make these test pass. What isn't easy is to make sure you undertand WHY they are passing, and don't move on to the next one until you do
Remember: Update this file, and commit your repo, and push to github after every step
- In your forked repo, find the
javascript-koans
sub directory. - Find
KoansRunner.html
and open it in a browser - Edit AboutObjects.js to make all tests pass
- Edit AboutFunctions.js to make all tests pass
- Edit AboutArrays.js to make all tests pass
- Edit AboutApplyingWhatWeHaveLearnt.js to make all tests pass
- Write all 10 functions described in /challenges/10exercises.js
Ok, on for some more drills.
-
Sign up for an edabit account.
-
Solve all 10 array challenges linked in /challenges/edabit-arrays.js and commit your solutions to the file
-
Browse in the terminal to the
js-assessment
folder in this repo. -
Run
npm start
, then gotohttp://127.0.0.1:4444/
in your browser. -
You should see a bunch of failing tests
-
Update
js-asessment/app/arrays.js
to make the section's tests pass -
Update
js-asessment/app/strings.js
to make the section's tests pass -
Update
js-asessment/app/objects.js
to make the section's tests pass -
Update
js-asessment/app/count.js
to make the section's tests pass -
Update
js-asessment/app/bestPractices.js
to make the section's tests pass -
Update
js-asessment/app/functions.js
to make the section's tests pass
- Read chapter 3 in Professional JS for Web Developers
- Install and go through the javascripting workshop
Let's do more Koans to get our day started
-
In your forked repo, find the
Koans
sub directory. -
Find
jskoansbasics.html
and open it in a browser -
Find & edit
about_asserts.js
to make the tests pass -
Find & edit
about_operators.js
to make the tests pass -
Find & edit
about_equality.js
to make the tests pass -
Find & edit
about_truthyness.js
to make the tests pass -
Find & edit
about_assignment.js
to make the tests pass -
Find & edit
about_control_structures.js
to make the tests pass -
Find & edit
about_strings.js
to make the tests pass -
Find & edit
about_numbers.js
to make the tests pass -
Find & edit
about_objects.js
to make the tests pass -
Find & edit
about_arrays.js
to make the tests pass -
Browse in the terminal to the
js-assessment
folder in this repo. -
Run
npm start
, then gotohttp://127.0.0.1:4444/
in your browser. -
You should see a bunch of failing tests
-
Update
js-asessment/app/recursion.js
to make the section's tests pass
Exercism provides a number of practice problems along with unit tests to ensure the accuracy of your answer to the test problems. We will be using exercism challenges for the rest of this goal.
-
Read the Exercism setup instructions
-
Solve
/exercism/saddle-points
-
Solve
/exercism/meetup
-
Solve
/exercism/matrix
Today is going to be a tough one. These challenges are tricky, and will need you to be focussed 100% to make it through:
- Solve
/exercism/run-length-encoding
- Solve
/exercism/crypto-square
- Solve
/exercism/pig-latin
- Solve
/exercism/series
- Solve
/exercism/flatten-array
- Solve
/exercism/difference-of-squares
- Solve
/exercism/sieve
- Solve
/exercism/simple-cipher
- Solve
/exercism/pascals-triangle
- Solve
/exercism/sum-of-multiples
- Research about regular expressions and update
js-asessment/app/regex.js
to make the section's tests pass - Update
js-asessment/app/modules.js
to make the section's tests pass - Update
js-asessment/app/async.js
to make the section's tests pass - Complete section 1 of these exercises