Sei sulla pagina 1di 9

Javascript Algorithms And Data Structures Certification (300 hours)

 Basic JavaScript
o Introduction to JavaScript
o Comment Your JavaScript Code
o Declare JavaScript Variables
o Storing Values with the Assignment Operator
o Initializing Variables with the Assignment Operator
o Understanding Uninitialized Variables
o Understanding Case Sensitivity in Variables
o Add Two Numbers with JavaScript
o Subtract One Number from Another with JavaScript
o Multiply Two Numbers with JavaScript
o Divide One Number by Another with JavaScript
o Increment a Number with JavaScript
o Decrement a Number with JavaScript
o Create Decimal Numbers with JavaScript
o Multiply Two Decimals with JavaScript
o Divide One Decimal by Another with JavaScript
o Finding a Remainder in JavaScript
o Compound Assignment With Augmented Addition
o Compound Assignment With Augmented Subtraction
o Compound Assignment With Augmented Multiplication
o Compound Assignment With Augmented Division
o Declare String Variables
o Escaping Literal Quotes in Strings
o Quoting Strings with Single Quotes
o Escape Sequences in Strings
o Concatenating Strings with Plus Operator
o Concatenating Strings with the Plus Equals Operator
o Constructing Strings with Variables
o Appending Variables to Strings
o Find the Length of a String
o Use Bracket Notation to Find the First Character in a String
o Understand String Immutability
o Use Bracket Notation to Find the Nth Character in a String
o Use Bracket Notation to Find the Last Character in a String
o Use Bracket Notation to Find the Nth-to-Last Character in a String
o Word Blanks
o Store Multiple Values in one Variable using JavaScript Arrays
o Nest one Array within Another Array
o Access Array Data with Indexes
o Modify Array Data With Indexes
o Access Multi-Dimensional Arrays With Indexes
o Manipulate Arrays With push()
o Manipulate Arrays With pop()
o Manipulate Arrays With shift()
o Manipulate Arrays With unshift()
o Shopping List
o Write Reusable JavaScript with Functions
o Passing Values to Functions with Arguments
o Global Scope and Functions
o Local Scope and Functions
o Global vs. Local Scope in Functions
o Return a Value from a Function with Return
o Understanding Undefined Value returned from a Function
o Assignment with a Returned Value
o Stand in Line
o Understanding Boolean Values
o Use Conditional Logic with If Statements
o Comparison with the Equality Operator
o Comparison with the Strict Equality Operator
o Practice comparing different values
o Comparison with the Inequality Operator
o Comparison with the Strict Inequality Operator
o Comparison with the Greater Than Operator
o Comparison with the Greater Than Or Equal To Operator
o Comparison with the Less Than Operator
o Comparison with the Less Than Or Equal To Operator
o Comparisons with the Logical And Operator
o Comparisons with the Logical Or Operator
o Introducing Else Statements
o Introducing Else If Statements
o Logical Order in If Else Statements
o Chaining If Else Statements
o Golf Code
o Selecting from Many Options with Switch Statements
o Adding a Default Option in Switch Statements
o Multiple Identical Options in Switch Statements
o Replacing If Else Chains with Switch
o Returning Boolean Values from Functions
o Return Early Pattern for Functions
o Counting Cards
o Build JavaScript Objects
o Accessing Object Properties with Dot Notation
o Accessing Object Properties with Bracket Notation
o Accessing Object Properties with Variables
o Updating Object Properties
o Add New Properties to a JavaScript Object
o Delete Properties from a JavaScript Object
o Using Objects for Lookups
o Testing Objects for Properties
o Manipulating Complex Objects
o Accessing Nested Objects
o Accessing Nested Arrays
o Record Collection
o Iterate with JavaScript While Loops
o Iterate with JavaScript For Loops
o Iterate Odd Numbers With a For Loop
o Count Backwards With a For Loop
o Iterate Through an Array with a For Loop
o Nesting For Loops
o Iterate with JavaScript Do...While Loops
o Profile Lookup
o Generate Random Fractions with JavaScript
o Generate Random Whole Numbers with JavaScript
o Generate Random Whole Numbers within a Range
o Use the parseInt Function
o Use the parseInt Function with a Radix
o Use the Conditional (Ternary) Operator
o Use Multiple Conditional (Ternary) Operators
 ES6
