Skip to content

Latest commit

 

History

History
181 lines (132 loc) · 9.18 KB

solo_study.md

File metadata and controls

181 lines (132 loc) · 9.18 KB

Core Vanilla JavaScript - Solo Study

A day-by-day structured deep dive into the basics JavaScript. Read articles, watch videos, complete lessons and exercises, and implement a final project.

Day 1: Variables, Flow Control, and Functions

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

Plan

Stretch

Day 2: Arrays, Objects, and lots of Practice

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

Plan

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 and npm start, then goto http://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

Stretch

Day 3: Koans and Drills

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 goto http://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

Stretch

  • Read chapter 3 in Professional JS for Web Developers
  • Install and go through the javascripting workshop

Day 4: Some Recursion and Bigger Challenges

Plan

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 goto http://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

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

Day 5: More challenges

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

Stretch

  • 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