o Introduction to the ES6 Challenges
o Explore Differences Between the var and let Keywords
o Compare Scopes of the var and let Keywords
o Declare a Read-Only Variable with the const Keyword
o Mutate an Array Declared with const
o Prevent Object Mutation
o Use Arrow Functions to Write Concise Anonymous Functions
o Write Arrow Functions with Parameters
o Write Higher Order Arrow Functions
o Set Default Parameters for Your Functions
o Use the Rest Operator with Function Parameters
o Use the Spread Operator to Evaluate Arrays In-Place
o Use Destructuring Assignment to Assign Variables from Objects
o Use Destructuring Assignment to Assign Variables from Nested Objects
o Use Destructuring Assignment to Assign Variables from Arrays
o Use Destructuring Assignment with the Rest Operator to Reassign Array
Elements
o Use Destructuring Assignment to Pass an Object as a Function's Parameters
o Create Strings using Template Literals
o Write Concise Object Literal Declarations Using Simple Fields
o Write Concise Declarative Functions with ES6
o Use class Syntax to Define a Constructor Function
o Use getters and setters to Control Access to an Object
o Understand the Differences Between import and require
o Use export to Reuse a Code Block
o Use * to Import Everything from a File
o Create an Export Fallback with export default
o Import a Default Export
 Regular Expressions
o Introduction to the Regular Expression Challenges
o Using the Test Method
o Match Literal Strings
o Match a Literal String with Different Possibilities
o Ignore Case While Matching
o Extract Matches
o Find More Than the First Match
o Match Anything with Wildcard Period
o Match Single Character with Multiple Possibilities
o Match Letters of the Alphabet
o Match Numbers and Letters of the Alphabet
o Match Single Characters Not Specified
o Match Characters that Occur One or More Times
o Match Characters that Occur Zero or More Times
o Find Characters with Lazy Matching
o Find One or More Criminals in a Hunt
o Match Beginning String Patterns
o Match Ending String Patterns
o Match All Letters and Numbers
o Match Everything But Letters and Numbers
o Match All Numbers
o Match All Non-Numbers
o Restrict Possible Usernames
o Match Whitespace
o Match Non-Whitespace Characters
o Specify Upper and Lower Number of Matches
o Specify Only the Lower Number of Matches
o Specify Exact Number of Matches
o Check for All or None
o Positive and Negative Lookahead
o Reuse Patterns Using Capture Groups
o Use Capture Groups to Search and Replace
o Remove Whitespace from Start and End
 Debugging
o Introduction to the Debugging Challenges
o Use the JavaScript Console to Check the Value of a Variable
o Understanding the Differences between the freeCodeCamp and
Browser Console
o Use typeof to Check the Type of a Variable
o Catch Misspelled Variable and Function Names
o Catch Unclosed Parentheses, Brackets, Braces and Quotes
o Catch Mixed Usage of Single and Double Quotes
o Catch Use of Assignment Operator Instead of Equality Operator
o Catch Missing Open and Closing Parenthesis After a Function Call
o Catch Arguments in the Wrong Order When Calling a Function
o Catch Off By One Errors When Using Indexing
o Use Caution When Reinitializing Variables Inside a Loop
o Prevent Infinite Loops with a Valid Terminal Condition

 Basic Data Structures


o Introduction to the Basic Data Structure Challenges
o Use an Array to Store a Collection of Data
o Access an Array's Contents Using Bracket Notation
o Add Items to an Array with push() and unshift()
o Remove Items from an Array with pop() and shift()
o Remove Items Using splice()
o Add Items Using splice()
o Copy Array Items Using slice()
o Copy an Array with the Spread Operator
o Combine Arrays with the Spread Operator
o Check For The Presence of an Element With indexOf()
o Iterate Through All an Array's Items Using For Loops
o Create complex multi-dimensional arrays
o Add Key-Value Pairs to JavaScript Objects
o Modify an Object Nested Within an Object
o Access Property Names with Bracket Notation
o Use the delete Keyword to Remove Object Properties
o Check if an Object has a Property
o Iterate Through the Keys of an Object with a for...in Statement
o Generate an Array of All Object Keys with Object.keys()
o Modify an Array Stored in an Object
 Basic Algorithm Scripting
o Introduction to Basic Algorithm Scripting
o Convert Celsius to Fahrenheit
o Reverse a String
o Factorialize a Number
o Find the Longest Word in a String
o Return Largest Numbers in Arrays
o Confirm the Ending
o Repeat a String Repeat a String
o Truncate a String
o Finders Keepers
o Boo who
o Title Case a Sentence
o Slice and Splice
o Falsy Bouncer
o Where do I Belong
o Mutations
o Chunky Monkey

 Object Oriented Programming


o Introduction to the Object Oriented Programming Challenges
o Create a Basic JavaScript Object
o Use Dot Notation to Access the Properties of an Object
o Create a Method on an Object
o Make Code More Reusable with the this Keyword
o Define a Constructor Function
o Use a Constructor to Create Objects
o Extend Constructors to Receive Arguments
o Verify an Object's Constructor with instanceof
o Understand Own Properties
o Use Prototype Properties to Reduce Duplicate Code
o Iterate Over All Properties
o Understand the Constructor Property
o Change the Prototype to a New Object
o Remember to Set the Constructor Property when Changing the
Prototype
o Understand Where an Object’s Prototype Comes From
o Understand the Prototype Chain
o Use Inheritance So You Don't Repeat Yourself
o Inherit Behaviors from a Supertype
o Set the Child's Prototype to an Instance of the Parent
o Reset an Inherited Constructor Property
o Add Methods After Inheritance
o Override Inherited Methods
o Use a Mixin to Add Common Behavior Between Unrelated Objects
o Use Closure to Protect Properties Within an Object from Being
Modified Externally
o Understand the Immediately Invoked Function Expression (IIFE)
o Use an IIFE to Create a Module
 Functional Programming
o Introduction to the Functional Programming Challenges
o Learn About Functional Programming
o Understand Functional Programming Terminology
o Understand the Hazards of Using Imperative Code
o Avoid Mutations and Side Effects Using Functional Programming
o Pass Arguments to Avoid External Dependence in a Function
o Refactor Global Variables Out of Functions
o Use the map Method to Extract Data from an Array
o Implement map on a Prototype
o Use the filter Method to Extract Data from an Array
o Implement the filter Method on a Prototype
o Return Part of an Array Using the slice Method
o Remove Elements from an Array Using slice Instead of splice
o Combine Two Arrays Using the concat Method
o Add Elements to the End of an Array Using concat Instead of push
o Use the reduce Method to Analyze Data
o Sort an Array Alphabetically using the sort Method
o Return a Sorted Array Without Changing the Original Array
o Split a String into an Array Using the split Method
o Combine an Array into a String Using the join Method
o Apply Functional Programming to Convert Strings to URL Slugs
o Use the every Method to Check that Every Element in an Array Meets a
Criteria
o Use the some Method to Check that Any Elements in an Array Meet a
Criteria
o Introduction to Currying and Partial Application
 Intermediate Algorithm Scripting
o Introduction to the Intermediate Algorithm Scripting Challenges
o Sum All Numbers in a Range
o Diff Two Arrays
o Seek and Destroy
o Wherefore art thou
o Spinal Tap Case
o Pig Latin
o Search and Replace
o DNA Pairing
o Missing letters
o Sorted Union
o Convert HTML Entities
o Sum All Odd Fibonacci Numbers
o Sum All Primes
o Smallest Common Multiple
o Drop it
o Steamroller
o Binary Agents
o Everything Be True
o Arguments Optional
o Make a Person
o Map the Debris

 JavaScript Algorithms and Data Structures Projects


o Introduction to the JavaScript Algorithms and Data Structures Projects
o Palindrome Checker
o Roman Numeral Converter
o Caesars Cipher
o Telephone Number Validator
o Cash Register