Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Front End Development Libraries

via freeCodeCamp

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
  • Workshop
  • Lab
  • Lecture
  • Review
  • Quiz
  • Exam
  • Learn
  • Practice
  • Warm Up

Syllabus

  • Step 1
  • Step 2
  • Step 3
  • Step 4
  • Step 5
  • Step 6
  • Step 7
  • Step 8
  • Step 9
  • Step 10
  • Step 11
  • Debug Camperbot's Profile Page
  • What Role Does HTML Play on the Web?
  • What Are Attributes, and How Do They Work?
  • Debug a Pet Adoption Page
  • What Is the Role of the Link Element in HTML, and How Can It Be Used to Link to External Stylesheets?
  • What Is an HTML Boilerplate, and Why Is It Important?
  • What Is UTF-8 Character Encoding, and Why Is It Needed?
  • Step 12
  • Step 13
  • Step 14
  • Step 15
  • Step 16
  • Step 17
  • Step 18
  • Step 19
  • Step 20
  • Step 21
  • Step 22
  • Step 23
  • Step 24
  • Step 25
  • Step 26
  • Step 27
  • Step 28
  • Step 29
  • Step 30
  • Step 31
  • Step 32
  • Step 33
  • Step 34
  • Step 35
  • Step 36
  • Step 37
  • Step 38
  • Step 39
  • Step 40
  • Step 41
  • Step 42
  • Build a Recipe Page
  • What are Div Elements and When Should You Use Them?
  • What Are IDs and Classes, and When Should You Use Them?
  • What Are HTML Entities, and What Are Some Common Examples?
  • What Is the Role of the Script Element in HTML, and How Can It Be Used to Link to External JavaScript Files?
  • What Is the Role of the Meta Description, and How Does It Affect SEO?
  • What Is the Role of Open Graph Tags, and How Do They Affect SEO?
  • Build a Travel Agency Page
  • What Are the Roles of the HTML Audio and Video Elements, and How Do They Work?
  • Build an HTML Audio and Video Player
  • What Are Common Ways to Optimize Media Assets?
  • What Are the Different Types of Image Licenses, and How Do They Work?
  • What Are SVGs, and When Should You Use Them?
  • What Are Replaced Elements, and What Are Some Examples?
  • How Do You Embed Videos onto Your Page Using the iframe Element?
  • Build a Video Compilation Page
  • What Are the Different Target Attribute Types, and How Do They Work?
  • What Is the Difference Between Absolute and Relative Paths?
  • What Is the Difference Between Slashes, a Single Dot, and Double Dot in Path Syntax?
  • What Are the Different Link States, and Why Are They Important?
  • Basic HTML Review
  • Basic HTML Quiz
  • Why Should You Care About Semantic HTML?
  • Why is it Important to Have Good Structural Hierarchy?
  • What Is the Difference Between Presentational and Semantic HTML?
  • When Should You Use the Emphasis Element Over the Idiomatic Text Element?
  • When Should You Use the Strong Element Over the Bring Attention To Element?
  • What Are Description Lists, and When Should You Use Them?
  • How Do Block and Inline Quotes Work in HTML?
  • How Do You Display Abbreviations in HTML?
  • How Do You Display Addresses in HTML?
  • How Do You Display Times and Dates in HTML?
  • How Do You Display Mathematical Equations and Chemical Formulas in HTML?
  • How Do You Represent Computer Code in HTML?
  • What Are the U, S, and Ruby Elements Used For, and How Do They Work?
  • Build an Event Hub
  • Semantic HTML Review
  • Semantic HTML Quiz
  • How Do Forms, Labels, and Inputs Work in HTML?
  • What Are the Different Types of Buttons, and When Should You Use Them?
  • What Is Client-Side Form Validation in HTML Forms, and What Are Some Examples?
  • What Are the Different Form States, and Why Are They Important?
  • What Are HTML Tables Used For, and What Should They Not Be Used For?
  • Build a Book Catalog Table
  • What Is an HTML Validator, and How Can It Help You Debug Your Code?
  • How to Use the DOM Inspector and DevTools to Debug and Build Your Projects
  • HTML Tables and Forms Review
  • HTML Tables and Forms Quiz
  • Build a Survey Form
  • What Is Accessibility?
  • What Are Screen Readers, and Who Uses Them?
  • What Are Large Text or Braille Keyboards, and Who Uses Them?
  • What Are Alternative Pointing Devices Such as Trackballs, Joysticks, and Touchpads Used For?
  • What Are Screen Magnifiers Used For?
  • What Is Voice Recognition Software Used For?
  • What Are Some Common Accessibility Auditing Tools to Use?
  • How Does Proper Heading Level Structure Affect Accessibility?
  • What Are Best Practices for Tables and Accessibility?
  • Why Is It Important for Inputs to Have an Associated Label?
  • What Is the Purpose of WAI-ARIA, and How Does It Work?
  • What Are ARIA Roles?
  • What Are the Roles of the aria-label and aria-labelledby Attributes?
  • What Is the aria-hidden Attribute, and How Does It Work?
  • What Is the aria-describedby Attribute, and How Does It Work?
  • When Is the alt Attribute Needed, and What Are Some Examples of Good Alt Text?
  • What Are the Accessibility Benefits for Good Link Text, and What Are Examples of Good Link Text?
  • What Are Good Ways to Make Audio and Video Content Accessible?
  • What Are Some Ways to Make Web Applications Keyboard Accessible?
  • Build a Checkout Page
  • Design a Movie Review Page
  • Build a Multimedia Player
  • HTML Accessibility Review
  • HTML Accessibility Quiz
  • HTML Review
  • What Are the Basic Parts of a Computer?
  • How Can You Effectively Work With Your Keyboard, Mouse, and Other Pointing Devices?
  • What Are the Different Types of Internet Service Providers?
  • What Are Safe Ways to Sign Into Your Computer?
  • What Are the Different Types of Tools Professional Developers Use?
  • How Can You Use File Management Applications on Your Computer?
  • What Are Best Practices for Naming Files for Web Applications?
  • What Are Best Practices for File/Folder Organization in Web Applications?
  • How Can You Create, Move, and Delete Files and Folders Using Explorer/Finder?
  • How Can You Search for Files and Folders on Your Computer?
  • What Are Some Common File Types You Will Work With in Web Applications?
  • What Are Some of the Common Web Browsers Available Today and How Do You Install One?
  • What Is the Difference Between a Web Browser, a Website, and a Search Engine?
  • How to Use a Search Engine Effectively to Achieve Optimal Results
  • Computer Basics Review
  • Computer Basics Quiz
  • What Is CSS, and What Is Its Role on the Web?
  • What Is the Basic Anatomy of a CSS Rule?
  • What Is the Meta Viewport Element Used For?
  • What Are Some Default Browser Styles Applied to HTML?
  • What Are Inline, Internal, and External CSS, and When Should You Use Each One?
  • How Do Width and Height Work?
  • What Are the Different Types of CSS Combinators?
  • What Is the Difference Between Inline and Block-Level Elements in CSS?
  • How Does Inline-Block Work, and How Does It Differ from Inline and Block Elements?
  • What Are Margins and Padding, and How Do They Work?
  • Step 43
  • Step 44
  • Step 45
  • Step 46
  • Step 47
  • Step 48
  • Step 49
  • Step 50
  • Step 51
  • Step 52
  • Step 53
  • Step 54
  • Step 55
  • Step 56
  • Step 57
  • Step 58
  • Step 59
  • Step 60
  • Step 61
  • Step 62
  • Step 63
  • Step 64
  • Step 65
  • Step 66
  • Step 67
  • Step 68
  • Step 69
  • Step 70
  • Step 71
  • Step 72
  • Step 73
  • Step 74
  • Step 75
  • Step 76
  • Step 77
  • Step 78
  • Step 79
  • Step 80
  • Step 81
  • Step 82
  • Step 83
  • Step 84
  • Step 85
  • Step 86
  • Step 87
  • Step 88
  • Step 89
  • Design a Business Card
  • What Is CSS Specificity, and the Specificity for Inline, Internal, and External CSS?
  • What Is the Universal Selector, and What Is Its Specificity?
  • What Is the Specificity for Type Selectors?
  • What Is the Specificity for Class Selectors?
  • What Is the Specificity for ID Selectors?
  • What Is the important Keyword, and What Are the Best Practices for Using It?
  • How Does the Cascade Algorithm Work at a High Level?
  • How Does Inheritance Work with CSS at a High Level?
  • CSS Fundamentals Review
  • CSS Fundamentals Quiz
  • How Do You Space List Items Using margin or line-height?
  • How Do the Different list-style Properties Work?
  • Why Are Default Link Styles Important for Usability on the Web?
  • How Do You Style the Different Link States?
  • Build a Stylized To-Do list
  • How Do Background Image Size, Repeat, Position, and Attachment Work?
  • What Is a Background Gradient, and How Does It Work?
  • What Are Some Accessibility Considerations for Backgrounds?
  • What Are the Different Ways You Can Add Borders Around Images?
  • Design a Blog Post Card
  • Lists, Links, Background and Borders Review
  • Lists, Links, Backgrounds and Borders Quiz
  • What Are Common Design Terms to Help You Communicate with Designers?
  • How Do You Create Good Background and Foreground Contrast in Your Designs?
  • What Is the Importance of Good Visual Hierarchy in Design?
  • How Does Scale Work in Design?
  • How Does Alignment Work in Design?
  • What Is the Importance of Whitespace in Design?
  • What Are Best Practices for Working with Images in Your Designs?
  • What Is Progressive Enhancement?
  • What Is User-Centered Design?
  • What Are User Requirements, User Research, and Testing?
  • What Are Best Practices for Designing a Dark Mode Feature?
  • What Are Best Practices for Designing Breadcrumbs?
  • What Are Best Practices for Designing Cards?
  • What Are Best Practices for Designing Infinite Scrolls?
  • What Are Best Practices for Designing Modal Dialogs?
  • What Are Best Practices for Progress Indication on Forms, Registration, and Setup?
  • What Are Best Practices for Designing Shopping Carts?
  • What Is Progressive Disclosure?
  • What Is Deferred and Lazy Registration?
  • What Are Design Briefs and How Do Developers Work with Them?
  • What Are Some Common Tools Developers Should Know About That Are Used by Designers in the Industry?
  • Design Fundamentals Review
  • Design Fundamentals Quiz
  • What Are Absolute Units in CSS, and When Should You Use Them?
  • What Are Percentages in CSS, and When Should You Use Them?
  • What Are ems and rems in CSS, and When Should You Use Them?
  • What Are vh and vw Units, and When Should You Use Them?
  • What Is the calc() Function, and How Does It Work?
  • Build an Event Flyer Page
  • CSS Relative and Absolute Units Review
  • CSS Relative and Absolute Units Quiz
  • What Are Pseudo-classes, and How Do They Work?
  • What Are Examples of Element User Action Pseudo-classes?
  • What Are Examples of Input Pseudo-classes?
  • What Are Examples of Location Pseudo-classes?
  • What Are Examples of Tree-structural Pseudo-classes?
  • What Are Examples of Functional Pseudo-classes?
  • What Are Pseudo-elements, and How Do They Work?
  • Build a Job Application Form
  • CSS Pseudo-classes Review
  • CSS Pseudo-classes Quiz
  • What Is Color Theory in Design?
  • What Are Named Colors in CSS, and When to Use Them?
  • What Is the RGB Color Model, and How Does the RGB Function Work in CSS?
  • What Is the HSL Color Model, and How Does the HSL Function Work in CSS?
  • What Are Hex Codes, and How Do They Work in CSS?
  • What Are Linear and Radial Gradients, and How Do They Work in CSS?
  • Design a Set of Colored Boxes
  • CSS Colors Review
  • CSS Colors Quiz
  • What Are Some Best Practices for Styling Text Inputs?
  • When Should You Use appearance: none to Deal with Issues Styling Search Inputs and Checkboxes?
  • What Are Common Issues When Styling Special Input Elements?
  • Design a Contact Form
  • Design a Feature Selection Page
  • Styling Forms Review
  • Styling Forms Quiz
  • What Is Overflow in CSS, and How Does It Work?
  • What Is the CSS Transform Property, and How Does It Work?
  • What Is the CSS Box Model, and How Does It Work?
  • What Is Margin Collapsing, and How Does It Work?
  • What Is the Difference Between content-box and border-box?
  • What Is a CSS Reset, and What Are Some Common Examples?
  • What Is the CSS Filter Property, and What Are Common Examples?
  • Build a Confidential Email Page
  • CSS Layouts and Effects Review
  • CSS Layout and Effects Quiz
  • What Is CSS Flexbox, and When Should You Use It?
  • What Are Some Common Flex Properties, and How Do They Work?
  • CSS Flexbox Review
  • CSS Flexbox Quiz
  • Build a Page of Playing Cards
  • What Are the Fundamentals of Typography?
  • What Are Some Best Practices for Working with Typography in Your Designs?
  • What Are Font Families and How Do They Work?
  • What Are Web Safe Fonts?
  • What Is the @font-face At-Rule, and How Does It Work?
  • How Do You Work with External Fonts Like Font Squirrel and Google Fonts?
  • What Is the text-shadow Property, and How Does It Work?
  • Build a Newspaper Article
  • CSS Typography Review
  • CSS Typography Quiz
  • What Are Some Tools to Check for Good Color Contrast on Sites?
  • What Are Best Practices for Hiding Content So It Doesn't Become Inaccessible?
  • Build a Tribute Page
  • CSS Accessibility Review
  • CSS Accessibility Quiz
  • What Are Common Use Cases for Using Floats, and How Do They Work?
  • What Is Relative Positioning, and How Does This Differ from the Default Static Positioning?
  • What Is Absolute Positioning, and How Does It Work?
  • What Is Fixed and Sticky Positioning, and How Does It Differ from Absolute Positioning?
  • What Is the Z-Index Property, and How Does It Work to Control the Stacking of Positioned Elements?
  • Build a House Painting
  • CSS Positioning Review
  • CSS Positioning Quiz
  • What Is the Attribute Selector, and How Can It Be Used to Target Links with the href and title Attributes?
  • How to Use the Attribute Selector to Target Elements with the lang and data-lang Attributes?
  • How to Use the Attribute Selector to Target Ordered List Elements with the type Attribute?
  • CSS Attribute Selectors Review
  • CSS Attribute Selectors Quiz
  • Build a Book Inventory App
  • What Is Responsive Web Design, and What Is Its Relationship to Tools Like CSS Grid and Flexbox?
  • How Do Media Queries Work, and What Are Some Common Media Types and Features?
  • What Are Media Breakpoints, and What Are Common Breakpoints in Modern Design?
  • What Is the Mobile First Approach in Responsive Web Design?
  • Responsive Web Design Review
  • Responsive Web Design Quiz
  • Build a Technical Documentation Page
  • What Are CSS Custom Properties, and How Do They Work?
  • What Is the @property Rule, and How Does It Work with Fallbacks?
  • Step 90
  • Step 91
  • Step 92
  • Step 93
  • Step 94
  • Step 95
  • Step 96
  • Step 97
  • Step 98
  • Step 99
  • Step 100
  • Step 101
  • Step 102
  • Step 103
  • Step 104
  • Step 105
  • Step 106
  • Step 107
  • Step 108
  • Step 109
  • Step 110
  • Step 111
  • Step 112
  • Step 113
  • Step 114
  • Step 115
  • Build an Availability Table
  • CSS Variables Review
  • CSS Variables Quiz
  • What Is CSS Grid, and How Does It Differ from Flexbox?
  • How Can You Create Flexible Grids with the fr Unit?
  • How Can You Create Gaps Between Tracks in a Grid?
  • How Can You Repeat Track Listings in a Grid Layout?
  • What Is the Difference Between an Implicit and Explicit Grid?
  • What Is the minmax() Function and How Does It Work?
  • How Do the grid-column and grid-row Properties Work?
  • How Can You Position Items on the Grid Using the grid-template-areas Property?
  • Design a Newspaper Layout
  • How Can You Use the DevTools Inspection Tool and CSS Validators to Debug Your CSS?
  • CSS Grid Review
  • CSS Grid Quiz
  • Build a Product Landing Page
  • What Are CSS Animations, and How Do They Work?
  • What Are Accessibility Concerns Around Using Animations, and How Can prefers-reduced-motion Help?
  • Build a Moon Orbit
  • Build a Personal Portfolio
  • CSS Animations Review
  • CSS Animations Quiz
  • CSS Review
  • Responsive Web Design Certification Exam
  • What Is JavaScript, and How Does It Work with HTML and CSS?
  • What Is a Data Type, and What Are the Different Data Types in JavaScript?
  • What Are Variables, and What Are Guidelines for Naming JavaScript Variables?
  • How Do let and const Work Differently When It Comes to Variable Declaration, Assignment, and Reassignment?
  • What Is a String in JavaScript, and What Is String Immutability?
  • What Is String Concatenation, and How Can You Concatenate Strings with Variables?
  • What Is console.log Used For, and How Does It Work?
  • What Is the Role of Semicolons in JavaScript, and Programming in General?
  • What Are Comments in JavaScript, and When Should You Use Them?
  • Build a JavaScript Trivia Bot
  • Build a Sentence Maker
  • What Is Dynamic Typing in JavaScript, and How Does It Differ from Statically Typed Languages?
  • How Does the typeof Operator Work, and What Is the typeof null Bug in JavaScript?
  • JavaScript Variables and Data Types Review
  • JavaScript Variables and Data Types Quiz
  • What Is Bracket Notation, and How Do You Access Characters from a String?
  • How Do You Create a Newline in Strings and Escape Strings?
  • What Are Template Literals, and What Is String Interpolation?
  • How Can You Find the Position of a Substring in a String?
  • What Is the prompt() Method, and How Does It Work?
  • What Is ASCII, and How Does It Work with charCodeAt() and fromCharCode()?
  • How Can You Test if a String Contains a Substring?
  • How Can You Extract a Substring from a String?
  • How Can You Change the Casing for a String?
  • How Can You Trim Whitespace from a String?
  • How Can You Replace Parts of a String with Another?
  • How Can You Repeat a String x Number of Times?
  • JavaScript Strings Review
  • JavaScript Strings Quiz
  • What Is the Number Type in JavaScript, and What Are the Different Types of Numbers Available?
  • What Are the Different Arithmetic Operators in JavaScript?
  • What Happens When You Try to Do Calculations with Numbers and Strings?
  • Debug Type Coercion Errors in a Buggy App
  • How Does Operator Precedence Work?
  • How Do the Increment and Decrement Operators Work?
  • What Are Compound Assignment Operators in JavaScript, and How Do They Work?
  • Debug Increment and Decrement Operator Errors in a Buggy App
  • What Are Booleans, and How Do They Work with Equality and Inequality Operators?
  • What Are Comparison Operators, and How Do They Work?
  • What Are Unary Operators, and How Do They Work?
  • What Are Bitwise Operators, and How Do They Work?
  • What Are Conditional Statements, and How Do If/Else If/Else Statements Work?
  • What Are Binary Logical Operators, and How Do They Work?
  • What Is the Math Object in JavaScript, and What Are Some Common Methods?
  • Build a Fortune Teller
  • How Does isNaN Work?
  • How Do the parseFloat() and parseInt() Methods Work?
  • What Is the toFixed() Method, and How Does It Work?
  • JavaScript Math Review
  • JavaScript Math Quiz
  • How Do Comparisons Work with Null and Undefined Data Types?
  • What Are Switch Statements and How Do They Differ from If/Else Chains?
  • JavaScript Comparisons and Conditionals Review
  • JavaScript Comparisons and Conditionals Quiz
  • What Is the Purpose of Functions, and How Do They Work?
  • What Are Arrow Functions, and How Do They Work?
  • What Is Scope in Programming, and How Does Global, Local, and Block Scope Work?
  • Build a Boolean Check Function
  • Build an Email Masker
  • Build a Celsius to Fahrenheit Converter
  • Build a Card Counting Assistant
  • Build a Leap Year Calculator
  • Implement the Truncate a String Algorithm
  • Build a Confirm the Ending Tool
  • JavaScript Functions Review
  • JavaScript Functions Quiz
  • What Are the Key Characteristics of JavaScript Arrays?
  • How Do You Access and Update Elements in an Array?
  • How Do You Add and Remove Elements from the Beginning and End of an Array?
  • What Is the Difference Between One-Dimensional and Two-Dimensional Arrays?
  • What Is Array Destructuring, and How Does It Work?
  • How Can You Use String and Array Methods to Reverse a String?
  • Build a Lunch Picker Program
  • Build a Golf Score Translator
  • How Do You Get the Index for an Element in an Array Using the indexOf Method?
  • How Do You Add and Remove Elements from the Middle of an Array?
  • How Can You Check if an Array Contains a Certain Value?
  • What Is a Shallow Copy of an Array, and What Are Some Ways to Create These Copies?
  • JavaScript Arrays Review
  • JavaScript Arrays Quiz
  • What Is an Object in JavaScript, and How Can You Access Properties from an Object?
  • How Can You Remove Properties from an Object?
  • How to Check If an Object Has a Property?
  • How Do You Work with Accessing Properties from Nested Objects and Arrays in Objects?
  • What Is the Difference Between Primitive and Non-Primitive Data Types?
  • What Is the Difference Between Functions and Object Methods?
  • What Is the Object() Constructor, and When Should You Use It?
  • What Is JSON, and How Do You Access Values Using Bracket and Dot Notation?
  • How Do JSON.parse() and JSON.stringify() Work?
  • What Is the Optional Chaining Operator, and How Does It Work?
  • What Is Object Destructuring, and How Does It Work?
  • Build a Quiz Game
  • Build a Record Collection
  • JavaScript Objects Review
  • JavaScript Objects Quiz
  • How Do Loops and Iteration Work in JavaScript?
  • How Does the For...of Loop Work, and When Should You Use It?
  • What Is the For...in Loop, and When Should You Use It?
  • What Is a While Loop, and How Does It Differ from the Do...while Loop?
  • What Are the Break and Continue Statements Used for in Loops?
  • Build a Longest Word Finder App
  • Build a Factorial Calculator
  • Implement the Mutations Algorithm
  • Implement the Chunky Monkey Algorithm
  • Build a Profile Lookup
  • Build a String Repeating Function
  • Build a Missing Letter Detector
  • JavaScript Loops Review
  • JavaScript Loops Quiz
  • What Is a String Object, and How Does It Differ from String Primitive?
  • What Is the toString() Method, and How Does It Work?
  • What Is the Number Constructor, and How Does It Work for Type Coercion?
  • What Are Some Common Practices for Naming Variables and Functions?
  • How Do You Get the Length for an Array, and How Can You Create an Empty Array of Fixed Length?
  • What Are Linters and Formatters, and How Can They Help You with Code Consistency?
  • What Is Memory Management, and How Does It Work in JavaScript?
  • What Are Closures, and How Do They Work?
  • Build a String Inverter
  • Build the Largest Number Finder
  • Build a First Element Finder
  • Implement the Slice and Splice Algorithm
  • Build a Pyramid Generator
  • Build a Gradebook App
  • What Is the var Keyword, and Why Is It No Longer Suggested to Use It?
  • What Is Hoisting?
  • Build a Title Case Converter
  • Implement a Falsy Remover
  • Build an Inventory Management Program
  • What Is a Module in JavaScript, and How Can You Import and Export Modules in Your Program?
  • What is the arguments Object?
  • What are Rest Parameters and How Do They Differ from the arguments Object?
  • Implement a Unique Sorted Union
  • Build a Password Generator App
  • Design a Sum All Numbers Algorithm
  • Implement a DNA Pair Generator
  • Implement an HTML Entity Converter
  • Build an Odd Fibonacci Sum Calculator
  • Implement an Element Skipper
  • JavaScript Fundamentals Review
  • JavaScript Fundamentals Quiz
  • What Is a Callback Function, and How Does It Work with the forEach Method?
  • What Are Higher-Order Functions?
  • What Is the Map Method, and How Does It Work?
  • What Is the Filter Method, and How Does It Work?
  • What Is the Reduce Method, and How Does It Work?
  • What Is Method Chaining, and How Does It Work?
  • How Does the Sort Method Work?
  • How Do the every() and some() Methods Work?
  • Build a Book Organizer
  • Implement a Sorted Index Finder
  • Build a Symmetric Difference Function
  • Implement a Value Remover Function
  • Implement a Matching Object Filter
  • Build a Prime Number Sum Calculator
  • Implement a Range-Based LCM Calculator
  • Create a Deep Flattening Tool
  • Build an All-True Property Validator
  • JavaScript Higher Order Functions Review
  • JavaScript Higher Order Functions Quiz
  • What Is an API, and What Are Web APIs?
  • What Is the DOM, and How Do You Access Elements?
  • How Do DOM Nodes Exist Relative to Each Other in the DOM Tree?
  • What Is the querySelectorAll() Method, and When Should You Use It?
  • How Do You Create New Nodes Using innerHTML and createElement()?
  • What Is the Difference Between innerText, textContent, and innerHTML?
  • How Do You Add and Remove Nodes from the DOM with appendChild() and removeChild()?
  • How Do the Navigator, Window, and Document Work?
  • How Do You Add Attributes with setAttribute()?
  • What Is the Event Object?
  • How Does the addEventListener Method Work?
  • How Does the removeEventListener Method Work?
  • What Are Inline Event Handlers, and Why Is It Best Practice to Use addEventListener Instead?
  • How Do You Manipulate Styles Using Element.style and Element.classList?
  • What Is the DOMContentLoaded Event, and How Does It Work?
  • How Do the setTimeout and setInterval Methods Work?
  • What Is the requestAnimationFrame() API, and How Can It Be Used to Set Up an Animation Loop?
  • What Is the Web Animations API, and How Does It Relate to CSS Animation Properties?
  • What Is the Canvas API, and How Does It Work?
  • How Do You Open and Close Dialog Elements Using JavaScript?
  • Build a Favorite Icon Toggler
  • What Is the Change Event, and How Does It Work?
  • How Do Event Bubbling, and Event Delegation Work?
  • Build a Real Time Counter
  • Build a Lightbox Viewer
  • Build a Set of Football Team Cards
  • DOM Manipulation and Click Events with JavaScript Review
  • DOM Manipulation and Click Events with JavaScript Quiz
  • How Do You Make Dynamic and Interactive Content Accessible?
  • What Is the aria-expanded Attribute, and How Does It Work?
  • What Is the aria-live Attribute, and How Does It Work?
  • What Are Some Common ARIA States Used on Custom Control Elements?
  • What Is the aria-controls Attribute, and How Does It Work?
  • Build a Theme Switcher
  • JavaScript and Accessibility Review
  • JavaScript and Accessibility Quiz
  • What Are Some Examples of Common JavaScript Errors?
  • How Does the Throw Statement Work?
  • How Does try...catch...finally Work?
  • How Does the Debugger Statement Work?
  • What Are Some Examples of Using Advanced JavaScript Debugging Techniques?
  • Debug a Random Background Color Changer
  • Debugging JavaScript Review
  • Debugging JavaScript Quiz
  • What Are Regular Expressions, and What Are Some Common Methods?
  • What Are Some Common Regular Expression Modifiers Used for Searching?
  • How Can You Match and Replace All Occurrences in a String?
  • What Are Character Classes, and What Are Some Common Examples?
  • What Are Lookahead and Lookbehind Assertions, and How Do They Work?
  • What Are Regex Quantifiers, and How Do They Work?
  • What Are Capturing Groups and Backreferences, and How Do They Work?
  • Build a Palindrome Checker
  • Build a RegEx Sandbox
  • Implement a Spinal Case Converter
  • Implement a Pig Latin Translator
  • Build a Smart Word Replacement Function
  • JavaScript Regular Expressions Review
  • JavaScript Regular Expressions Quiz
  • Build a Markdown to HTML Converter
  • What Are Some Ways to Validate Forms Using JavaScript?
  • What Is the Purpose of the preventDefault() Method?
  • How Does the Submit Event Work with Forms?
  • Build a Customer Complaint Form
  • Form Validation with JavaScript Review
  • Form Validation with JavaScript Quiz
  • How Does the JavaScript Date Object Work, and What Are Some Common Methods?
  • What Are the Different Ways to Format Dates?
  • Build a Date Conversion Program
  • JavaScript Dates Review
  • JavaScript Dates Quiz
  • How Does the Audio Constructor Work, and What Are Some Common Methods?
  • What Are the Different Types of Video and Audio Formats?
  • What Are Codecs and How Do They Work?
  • What Is the HTMLMediaElement API and How Does It Work?
  • How Can You Work with the Media Streams to Capture Video and Audio from a Local Device?
  • What Are Some Other Examples of Video and Audio APIs?
  • JavaScript Audio and Video Review
  • JavaScript Audio and Video Quiz
  • Build a Drum Machine
  • What Are Sets in JavaScript, and How Does It Differ from WeakSets?
  • What Is the Map Object, and How Does It Differ from WeakMaps?
  • JavaScript Maps and Sets Review
  • JavaScript Maps and Sets Quiz
  • Build a Voting System
  • What Does CRUD Stand For, and How Do the Basic Operations Work?
  • What Is localStorage, and What Are Some Common Methods?
  • What Is sessionStorage, and What Are Some Common Methods?
  • What Are Cookies, and How Do They Work?
  • What Is the Cache API, and How Does It Work?
  • What Are Some Negative Patterns Associated with Client-Side Storage?
  • How Can You Use Cookies to Store Arbitrary Data, Normally Controlled by HTTP Headers?
  • What Is IndexedDB, and How Does It Work?
  • What Are Cache and Service Workers, and How Do They Work?
  • Build a Bookmark Manager App
  • Local Storage and CRUD Review
  • Local Storage and CRUD Quiz
  • What Are Classes, and How Do They Work in JavaScript?
  • How Does the This Keyword Work?
  • What Is Class Inheritance, and How Does It Work?
  • What Are Static Properties and Methods in Classes?
  • Build a Project Idea Board
  • JavaScript Classes Review
  • JavaScript Classes Quiz
  • Build a Bank Account Management Program
  • What Is Recursion, and How Does It Work?
  • Build a Permutation Generator
  • Recursion Review
  • Recursion Quiz
  • What Is Functional Programming?
  • What Is Currying, and How Does It Work?
  • Build an Optional Arguments Sum Function
  • Build a Sorting Visualizer
  • JavaScript Functional Programming Review
  • JavaScript Functional Programming Quiz
  • What Is Asynchronous JavaScript, and How Does It Differ from Synchronous JavaScript?
  • How Does the Async Attribute Work Inside Script Elements, and How Does It Differ from the Defer Attribute?
  • What Is the Fetch API, and What Are Common Types of Resources That Are Fetched from the Network?
  • How Does the Fetch API Work with Common HTTP Methods and res.json()?
  • What Are Promises, and How Does Promise Chaining Work?
  • What Is Async/Await, and How Does It Work?
  • How Does the JavaScript Engine Work, and What Is a JavaScript Runtime?
  • What Is the Geolocation API, and How Does the getCurrentPosition Work?
  • Build an fCC Forum Leaderboard
  • Asynchronous JavaScript Review
  • Asynchronous JavaScript Quiz
  • Build a Weather App
  • JavaScript Review
  • JavaScript Certification Exam
  • What Is the Role of JS Libraries and Frameworks, and Why Are They Used in the Industry?
  • What Are Single Page Applications, and What Are Some Issues Surrounding Them?
  • What Is React, and What Is It Commonly Used For?
  • What Are Components in React, and How Do They Work?
  • How Can You Import and Export Components in React?
  • What is Vite, and How Can It Be Used to Set Up a New React Project?
  • Build a Reusable Footer
  • How Do You Pass Props from a Parent Component to a Child Component in React?
  • How Does Conditional Rendering Work in React Components?
  • How Do You Render Lists in React?
  • How Do Inline Styles Work in React?
  • Build a Mood Board
  • React Basics Review
  • React Basics Quiz
  • How Do Events Work in React?
  • What is State, and How Does the useState Hook Work?
  • What Is Rendering in React, and How Are Components Displayed on the Screen?
  • How Do You Update Objects in State?
  • How Do You Update Arrays in State?
  • Build a Color Picker App
  • How Do You Reference Values Using Refs?
  • What Are Effects in React, and How Does the useEffect Hook Work?
  • How Can You Create Custom Hooks in React?
  • Build a One-Time Password Generator
  • React State and Hooks Review
  • React State and Hooks Quiz
  • How Do Forms Work in React?
  • What Is the useActionState Hook, and How Does It Work?
  • Build an Event RSVP
  • How Does Data Fetching Work in React?
  • What Is the useOptimistic Hook, and How Does It Work?
  • What Is Memoization, and How Does the useMemo Hook Work?
  • How Do the useCallback Hook and React.memo Work?
  • What Is Dependency Management, and How Does It Work with Libraries Like React?
  • How Does Routing Work in React?
  • What Are React Frameworks, and Why Are They Commonly Used in the Industry?
  • What Is Prop Drilling?
  • What Are State Management Libraries, and When Should You Use Them?
  • How Can You Debug Your React Components Using the React DevTools?
  • What Are React Server Components, and How Do They Work?
  • React Forms, Data Fetching and Routing Review
  • React Forms, Data Fetching and Routing Quiz
  • Build a Currency Converter
  • Build a Tic-Tac-Toe Game
  • What Is the Difference Between Real Performance and Perceived Performance?
  • What Are the Key Performance Concepts?
  • What Is INP?
  • How to Measure and Improve INP?
  • How Does a Browser Render a Page?
  • How Does Performance Impact Sustainability?
  • What Are Some Ways to Reduce Page Loading Times?
  • How Do You Improve "Time to Usable"?
  • How to Improve the Perceived Performance of Features?
  • What Are Some Key Metrics for Measuring Performance?
  • What Are Some Common Performance Measurement Tools?
  • How Can You Use Performance Web APIs to Create Your Own Performance Measurement Tools?
  • What Are Some Techniques for Improving CSS Performance?
  • What Are Some Techniques for Improving JavaScript Performance?
  • Web Performance Review
  • Web Performance Quiz
  • What Is the Overall Purpose of Testing Your Applications?
  • What Is the Software Development Life Cycle, and How Does It Relate to Testing?
  • What Is Unit Testing?
  • What Are BDD and TDD?
  • How Do Assertions Work in Unit Testing?
  • What Are the Differences Between Mocking, Faking, and Stubbing?
  • What Is Functional Testing, and How Does It Differ from Unit Testing?
  • What Is End-to-End Testing?
  • What Is Usability Testing, and What Does the Process Look Like?
  • What Is Compatibility Testing?
  • What Is Performance Testing?
  • What Is Security Testing?
  • What Is A/B Testing?
  • What Is Alpha and Beta Testing?
  • What Is Regression Testing?
  • Testing Review
  • Testing Quiz
  • What Is a CSS Framework, and What Are Some Advantages and Disadvantages of Using It?
  • What Is the Value of Using a CSS Preprocessor, and What Are Some Disadvantages?
  • Build a Music Shopping Cart Page
  • Design a Photography Exhibit
  • CSS Libraries and Frameworks Review
  • CSS Libraries and Frameworks Quiz
  • What Is Python and What Are Some Common Uses in the Industry?
  • How Do You Install, Configure and Use Python in Your Local Environment?
  • How Do You Declare Variables and What Are Naming Conventions to Name Variables?
  • How Does the Print Function Work?
  • What Are Common Data Types in Python and How Do You Get the Type of a Variable?
  • How Do You Work With Strings?
  • What Are Some Common String Methods?
  • How Do You Work With Integers and Floating Point Numbers?
  • How Do Augmented Assignments Work?
  • How Do Functions Work in Python?
  • What Is Scope in Python and How Does It Work?
  • How Do Conditional Statements and Logical Operators Work?
  • What Are Truthy and Falsy Values, and How Do Boolean Operators and Short-Circuiting Work?
  • Build an RPG Character
  • Python Basics Review
  • Python Basics Quiz
  • What Are Lists and How Do They Work?
  • What Are Some Common Methods Used for Lists?
  • What Are Tuples and How Do They Work?
  • What Are Some Common Methods for Tuples?
  • How Do Loops Work?
  • What Are Ranges and How Can You Use Them in a Loop?
  • What Are the Enumerate and Zip Functions and How Do They Work?
  • What Are List Comprehensions and What Are Some Useful Functions to Work With Lists?
  • What Are Lambda Functions and How Do They Work?
  • Build a Number Pattern Generator
  • Loops and Sequences Review
  • Loops and Sequences Quiz
  • What Are Dictionaries, and How Do They Work?
  • What Are Some Common Techniques to Loop Over a Dictionary?
  • What Are Sets, and How Do They Work?
  • What Is the Python Standard Library, and How Do You Import a Module?
  • Dictionaries and Sets Review
  • Dictionaries and Sets Quiz
  • Build a User Configuration Manager
  • What Are Some Common Error Messages in Python?
  • What Are Some Good Debugging Techniques in Python?
  • How Does Exception Handling Work?
  • What Is the Raise Statement and How Does It Work?
  • Debug an ISBN Validator
  • Error Handling Review
  • Error Handling Quiz
  • How Do Classes Work and How Do They Differ From Objects?
  • What Are Methods and Attributes, and How Do They Work?
  • What Are Special Methods and What Are They Used For?
  • How to Handle Object Attributes Dynamically?
  • Build a Planet Class
  • Classes and Objects Review
  • Classes and Objects Quiz
  • Build a Budget App
  • What is Object-Oriented Programming, and How Does Encapsulation Work?
  • What are Getters and Setters
  • Build a Game Character Stats Tracker
  • What Is Inheritance and How Does It Promote Code Reuse?
  • What Is Polymorphism and How Does It Promote Code Reuse?
  • What is Name Mangling and How Does it Work?
  • What Is Abstraction and How Does It Help Keep Complex Systems Organized?
  • Build a Player Interface
  • Object Oriented Programming Review
  • Object Oriented Programming Quiz
  • Build a Polygon Area Calculator
  • What Is an Algorithm and How Does Big O Notation Work?
  • What Are Good Problem-Solving Techniques and Ways to Approach Algorithmic Challenges?
  • How Do Dynamic Arrays Differ From Static Arrays?
  • How Do Stacks and Queues Work?
  • How Do Singly Linked Lists Work and How Do They Differ From Doubly Linked List?
  • How Do Maps, Hash Maps and Sets Work?
  • Data Structures Review
  • Data Structures Quiz
  • Build a Hash Table
  • What Is Binary Search and How Does It Differ From Linear Search?
  • What Is Divide and Conquer, and How Does Merge Sort Work?
  • Implement the Bisection Method
  • Implement the Quicksort Algorithm
  • Implement the Selection Sort Algorithm
  • Implement the Luhn Algorithm
  • Searching and Sorting Algorithms Review
  • Searching and Sorting Algorithms Quiz
  • Implement the Tower of Hanoi Algorithm
  • What Are Graphs in Computer Science?
  • How Do Depth First and Breadth First Search Work?
  • How Do Matrices and Adjacency Lists Work?
  • What Are Trees and Tries and How Do They Work?
  • How Do Priority Queues and Heaps Work?
  • Build an Adjacency List to Matrix Converter
  • Implement the Depth-First Search Algorithm
  • Implement the N-Queens Algorithm
  • Graphs and Trees Review
  • Graphs and Trees Quiz
  • What Is Dynamic Programming and What Are Some Common Algorithms?
  • Build an Nth Fibonacci Number Calculator
  • Dynamic Programming Review
  • Dynamic Programming Quiz
  • Python Review
  • Python Certification Exam
  • What Is a Code Editor and IDE?
  • How to Install Visual Studio Code onto Your Computer
  • How to Create a Project and Run Your Code Locally in VS Code
  • What Are Several Useful Keyboard Shortcuts for Maximizing Productivity in VS Code?
  • What Are Some Good VS Code Extensions You Can Use in Your Editor?
  • What Is the Terminal, and How Does It Differ from the Command Line?
  • What Are Some Shortcuts You Can Use in the Command Line to Speed Up Productivity?
  • What Is Bash, and What Are Some Basic Commands?
  • What Are Some Command Options and Flags?
  • Build a Boilerplate
  • Bash Commands Review
  • Bash Commands Quiz
  • What Are Relational Databases, and How Do They Differ from Non-Relational Databases?
  • What Are Some Common Relational Databases, and How Do You Install and Use Postgres?
  • What Is SQL, and How Can You Create a Database with Tables?
  • What Are the Basic Data Types in SQL?
  • How Do You Insert and View Data in a Table?
  • What Are Primary and Foreign Keys in SQL, and How Do They Work?
  • What Are the Different Types of Relationships in a Relational Database?
  • What Are the Different Ways to Join Tables?
  • Build a Database of Video Game Characters
  • SQL and PostgreSQL Review
  • SQL and PostgreSQL Quiz
  • Build a Celestial Bodies Database
  • What Is Bash Scripting, and What Are Some Advantages to Using It?
  • Build Five Programs
  • Bash Scripting Review
  • Bash Scripting Quiz
  • What Is Normalization in SQL?
  • What Is SQL Injection, and What Are Some Ways to Prevent It?
  • What Is the N+1 Problem?
  • Build a Student Database: Part 1
  • Build a Student Database: Part 2
  • Build a Kitty Ipsum Translator
  • Build a Bike Rental Shop
  • Bash and SQL Review
  • Bash and SQL Quiz
  • Build a World Cup Database
  • Build a Salon Appointment Scheduler
  • What Is Nano?
  • Build a Castle
  • What Is Version Control, and Why Are These Systems Necessary?
  • What Is the Purpose of Sites Like GitHub and GitLab, and What Are Some Benefits of Using Them?
  • How Do You Install and Set Up Git?
  • What Is a Repository, and How Do You Create One?
  • How Do You Handle Security Requirements Like SSH and GPG Keys?
  • How Do You Push a Local Repository to GitHub?
  • How Do You Contribute to Other People's Repositories?
  • How Do You Create a New Branch for Your Repository?
  • What Is a Pull Request, and How Do You Create One?
  • What Does a Typical Code Review Process Look Like for Projects?
  • How Do You Use GitHub Pages to Deploy a Project?
  • What Are Good Practices for Remaining in Sync with Your Remote Counterparts?
  • What Is a .gitignore File, and What Are Some Items That Should Be Included Inside It?
  • What Are Some Best Practices for Developing a Git Branching Strategy?
  • What Are Merge Conflicts, and How Can You Resolve Them?
  • What Is CI/CD, and How Does CI Work with GitHub Actions?
  • Build an SQL Reference Object
  • Git Review
  • Git Quiz
  • Build a Periodic Table Database
  • Build a Number Guessing Game
  • Relational Databases Review
  • Relational Databases Certification Exam
  • Dialogue 1: Maria Introduces Herself to Tom
  • Task 1
  • Task 2
  • Task 3
  • Task 4
  • Task 5
  • Task 6
  • Task 7
  • Task 8
  • Task 9
  • Task 10
  • Task 11
  • Task 12
  • Task 13
  • Task 14
  • Task 15
  • Task 16
  • Task 17
  • Task 18
  • Task 19
  • Task 20
  • Task 21
  • Task 22
  • Task 23
  • Task 24
  • Task 25
  • Task 26
  • Task 27
  • Task 28
  • Task 29
  • Task 30
  • Task 31
  • Task 32
  • Task 33
  • Dialogue 2: Tom Meets the Coworker Next to Him
  • Task 34
  • Task 35
  • Task 36
  • Task 37
  • Task 38
  • Task 39
  • Task 40
  • Task 41
  • Task 42
  • Task 43
  • Task 44
  • Task 45
  • Task 46
  • Task 47
  • Task 48
  • Task 49
  • Task 50
  • Task 51
  • Task 52
  • Task 53
  • Task 54
  • Task 55
  • Task 56
  • Task 57
  • Task 58
  • Task 59
  • Task 60
  • Task 61
  • Task 62
  • Task 63
  • Task 64
  • Task 65
  • Task 66
  • Task 67
  • Task 68
  • Task 69
  • Task 70
  • Task 71
  • Task 72
  • Task 73
  • Task 74
  • Task 75
  • Task 76
  • Task 77
  • Task 78
  • Task 79
  • Task 80
  • Task 81
  • Task 82
  • Task 83
  • Task 84
  • Task 85
  • Task 86
  • Task 87
  • Task 88
  • Task 89
  • Task 90
  • Task 91
  • Task 92
  • Task 93
  • Task 94
  • Dialogue 3: Tom and Sophie Take a Lunch Break
  • Task 95
  • Task 96
  • Task 97
  • Task 98
  • Task 99
  • Task 100
  • Task 101
  • Task 102
  • Task 103
  • Task 104
  • Task 105
  • Task 106
  • Task 107
  • Task 108
  • Task 109
  • Task 110
  • Task 111
  • Task 112
  • Task 113
  • Task 114
  • Task 115
  • Task 116
  • Task 117
  • Task 118
  • Task 119
  • Task 120
  • Task 121
  • Task 122
  • Task 123
  • Task 124
  • Task 125
  • Task 126
  • Task 127
  • Task 128
  • Task 129
  • Dialogue 4: Sophie Introduces Brian to Tom
  • Task 130
  • Task 131
  • Task 132
  • Task 133
  • Task 134
  • Task 135
  • Task 136
  • Task 137
  • Task 138
  • Task 139
  • Task 140
  • Task 141
  • Task 142
  • Task 143
  • Task 144
  • Task 145
  • Task 146
  • Task 147
  • Task 148
  • Task 149
  • Task 150
  • Task 151
  • Task 152
  • Dialogue 5: End of the First Day
  • Task 153
  • Task 154
  • Task 155
  • Task 156
  • Task 157
  • Task 158
  • Task 159
  • Task 160
  • Task 161
  • Task 162
  • Task 163
  • Task 164
  • Task 165
  • Task 166
  • Task 167
  • Task 168
  • Task 169
  • Task 170
  • Task 171
  • Dialogue 1: A Mobile Developer Joins the Team
  • Dialogue 2: Introducing the New Junior Developer
  • Dialogue 3: Team Meeting Introduction
  • Dialogue 4: A Training Session
  • Dialogue 5: Meeting a Client
  • Dialogue 1: Small Talk
  • Dialogue 2: New Hobbies
  • Dialogue 3: Tom Asks About the Team Lead
  • Dialogue 4: Talking About the Monday Meetings
  • Dialogue 5: Knowing the Area Around the Company
  • Dialogue 1: Tom Asks Sophie About Her Routine
  • Dialogue 2: Anna from HR Tells Tom about the Company Routine
  • Dialogue 3: Jake Tells Sophie about His Routine
  • Dialogue 4: James Explains Compliance
  • Dialogue 5: Brian Asks Sarah about Her Routine as a QA Tester
  • Dialogue 1: Learn How to Discuss your Morning or Evening Routine
  • Dialogue 2: Consulting a Wellness Expert
  • Dialogue 3: Evening Routine with Kids
  • Dialogue 4: Brian and Maria Talk about Eventful Evenings
  • Dialogue 5: Sophie and Brian Talk about the Weekend
  • Dialogue 1: Sophie and James Discuss Their Projects
  • Dialogue 2: Data Analysis Team Discuss Their Projects
  • Dialogue 3: Maria and Mark Talk about Their Projects
  • Dialogue 4: Brian Talks to Amy about Their Projects
  • Dialogue 5: Bob and Sarah Talk about Their Projects
  • Dialogue 1: A Job Interview
  • Dialogue 2: Another Job Interview
  • Dialogue 3: Two Workmates Talk about Their Backgrounds
  • Dialogue 4: A Developer with a Different Background
  • Dialogue 5: Anna Talks About her Experience
  • Dialogue 1: An Interest in Photography
  • Dialogue 2: The Bike Rider
  • Dialogue 3: The Collector
  • Dialogue 4: Inviting to a Convention
  • Dialogue 5: Getting into Extreme Sports
  • Dialogue 1: Describing Other People and What They Do
  • Dialogue 2: Talking about Anna
  • Dialogue 3: Talking about Jeff
  • Dialogue 4: Sophie Asks Bob about His Responsibilities
  • Dialogue 5: Brian And Sophie Talk about Responsibilities
  • Dialogue 1: What Motivates the Team?
  • Dialogue 2: Asking How Someone Feels
  • Dialogue 3: Talking about Motivations to Pursue a Career
  • Dialogue 4: Chatting About Gadgets
  • Dialogue 5: Discussing Open-source Software
  • Dialogue 1: Talking about Artificial Intelligence
  • Dialogue 2: Talking about Remote Work and Collaboration Tools
  • Dialogue 3: Talking about Quantum Computing
  • Dialogue 4: Talking about Biometrics
  • Dialogue 5: Talking about Augmented Reality
  • Dialogue 1: Describing a Workmate
  • Dialogue 2: Looking for Tom
  • Dialogue 3: A Guessing Game
  • Dialogue 4: Checking the Project Details
  • Dialogue 5: Arrangements for a Company Party
  • Dialogue 1: Discussing Basic Programming
  • Dialogue 2: Discussing Debugging
  • Dialogue 3: Talking about OOP
  • Dialogue 1: Asking about Data Types
  • Dialogue 2: Asking about Functions
  • Dialogue 3: Getting Help with Variables
  • Dialogue 1: Discussing Low-Code Development
  • Dialogue 2: Discussing Serverless Computing
  • Dialogue 3: Discussing AI in Programming
  • Dialogue 1: Discussing Issues on GitHub
  • Dialogue 2: Talking about Pull Requests
  • Dialogue 3: Talking about Debugging
  • Dialogue 1: Offering Suggestions in a Meeting
  • Dialogue 2: Asking and Offering Help on a Meeting
  • Dialogue 3: Improvement Suggestions
  • Dialogue 1: Asking for Help to Understand Code
  • Dialogue 2: Asking for Help on a Bug
  • Dialogue 3: Asking for Peer Reviewing
  • Dialogue 1: Introduction to Code Documentation
  • Dialogue 2: Adding Comments to Code
  • Dialogue 3: Version Control and Documenting Changes
  • Dialogue 1: Navigating Documentation
  • Dialogue 2: Understanding Function Descriptions
  • Dialogue 3: Understanding Parameters and Options
  • Dialogue 1: Analyzing API Documentation
  • Dialogue 2: Analyzing Code Documentation for Functions
  • Dialogue 3: Analyzing Code Documentation for Classes and Objects
  • Dialogue 1: During a Weekly Meeting
  • Dialogue 2: A Manager and a Direct Report in a Performance Review
  • Dialogue 3: Sharing Accomplishments over Lunch
  • Dialogue 1: Discussing Plans for the Next Project
  • Dialogue 2: Discussing Strategies for the Release of a Product at a Conference Call
  • Dialogue 3: Plans for a Presentation
  • Dialogue 1: Reviewing an App Design
  • Dialogue 2: What to Prioritize Next
  • Dialogue 3: How to Approach the Project
  • Dialogue 1: A Code Review Session
  • Dialogue 2: Tom's Onboarding with Maria
  • Dialogue 3: Collaborating on a Bug Fix
  • Dialogue 1: Solving Coding Challenges
  • Dialogue 2: Learning a New Technology
  • Dialogue 3: Offering Assistance and Receiving Guidance
  • Dialogue 1: An Issue with the Computer
  • Dialogue 2: An Online Meeting for Software Training
  • Dialogue 3: Integrating a Framework
  • A2 English for Developers Certification Exam
  • Dialogue 1: Hackathon Plans
  • Dialogue 2: Cybersecurity Training
  • Dialogue 3: Struggling with IDEs
  • Dialogue 1: A Debugging Session Recap
  • Dialogue 2: Project Post-Mortem
  • Dialogue 3: Tech Conference Experience
  • Dialogue 1: The Latest User Feedback
  • Dialogue 2: Post-Development Review
  • Dialogue 3: Progress and Change
  • Dialogue 1: Improving Screen Reader Compatibility
  • Dialogue 2: Closed Captioning Challenges
  • Dialogue 3: Voice Command Features
  • Dialogue 4: Accessibility Training for Developers
  • Dialogue 1: Scheduled Maintenance to Prevent DoS Attacks
  • Dialogue 2: Responding to Phishing Threats
  • Dialogue 3: Planning for SQL Injection Prevention
  • Dialogue 2: Troubleshooting Authentication Errors
  • Dialogue 3: Preventing MitM attacks
  • Dialogue 1: If It Doesn't Boot
  • Dialogue 2: Data Backup
  • Dialogue 3: What If...
  • Dialogue 1: Performance Review Feedback
  • Dialogue 2: Team Feedback Session
  • Dialogue 3: Client Feedback
  • Dialogue 1: Choosing a Programming Language
  • Dialogue 2: Deciding on a Development Environment
  • Dialogue 3: Selecting a Cloud Platform
  • Dialogue 1: Project Planning
  • Dialogue 2: Code Review
  • Dialogue 1: Balancing Priorities
  • Dialogue 2: In Person x Remote
  • Dialogue 3: Split the Stipend
  • Dialogue 1: Project Timeline Discussion
  • Dialogue 2: Team Meeting Follow-Up
  • Dialogue 3: Team Tension Discussion
  • Dialogue 1: Comparing Software Features
  • Dialogue 2: Comparing Tech Companies
  • Dialogue 3: Deciding on the Best Solution
  • Dialogue 1: Security Protocols Compliance
  • Dialogue 2: Software Development Outcomes
  • Dialogue 3: Security Breach Investigation
  • Dialogue 1: Picking Up Where We Left Off
  • Dialogue 2: Polite Interruption in a Meeting
  • Dialogue 3: Project Check-In
  • Dialogue 1: Guessing the Meaning
  • Dialogue 2: Flickering Glitches
  • Dialogue 3: A Misunderstanding With A Client
  • Dialogue 1: Should Have Noticed That
  • Dialogue 2: Speculating on a Security Breach
  • Dialogue 3: Improving Technical Training
  • Dialogue 1: Optimizing Daily Huddle Meetings
  • Dialogue 2: Testing the New Chat Feature
  • Dialogue 3: Evaluating Marketing Impact
  • Dialogue 1: Negotiating Inventory Needs
  • Dialogue 2: Rehearsing Pitch
  • Dialogue 3: Comparing Two Versions of Software
  • Dialogue 1: Choosing the Right Cloud Storage Solution
  • Dialogue 2: Who Will Do What
  • Dialogue 3: Balancing Projects
  • Dialogue 1: Security Incident Debrief
  • Dialogue 2: Website Redesign Feedback
  • Dialogue 3: A System Failure
  • Dialogue 1: Office Relocation
  • Dialogue 2: Planning Ahead
  • Dialogue 3: A New Workstation
  • Dialogue 1: Milestone Planning
  • Dialogue 2: Budget Breakdown
  • Dialogue 3: Inventory Check
  • Dialogue 1: Reviewing HR Policies
  • Dialogue 2: Interface Security Review
  • Dialogue 3: Webinar Coordination
  • B1 English for Developers Certification Exam
  • Why Learn Spanish?
  • How the Certification Works
  • How to Set Up the Spanish Keyboard on Your Computer
  • How to Set Up the Spanish Keyboard on Mobile
  • Spanish Alphabet General Review
  • Spanish Alphabet Pronunciation Review
  • Spanish Numbers Pronunciation Review
  • The Spanish Alphabet Quiz
  • Grammar Highlights
  • Glossary
  • Greetings and Farewells Quiz
  • Introducing Yourself Quiz
  • First Questions Quiz
  • Numbers 10 to 29 General Review
  • Numbers 10 to 29 Pronunciation Review
  • Numbers 10 to 29 Quiz
  • HTML Foundations Lesson A
  • HTML Foundations Lesson B
  • HTML Foundations Lesson C
  • HTML Foundations Lesson D
  • HTML Foundations Lesson E
  • HTML Foundations Lesson F
  • HTML Foundations Lesson G
  • HTML Foundations Lesson H
  • Working With Text Lesson A
  • Working With Text Lesson B
  • Working With Text Lesson C
  • Working With Text Lesson D
  • Working With Text Lesson E
  • Working With Text Lesson F
  • Working With Text Lesson G
  • Working With Text Lesson H
  • Working With Text Lesson I
  • Working With Text Lesson J
  • Links and Images Lesson A
  • Links and Images Lesson B
  • Links and Images Lesson C
  • Links and Images Lesson D
  • Links and Images Lesson E
  • Links and Images Lesson F
  • Links and Images Lesson G
  • Links and Images Lesson H
  • Build a Recipe Page Project
  • CSS Foundations Lesson A
  • CSS Foundations Lesson B
  • CSS Foundations Lesson C
  • CSS Foundations Lesson D
  • CSS Foundations Lesson E
  • CSS Foundations Lesson F
  • CSS Foundations Lesson G
  • CSS Foundations Lesson H
  • CSS Foundations Exercise A
  • CSS Foundations Exercise B
  • CSS Foundations Exercise C
  • CSS Foundations Exercise D
  • CSS Foundations Exercise E
  • The Cascade of CSS Lesson A
  • The Cascade of CSS Lesson B
  • The Cascade of CSS Lesson C
  • The Cascade of CSS Lesson D
  • The Cascade of CSS Lesson E
  • The Cascade of CSS Lesson F
  • The Cascade of CSS Lesson G
  • The Cascade of CSS Lesson H
  • The Box Model Lesson A
  • The Box Model Lesson B
  • The Box Model Lesson C
  • The Box Model Lesson D
  • The Box Model Lesson E
  • The Box Model Lesson F
  • The Box Model Lesson G
  • The Box Model Lesson H
  • The Box Model Lesson I
  • The Box Model Lesson J
  • The Box Model Lesson K
  • The Box Model Lesson L
  • The Box Model Lesson M
  • Learn Block and Inline Lesson A
  • Learn Block and Inline Lesson B
  • Learn Block and Inline Lesson C
  • Learn Block and Inline Lesson D
  • Learn Block and Inline Lesson E
  • Learn Block and Inline Lesson F
  • Learn Block and Inline Lesson G
  • Learn Block and Inline Lesson H
  • Learn Block and Inline Lesson I
  • Learn Block and Inline Lesson J
  • Learn Block and Inline Lesson K
  • Introduction to Flexbox Lesson A
  • Introduction to Flexbox Lesson B
  • Introduction to Flexbox Lesson C
  • Introduction to Flexbox Lesson D
  • Introduction to Flexbox Lesson E
  • Introduction to Flexbox Lesson F
  • Introduction to Flexbox Lesson G
  • Introduction to Flexbox Lesson H
  • Introduction to Flexbox Lesson I
  • Introduction to Flexbox Lesson J
  • Introduction to Flexbox Lesson K
  • Learn Variables and Operators Lesson A
  • Learn Variables and Operators Lesson B
  • Learn Variables and Operators Lesson C
  • Learn Variables and Operators Lesson D
  • Learn Variables and Operators Lesson E
  • Learn Variables and Operators Lesson F
  • Learn Variables and Operators Lesson G
  • Learn Variables and Operators Lesson H
  • Learn Variables and Operators Lesson I
  • Learn Data Types and Conditionals Lesson A
  • Learn Data Types and Conditionals Lesson B
  • Learn Data Types and Conditionals Lesson C
  • Learn Data Types and Conditionals Lesson D
  • Learn Data Types and Conditionals Lesson E
  • Learn Data Types and Conditionals Lesson F
  • Learn Data Types and Conditionals Lesson G
  • Learn Data Types and Conditionals Lesson H
  • Learn Data Types and Conditionals Lesson I
  • Learn Data Types and Conditionals Lesson J
  • Learn Data Types and Conditionals Lesson K
  • Learn Data Types and Conditionals Lesson L
  • Learn Function Basics Lesson A
  • Learn Function Basics Lesson B
  • Learn Function Basics Lesson C
  • Learn Function Basics Lesson D
  • Learn Function Basics Lesson E
  • Learn Function Basics Lesson F
  • Basic Functions Exercise A
  • Basic Functions Exercise B
  • Basic Functions Exercise C
  • Basic Functions Exercise D
  • Learn Arrays and Loops Lesson A
  • Learn Arrays and Loops Lesson B
  • Learn Arrays and Loops Lesson C
  • Learn Arrays and Loops Lesson D
  • Learn Arrays and Loops Lesson E
  • Learn Arrays and Loops Lesson F
  • Learn Arrays and Loops Lesson G
  • Learn Arrays and Loops Lesson H
  • Learn to Solve Problems and Understand Errors Lesson A
  • Learn to Solve Problems and Understand Errors Lesson B
  • Learn to Solve Problems and Understand Errors Lesson C
  • Learn to Solve Problems and Understand Errors Lesson D
  • Learn to Solve Problems and Understand Errors Lesson E
  • Learn to Solve Problems and Understand Errors Lesson F
  • Learn to Solve Problems and Understand Errors Lesson G
  • Learn to Solve Problems and Understand Errors Lesson H
  • Build a Rock Paper Scissors Game
  • Find the Symmetric Difference
  • Inventory Update
  • No Repeats Please
  • Pairwise
  • Implement Bubble Sort
  • Implement Selection Sort
  • Implement Insertion Sort
  • Implement Quick Sort
  • Implement Merge Sort
  • Implement Binary Search
  • Typed Arrays
  • Learn how a Stack Works
  • Create a Stack Class
  • Create a Queue Class
  • Create a Priority Queue Class
  • Create a Circular Queue
  • Create a Set Class
  • Perform a Union on Two Sets
  • Perform an Intersection on Two Sets of Data
  • Perform a Difference on Two Sets of Data
  • Perform a Subset Check on Two Sets of Data
  • Create and Add to Sets in ES6
  • Remove items from a set in ES6
  • Use .has and .size on an ES6 Set
  • Use Spread and Notes for ES5 Set() Integration
  • Create a Map Data Structure
  • Create an ES6 JavaScript Map
  • Create a Hash Table
  • Work with Nodes in a Linked List
  • Create a Linked List Class
  • Remove Elements from a Linked List
  • Search within a Linked List
  • Remove Elements from a Linked List by Index
  • Add Elements at a Specific Index in a Linked List
  • Create a Doubly Linked List
  • Reverse a Doubly Linked List
  • Add a New Element to a Binary Search Tree
  • Find the Minimum and Maximum Value in a Binary Search Tree
  • Check if an Element is Present in a Binary Search Tree
  • Check if Tree is Binary Search Tree
  • Find the Minimum and Maximum Height of a Binary Search Tree
  • Use Depth First Search in a Binary Search Tree
  • Use Breadth First Search in a Binary Search Tree
  • Delete a Leaf Node in a Binary Search Tree
  • Delete a Node with One Child in a Binary Search Tree
  • Delete a Node with Two Children in a Binary Search Tree
  • Invert a Binary Tree
  • Create a Trie Search Tree
  • Insert an Element into a Max Heap
  • Remove an Element from a Max Heap
  • Implement Heap Sort with a Min Heap
  • Adjacency List
  • Adjacency Matrix
  • Incidence Matrix
  • Breadth-First Search
  • Depth-First Search
  • Show the Local Weather
  • Build a Wikipedia Viewer
  • Use the Twitch JSON API
  • Build an Image Search Abstraction Layer
  • Build a Tic Tac Toe Game
  • Build a Memory Light Game
  • Build a freeCodeCamp Forum Homepage
  • Build a Recipe Box
  • Build the Game of Life
  • Build a Roguelike Dungeon Crawler Game
  • P2P Video Chat Application
  • Show National Contiguity with a Force Directed Graph
  • Map Data Across the Globe
  • Manage a Book Trading Club
  • Build a Pinterest Clone
  • Build a Nightlife Coordination App
  • Chart the Stock Market
  • Build a Voting App
  • Build a Pong Game
  • Build a Light-Bright App
  • Problem 1: Multiples of 3 or 5
  • Problem 2: Even Fibonacci Numbers
  • Problem 3: Largest prime factor
  • Problem 4: Largest palindrome product
  • Problem 5: Smallest multiple
  • Problem 6: Sum square difference
  • Problem 7: 10001st prime
  • Problem 8: Largest product in a series
  • Problem 9: Special Pythagorean triplet
  • Problem 10: Summation of primes
  • Problem 11: Largest product in a grid
  • Problem 12: Highly divisible triangular number
  • Problem 13: Large sum
  • Problem 14: Longest Collatz sequence
  • Problem 15: Lattice paths
  • Problem 16: Power digit sum
  • Problem 17: Number letter counts
  • Problem 18: Maximum path sum I
  • Problem 19: Counting Sundays
  • Problem 20: Factorial digit sum
  • Problem 21: Amicable numbers
  • Problem 22: Names scores
  • Problem 23: Non-abundant sums
  • Problem 24: Lexicographic permutations
  • Problem 25: 1000-digit Fibonacci number
  • Problem 26: Reciprocal cycles
  • Problem 27: Quadratic primes
  • Problem 28: Number spiral diagonals
  • Problem 29: Distinct powers
  • Problem 30: Digit n powers
  • Problem 31: Coin sums
  • Problem 32: Pandigital products
  • Problem 33: Digit cancelling fractions
  • Problem 34: Digit factorials
  • Problem 35: Circular primes
  • Problem 36: Double-base palindromes
  • Problem 37: Truncatable primes
  • Problem 38: Pandigital multiples
  • Problem 39: Integer right triangles
  • Problem 40: Champernowne's constant
  • Problem 41: Pandigital prime
  • Problem 42: Coded triangle numbers
  • Problem 43: Sub-string divisibility
  • Problem 44: Pentagon numbers
  • Problem 45: Triangular, pentagonal, and hexagonal
  • Problem 46: Goldbach's other conjecture
  • Problem 47: Distinct primes factors
  • Problem 48: Self powers
  • Problem 49: Prime permutations
  • Problem 50: Consecutive prime sum
  • Problem 51: Prime digit replacements
  • Problem 52: Permuted multiples
  • Problem 53: Combinatoric selections
  • Problem 54: Poker hands
  • Problem 55: Lychrel numbers
  • Problem 56: Powerful digit sum
  • Problem 57: Square root convergents
  • Problem 58: Spiral primes
  • Problem 59: XOR decryption
  • Problem 60: Prime pair sets
  • Problem 61: Cyclical figurate numbers
  • Problem 62: Cubic permutations
  • Problem 63: Powerful digit counts
  • Problem 64: Odd period square roots
  • Problem 65: Convergents of e
  • Problem 66: Diophantine equation
  • Problem 67: Maximum path sum II
  • Problem 68: Magic 5-gon ring
  • Problem 69: Totient maximum
  • Problem 70: Totient permutation
  • Problem 71: Ordered fractions
  • Problem 72: Counting fractions
  • Problem 73: Counting fractions in a range
  • Problem 74: Digit factorial chains
  • Problem 75: Singular integer right triangles
  • Problem 76: Counting summations
  • Problem 77: Prime summations
  • Problem 78: Coin partitions
  • Problem 79: Passcode derivation
  • Problem 80: Square root digital expansion
  • Problem 81: Path sum: two ways
  • Problem 82: Path sum: three ways
  • Problem 83: Path sum: four ways
  • Problem 84: Monopoly odds
  • Problem 85: Counting rectangles
  • Problem 86: Cuboid route
  • Problem 87: Prime power triples
  • Problem 88: Product-sum numbers
  • Problem 89: Roman numerals
  • Problem 90: Cube digit pairs
  • Problem 91: Right triangles with integer coordinates
  • Problem 92: Square digit chains
  • Problem 93: Arithmetic expressions
  • Problem 94: Almost equilateral triangles
  • Problem 95: Amicable chains
  • Problem 96: Su Doku
  • Problem 97: Large non-Mersenne prime
  • Problem 98: Anagramic squares
  • Problem 99: Largest exponential
  • Problem 100: Arranged probability
  • Problem 101: Optimum polynomial
  • Problem 102: Triangle containment
  • Problem 103: Special subset sums: optimum
  • Problem 104: Pandigital Fibonacci ends
  • Problem 105: Special subset sums: testing
  • Problem 106: Special subset sums: meta-testing
  • Problem 107: Minimal network
  • Problem 108: Diophantine Reciprocals I
  • Problem 109: Darts
  • Problem 110: Diophantine Reciprocals II
  • Problem 111: Primes with runs
  • Problem 112: Bouncy numbers
  • Problem 113: Non-bouncy numbers
  • Problem 114: Counting block combinations I
  • Problem 115: Counting block combinations II
  • Problem 116: Red, green or blue tiles
  • Problem 117: Red, green, and blue tiles
  • Problem 118: Pandigital prime sets
  • Problem 119: Digit power sum
  • Problem 120: Square remainders
  • Problem 121: Disc game prize fund
  • Problem 122: Efficient exponentiation
  • Problem 123: Prime square remainders
  • Problem 124: Ordered radicals
  • Problem 125: Palindromic sums
  • Problem 126: Cuboid layers
  • Problem 127: abc-hits
  • Problem 128: Hexagonal tile differences
  • Problem 129: Repunit divisibility
  • Problem 130: Composites with prime repunit property
  • Problem 131: Prime cube partnership
  • Problem 132: Large repunit factors
  • Problem 133: Repunit nonfactors
  • Problem 134: Prime pair connection
  • Problem 135: Same differences
  • Problem 136: Singleton difference
  • Problem 137: Fibonacci golden nuggets
  • Problem 138: Special isosceles triangles
  • Problem 139: Pythagorean tiles
  • Problem 140: Modified Fibonacci golden nuggets
  • Problem 141: Investigating progressive numbers, n, which are also square
  • Problem 142: Perfect Square Collection
  • Problem 143: Investigating the Torricelli point of a triangle
  • Problem 144: Investigating multiple reflections of a laser beam
  • Problem 145: How many reversible numbers are there below one-billion?
  • Problem 146: Investigating a Prime Pattern
  • Problem 147: Rectangles in cross-hatched grids
  • Problem 148: Exploring Pascal's triangle
  • Problem 149: Searching for a maximum-sum subsequence
  • Problem 150: Searching a triangular array for a sub-triangle having minimum-sum
  • Problem 151: Paper sheets of standard sizes: an expected-value problem
  • Problem 152: Writing one half as a sum of inverse squares
  • Problem 153: Investigating Gaussian Integers
  • Problem 154: Exploring Pascal's pyramid
  • Problem 155: Counting Capacitor Circuits
  • Problem 156: Counting Digits
  • Problem 157: Solving the diophantine equation
  • Problem 158: Exploring strings for which only one character comes lexicographically after its neighbor to the left
  • Problem 159: Digital root sums of factorizations
  • Problem 160: Factorial trailing digits
  • Problem 161: Triominoes
  • Problem 162: Hexadecimal numbers
  • Problem 163: Cross-hatched triangles
  • Problem 164: Numbers for which no three consecutive digits have a sum greater than a given value
  • Problem 165: Intersections
  • Problem 166: Criss Cross
  • Problem 167: Investigating Ulam sequences
  • Problem 168: Number Rotations
  • Problem 169: Exploring the number of different ways a number can be expressed as a sum of powers of 2
  • Problem 170: Find the largest 0 to 9 pandigital that can be formed by concatenating products
  • Problem 171: Finding numbers for which the sum of the squares of the digits is a square
  • Problem 172: Investigating numbers with few repeated digits
  • Problem 173: Using up to one million tiles how many different "hollow" square laminae can be formed?
  • Problem 174: Counting the number of "hollow" square laminae that can form one, two, three, ... distinct arrangements
  • Problem 175: Fractions involving the number of different ways a number can be expressed as a sum of powers of 2
  • Problem 176: Right-angled triangles that share a cathetus
  • Problem 177: Integer angled Quadrilaterals
  • Problem 178: Step Numbers
  • Problem 179: Consecutive positive divisors
  • Problem 180: Rational zeros of a function of three variables
  • Problem 181: Investigating in how many ways objects of two different colors can be grouped
  • Problem 182: RSA encryption
  • Problem 183: Maximum product of parts
  • Problem 184: Triangles containing the origin
  • Problem 185: Number Mind
  • Problem 186: Connectedness of a network
  • Problem 187: Semiprimes
  • Problem 188: The hyperexponentiation of a number
  • Problem 189: Tri-coloring a triangular grid
  • Problem 190: Maximizing a weighted product
  • Problem 191: Prize Strings
  • Problem 192: Best Approximations
  • Problem 193: Squarefree Numbers
  • Problem 194: Colored Configurations
  • Problem 195: Inscribed circles of triangles with one angle of 60 degrees
  • Problem 196: Prime triplets
  • Problem 197: Investigating the behavior of a recursively defined sequence
  • Problem 198: Ambiguous Numbers
  • Problem 199: Iterative Circle Packing
  • Problem 200: Find the 200th prime-proof sqube containing the contiguous sub-string "200"
  • Problem 201: Subsets with a unique sum
  • Problem 202: Laserbeam
  • Problem 203: Squarefree Binomial Coefficients
  • Problem 204: Generalised Hamming Numbers
  • Problem 205: Dice Game
  • Problem 206: Concealed Square
  • Problem 207: Integer partition equations
  • Problem 208: Robot Walks
  • Problem 209: Circular Logic
  • Problem 210: Obtuse Angled Triangles
  • Problem 211: Divisor Square Sum
  • Problem 212: Combined Volume of Cuboids
  • Problem 213: Flea Circus
  • Problem 214: Totient Chains
  • Problem 215: Crack-free Walls
  • Problem 216: Investigating the primality of numbers of the form 2n2-1
  • Problem 217: Balanced Numbers
  • Problem 218: Perfect right-angled triangles
  • Problem 219: Skew-cost coding
  • Problem 220: Heighway Dragon
  • Problem 221: Alexandrian Integers
  • Problem 222: Sphere Packing
  • Problem 223: Almost right-angled triangles I
  • Problem 224: Almost right-angled triangles II
  • Problem 225: Tribonacci non-divisors
  • Problem 226: A Scoop of Blancmange
  • Problem 227: The Chase
  • Problem 228: Minkowski Sums
  • Problem 229: Four Representations using Squares
  • Problem 230: Fibonacci Words
  • Problem 231: The prime factorisation of binomial coefficients
  • Problem 232: The Race
  • Problem 233: Lattice points on a circle
  • Problem 234: Semidivisible numbers
  • Problem 235: An Arithmetic Geometric sequence
  • Problem 236: Luxury Hampers
  • Problem 237: Tours on a 4 x n playing board
  • Problem 238: Infinite string tour
  • Problem 239: Twenty-two Foolish Primes
  • Problem 240: Top Dice
  • Problem 241: Perfection Quotients
  • Problem 242: Odd Triplets
  • Problem 243: Resilience
  • Problem 244: Sliders
  • Problem 245: Coresilience
  • Problem 246: Tangents to an ellipse
  • Problem 247: Squares under a hyperbola
  • Problem 248: Numbers for which Euler’s totient function equals 13!
  • Problem 249: Prime Subset Sums
  • Problem 250: 250250
  • Problem 251: Cardano Triplets
  • Problem 252: Convex Holes
  • Problem 253: Tidying up
  • Problem 254: Sums of Digit Factorials
  • Problem 255: Rounded Square Roots
  • Problem 256: Tatami-Free Rooms
  • Problem 257: Angular Bisectors
  • Problem 258: A lagged Fibonacci sequence
  • Problem 259: Reachable Numbers
  • Problem 260: Stone Game
  • Problem 261: Pivotal Square Sums
  • Problem 262: Mountain Range
  • Problem 263: An engineers' dream come true
  • Problem 264: Triangle Centers
  • Problem 265: Binary Circles
  • Problem 266: Pseudo Square Root
  • Problem 267: Billionaire
  • Problem 268: Counting numbers with at least four distinct prime factors less than 100
  • Problem 269: Polynomials with at least one integer root
  • Problem 270: Cutting Squares
  • Problem 271: Modular Cubes, part 1
  • Problem 272: Modular Cubes, part 2
  • Problem 273: Sum of Squares
  • Problem 274: Divisibility Multipliers
  • Problem 275: Balanced Sculptures
  • Problem 276: Primitive Triangles
  • Problem 277: A Modified Collatz sequence
  • Problem 278: Linear Combinations of Semiprimes
  • Problem 279: Triangles with integral sides and an integral angle
  • Problem 280: Ant and seeds
  • Problem 281: Pizza Toppings
  • Problem 282: The Ackermann function
  • Problem 283: Integer sided triangles for which the area / perimeter ratio is integral
  • Problem 284: Steady Squares
  • Problem 285: Pythagorean odds
  • Problem 286: Scoring probabilities
  • Problem 287: Quadtree encoding (a simple compression algorithm)
  • Problem 288: An enormous factorial
  • Problem 289: Eulerian Cycles
  • Problem 290: Digital Signature
  • Problem 291: Panaitopol Primes
  • Problem 292: Pythagorean Polygons
  • Problem 293: Pseudo-Fortunate Numbers
  • Problem 294: Sum of digits - experience #23
  • Problem 295: Lenticular holes
  • Problem 296: Angular Bisector and Tangent
  • Problem 297: Zeckendorf Representation
  • Problem 298: Selective Amnesia
  • Problem 299: Three similar triangles
  • Problem 300: Protein folding
  • Problem 301: Nim
  • Problem 302: Strong Achilles Numbers
  • Problem 303: Multiples with small digits
  • Problem 304: Primonacci
  • Problem 305: Reflexive Position
  • Problem 306: Paper-strip Game
  • Problem 307: Chip Defects
  • Problem 308: An amazing Prime-generating Automaton
  • Problem 309: Integer Ladders
  • Problem 310: Nim Square
  • Problem 311: Biclinic Integral Quadrilaterals
  • Problem 312: Cyclic paths on SierpiÅ„ski graphs
  • Problem 313: Sliding game
  • Problem 314: The Mouse on the Moon
  • Problem 315: Digital root clocks
  • Problem 316: Numbers in decimal expansions
  • Problem 317: Firecracker
  • Problem 318: 2011 nines
  • Problem 319: Bounded Sequences
  • Problem 320: Factorials divisible by a huge integer
  • Problem 321: Swapping Counters
  • Problem 322: Binomial coefficients divisible by 10
  • Problem 323: Bitwise-OR operations on random integers
  • Problem 324: Building a tower
  • Problem 325: Stone Game II
  • Problem 326: Modulo Summations
  • Problem 327: Rooms of Doom
  • Problem 328: Lowest-cost Search
  • Problem 329: Prime Frog
  • Problem 330: Euler's Number
  • Problem 331: Cross flips
  • Problem 332: Spherical triangles
  • Problem 333: Special partitions
  • Problem 334: Spilling the beans
  • Problem 335: Gathering the beans
  • Problem 336: Maximix Arrangements
  • Problem 337: Totient Stairstep Sequences
  • Problem 338: Cutting Rectangular Grid Paper
  • Problem 339: Peredur fab Efrawg
  • Problem 340: Crazy Function
  • Problem 341: Golomb's self-describing sequence
  • Problem 342: The totient of a square is a cube
  • Problem 343: Fractional Sequences
  • Problem 344: Silver dollar game
  • Problem 345: Matrix Sum
  • Problem 346: Strong Repunits
  • Problem 347: Largest integer divisible by two primes
  • Problem 348: Sum of a square and a cube
  • Problem 349: Langton's ant
  • Problem 350: Constraining the least greatest and the greatest least
  • Problem 351: Hexagonal orchards
  • Problem 352: Blood tests
  • Problem 353: Risky moon
  • Problem 354: Distances in a bee's honeycomb
  • Problem 355: Maximal coprime subset
  • Problem 356: Largest roots of cubic polynomials
  • Problem 357: Prime generating integers
  • Problem 358: Cyclic numbers
  • Problem 359: Hilbert's New Hotel
  • Problem 360: Scary Sphere
  • Problem 361: Subsequence of Thue-Morse sequence
  • Problem 362: Squarefree factors
  • Problem 363: Bézier Curves
  • Problem 364: Comfortable distance
  • Problem 365: A huge binomial coefficient
  • Problem 366: Stone Game III
  • Problem 367: Bozo sort
  • Problem 368: A Kempner-like series
  • Problem 369: Badugi
  • Problem 370: Geometric triangles
  • Problem 371: License plates
  • Problem 372: Pencils of rays
  • Problem 373: Circumscribed Circles
  • Problem 374: Maximum Integer Partition Product
  • Problem 375: Minimum of subsequences
  • Problem 376: Nontransitive sets of dice
  • Problem 377: Sum of digits, experience 13
  • Problem 378: Triangle Triples
  • Problem 379: Least common multiple count
  • Problem 380: Amazing Mazes!
  • Problem 381: (prime-k) factorial
  • Problem 382: Generating polygons
  • Problem 383: Divisibility comparison between factorials
  • Problem 384: Rudin-Shapiro sequence
  • Problem 385: Ellipses inside triangles
  • Problem 386: Maximum length of an antichain
  • Problem 387: Harshad Numbers
  • Problem 388: Distinct Lines
  • Problem 389: Platonic Dice
  • Problem 390: Triangles with non rational sides and integral area
  • Problem 391: Hopping Game
  • Problem 392: Enmeshed unit circle
  • Problem 393: Migrating ants
  • Problem 394: Eating pie
  • Problem 395: Pythagorean tree
  • Problem 396: Weak Goodstein sequence
  • Problem 397: Triangle on parabola
  • Problem 398: Cutting rope
  • Problem 399: Squarefree Fibonacci Numbers
  • Problem 400: Fibonacci tree game
  • Problem 401: Sum of squares of divisors
  • Problem 402: Integer-valued polynomials
  • Problem 403: Lattice points enclosed by parabola and line
  • Problem 404: Crisscross Ellipses
  • Problem 405: A rectangular tiling
  • Problem 406: Guessing Game
  • Problem 407: Idempotents
  • Problem 408: Admissible paths through a grid
  • Problem 409: Nim Extreme
  • Problem 410: Circle and tangent line
  • Problem 411: Uphill paths
  • Problem 412: Gnomon numbering
  • Problem 413: One-child Numbers
  • Problem 414: Kaprekar constant
  • Problem 415: Titanic sets
  • Problem 416: A frog's trip
  • Problem 417: Reciprocal cycles II
  • Problem 418: Factorisation triples
  • Problem 419: Look and say sequence
  • Problem 420: 2x2 positive integer matrix
  • Problem 421: Prime factors of n^15+1
  • Problem 422: Sequence of points on a hyperbola
  • Problem 423: Consecutive die throws
  • Problem 424: Kakuro
  • Problem 425: Prime connection
  • Problem 426: Box-ball system
  • Problem 427: n-sequences
  • Problem 428: Necklace of Circles
  • Problem 429: Sum of squares of unitary divisors
  • Problem 430: Range flips
  • Problem 431: Square Space Silo
  • Problem 432: Totient sum
  • Problem 433: Steps in Euclid's algorithm
  • Problem 434: Rigid graphs
  • Problem 435: Polynomials of Fibonacci numbers
  • Problem 436: Unfair wager
  • Problem 437: Fibonacci primitive roots
  • Problem 438: Integer part of polynomial equation's solutions
  • Problem 439: Sum of sum of divisors
  • Problem 440: GCD and Tiling
  • Problem 441: The inverse summation of coprime couples
  • Problem 442: Eleven-free integers
  • Problem 443: GCD sequence
  • Problem 444: The Roundtable Lottery
  • Problem 445: Retractions A
  • Problem 446: Retractions B
  • Problem 447: Retractions C
  • Problem 448: Average least common multiple
  • Problem 449: Chocolate covered candy
  • Problem 450: Hypocycloid and Lattice points
  • Problem 451: Modular inverses
  • Problem 452: Long Products
  • Problem 453: Lattice Quadrilaterals
  • Problem 454: Diophantine reciprocals III
  • Problem 455: Powers With Trailing Digits
  • Problem 456: Triangles containing the origin II
  • Problem 457: A polynomial modulo the square of a prime
  • Problem 458: Permutations of Project
  • Problem 459: Flipping game
  • Problem 460: An ant on the move
  • Problem 461: Almost Pi
  • Problem 462: Permutation of 3-smooth numbers
  • Problem 463: A weird recurrence relation
  • Problem 464: Möbius function and intervals
  • Problem 465: Polar polygons
  • Problem 466: Distinct terms in a multiplication table
  • Problem 467: Superinteger
  • Problem 468: Smooth divisors of binomial coefficients
  • Problem 469: Empty chairs
  • Problem 470: Super Ramvok
  • Problem 471: Triangle inscribed in ellipse
  • Problem 472: Comfortable Distance II
  • Problem 473: Phigital number base
  • Problem 474: Last digits of divisors
  • Problem 475: Music festival
  • Problem 476: Circle Packing II
  • Problem 477: Number Sequence Game
  • Problem 478: Mixtures
  • Problem 479: Roots on the Rise
  • Problem 480: The Last Question
  • 100 doors
  • 24 game
  • 9 billion names of God the integer
  • ABC Problem
  • Abundant, deficient and perfect number classifications
  • Accumulator factory
  • Ackermann function
  • Align columns
  • Amicable pairs
  • Averages/Mode
  • Averages/Pythagorean means
  • Averages/Root mean square
  • Babbage problem
  • Balanced brackets
  • Circles of given radius through two points
  • Closest-pair problem
  • Combinations
  • Comma quibbling
  • Compare a list of strings
  • Convert seconds to compound duration
  • Count occurrences of a substring
  • Count the coins
  • Cramer's rule
  • Cumulative standard deviation
  • CUSIP
  • Cut a rectangle
  • Date format
  • Date manipulation
  • Day of the week
  • Deal cards for FreeCell
  • Deepcopy
  • Define a primitive data type
  • Department Numbers
  • Discordian date
  • Dot product
  • Element-wise operations
  • Emirp primes
  • Entropy
  • Equilibrium index
  • Ethiopian multiplication
  • Euler method
  • Evaluate binomial coefficients
  • Execute a Markov algorithm
  • Execute Brain****
  • Extensible prime generator
  • Factorial
  • Factors of a Mersenne number
  • Factors of an integer
  • Farey sequence
  • Fibonacci n-step number sequences
  • Fibonacci sequence
  • Fibonacci word
  • FizzBuzz
  • Fractran
  • Gamma function
  • Gaussian elimination
  • General FizzBuzz
  • Generate lower case ASCII alphabet
  • Generator/Exponential
  • Gray code
  • Greatest common divisor
  • Greatest subsequential sum
  • Hailstone sequence
  • Happy numbers
  • Harshad or Niven series
  • Hash from two arrays
  • Hash join
  • Heronian triangles
  • Hofstadter Figure-Figure sequences
  • Hofstadter Q sequence
  • I before E except after C
  • IBAN
  • Identity matrix
  • Iterated digits squaring
  • Jaro distance
  • JortSort
  • Josephus problem
  • K-d tree
  • Kaprekar numbers
  • Knapsack problem/0-1
  • Knapsack problem/Bounded
  • Knapsack problem/Continuous
  • Knapsack problem/Unbounded
  • Knight's tour
  • Largest int from concatenated ints
  • Last letter-first letter
  • Last Friday of each month
  • Leap year
  • Least common multiple
  • Left factorials
  • Letter frequency
  • Levenshtein distance
  • Linear congruential generator
  • Long multiplication
  • Longest common subsequence
  • Longest increasing subsequence
  • Longest string challenge
  • Look-and-say sequence
  • Loop over multiple arrays simultaneously
  • LU decomposition
  • Lucas-Lehmer test
  • Ludic numbers
  • Luhn test of credit card numbers
  • Lychrel numbers
  • LZW compression
  • S-Expressions
  • Sailors, coconuts and a monkey problem
  • Search a list of records
  • SEDOLs
  • Self Describing Numbers
  • Self-referential sequence
  • Semiprime
  • Set consolidation
  • Set of real numbers
  • SHA-1
  • SHA-256
  • Sort an array of composite structures
  • Sort disjoint sublist
  • Sort stability
  • Sort using a custom comparator
  • Sorting algorithms/Bead sort
  • Sorting algorithms/Bogosort
  • Sorting algorithms/Cocktail sort
  • Sorting algorithms/Comb sort
  • Sorting algorithms/Gnome sort
  • Sorting algorithms/Pancake sort
  • Sorting algorithms/Permutation sort
  • Sorting algorithms/Shell sort
  • Sorting algorithms/Stooge sort
  • Sorting algorithms/Strand sort
  • Soundex
  • Spiral matrix
  • Split a character string based on change of character
  • State name puzzle
  • Stern-Brocot sequence
  • Straddling checkerboard
  • Stream Merge
  • Strip control codes and extended characters from a string
  • Subleq
  • Sudoku
  • Sum digits of an integer
  • Sum multiples of 3 and 5
  • Sum of a series
  • Sum of squares
  • Sum to 100
  • Sutherland-Hodgman polygon clipping
  • Symmetric difference
  • Taxicab numbers
  • Tokenize a string with escaping
  • Topological sort
  • Top rank per group
  • Towers of Hanoi
  • Vector cross product
  • Vector dot product
  • Word frequency
  • Word wrap
  • Y combinator
  • Zeckendorf number representation
  • Zhang-Suen thinning algorithm
  • Zig-zag matrix
  • Step 116
  • Step 117
  • Step 118
  • Build a Personal Portfolio Webpage
  • Step 119
  • Step 120
  • Step 121
  • Step 122
  • Step 123
  • Step 124
  • Step 125
  • Step 126
  • Step 127
  • Step 128
  • Step 129
  • Step 130
  • Step 131
  • Step 132
  • Step 133
  • Step 134
  • Step 135
  • Step 136
  • Step 137
  • Step 138
  • Step 139
  • Step 140
  • Step 141
  • Step 142
  • Step 143
  • Step 144
  • Step 145
  • Step 146
  • Step 147
  • Step 148
  • Step 149
  • Step 150
  • Step 151
  • Step 152
  • Step 153
  • Step 154
  • Step 155
  • Step 156
  • Step 157
  • Step 158
  • Step 159
  • Step 160
  • Step 161
  • Step 162
  • Step 163
  • Step 164
  • Step 165
  • Step 166
  • Step 167
  • Step 168
  • Step 169
  • Step 170
  • Step 171
  • Step 172
  • Step 173
  • Build a Roman Numeral Converter
  • Build a Telephone Number Validator
  • Build a Cash Register
  • Build an RPG Creature Search App
  • Use Responsive Design with Bootstrap Fluid Containers
  • Make Images Mobile Responsive
  • Center Text with Bootstrap
  • Create a Bootstrap Button
  • Create a Block Element Bootstrap Button
  • Taste the Bootstrap Button Color Rainbow
  • Call out Optional Actions with btn-info
  • Warn Your Users of a Dangerous Action with btn-danger
  • Use the Bootstrap Grid to Put Elements Side By Side
  • Ditch Custom CSS for Bootstrap
  • Use a span to Target Inline Elements
  • Create a Custom Heading
  • Add Font Awesome Icons to our Buttons
  • Add Font Awesome Icons to all of our Buttons
  • Responsively Style Radio Buttons
  • Responsively Style Checkboxes
  • Style Text Inputs as Form Controls
  • Line up Form Elements Responsively with Bootstrap
  • Create a Bootstrap Headline
  • House our page within a Bootstrap container-fluid div
  • Create a Bootstrap Row
  • Split Your Bootstrap Row
  • Create Bootstrap Wells
  • Add Elements within Your Bootstrap Wells
  • Apply the Default Bootstrap Button Style
  • Create a Class to Target with jQuery Selectors
  • Add id Attributes to Bootstrap Elements
  • Label Bootstrap Wells
  • Give Each Element a Unique id
  • Label Bootstrap Buttons
  • Use Comments to Clarify Code
  • Learn How Script Tags and Document Ready Work
  • Target HTML Elements with Selectors Using jQuery
  • Target Elements by Class Using jQuery
  • Target Elements by id Using jQuery
  • Delete Your jQuery Functions
  • Target the Same Element with Multiple jQuery Selectors
  • Remove Classes from an Element with jQuery
  • Change the CSS of an Element Using jQuery
  • Disable an Element Using jQuery
  • Change Text Inside an Element Using jQuery
  • Remove an Element Using jQuery
  • Use appendTo to Move Elements with jQuery
  • Clone an Element Using jQuery
  • Target the Parent of an Element Using jQuery
  • Target the Children of an Element Using jQuery
  • Target a Specific Child of an Element Using jQuery
  • Target Even Elements Using jQuery
  • Use jQuery to Modify the Entire Page
  • Store Data with Sass Variables
  • Nest CSS with Sass
  • Create Reusable CSS with Mixins
  • Use @if and @else to Add Logic To Your Styles
  • Use @for to Create a Sass Loop
  • Use @each to Map Over Items in a List
  • Apply a Style Until a Condition is Met with @while
  • Split Your Styles into Smaller Chunks with Partials
  • Extend One Set of CSS Styles to Another Element
  • Create a Simple JSX Element
  • Create a Complex JSX Element
  • Add Comments in JSX
  • Render HTML Elements to the DOM
  • Define an HTML Class in JSX
  • Learn About Self-Closing JSX Tags
  • Create a Stateless Functional Component
  • Create a React Component
  • Create a Component with Composition
  • Use React to Render Nested Components
  • Compose React Components
  • Render a Class Component to the DOM
  • Write a React Component from Scratch
  • Pass Props to a Stateless Functional Component
  • Pass an Array as Props
  • Use Default Props
  • Override Default Props
  • Use PropTypes to Define the Props You Expect
  • Access Props Using this.props
  • Review Using Props with Stateless Functional Components
  • Create a Stateful Component
  • Render State in the User Interface
  • Render State in the User Interface Another Way
  • Set State with this.setState
  • Bind 'this' to a Class Method
  • Use State to Toggle an Element
  • Write a Simple Counter
  • Create a Controlled Input
  • Create a Controlled Form
  • Pass State as Props to Child Components
  • Pass a Callback as Props
  • Use the Lifecycle Method componentWillMount
  • Use the Lifecycle Method componentDidMount
  • Add Event Listeners
  • Optimize Re-Renders with shouldComponentUpdate
  • Introducing Inline Styles
  • Add Inline Styles in React
  • Use Advanced JavaScript in React Render Method
  • Render with an If-Else Condition
  • Use && for a More Concise Conditional
  • Use a Ternary Expression for Conditional Rendering
  • Render Conditionally from Props
  • Change Inline CSS Conditionally Based on Component State
  • Use Array.map() to Dynamically Render Elements
  • Give Sibling Elements a Unique Key Attribute
  • Use Array.filter() to Dynamically Filter an Array
  • Render React on the Server with renderToString
  • Create a Redux Store
  • Get State from the Redux Store
  • Define a Redux Action
  • Define an Action Creator
  • Dispatch an Action Event
  • Handle an Action in the Store
  • Use a Switch Statement to Handle Multiple Actions
  • Use const for Action Types
  • Register a Store Listener
  • Combine Multiple Reducers
  • Send Action Data to the Store
  • Use Middleware to Handle Asynchronous Actions
  • Write a Counter with Redux
  • Never Mutate State
  • Use the Spread Operator on Arrays
  • Remove an Item from an Array
  • Copy an Object with Object.assign
  • Getting Started with React Redux
  • Manage State Locally First
  • Extract State Logic to Redux
  • Use Provider to Connect Redux to React
  • Map State to Props
  • Map Dispatch to Props
  • Connect Redux to React
  • Connect Redux to the Messages App
  • Extract Local State into Redux
  • Moving Forward From Here
  • Build a Random Quote Machine
  • Build a Markdown Previewer
  • Build a JavaScript Calculator
  • Build a 25 + 5 Clock
  • Add Document Elements with D3
  • Select a Group of Elements with D3
  • Work with Data in D3
  • Work with Dynamic Data in D3
  • Add Inline Styling to Elements
  • Change Styles Based on Data
  • Add Classes with D3
  • Update the Height of an Element Dynamically
  • Change the Presentation of a Bar Chart
  • Learn About SVG in D3
  • Display Shapes with SVG
  • Create a Bar for Each Data Point in the Set
  • Dynamically Set the Coordinates for Each Bar
  • Dynamically Change the Height of Each Bar
  • Invert SVG Elements
  • Change the Color of an SVG Element
  • Add Labels to D3 Elements
  • Style D3 Labels
  • Add a Hover Effect to a D3 Element
  • Add a Tooltip to a D3 Element
  • Create a Scatterplot with SVG Circles
  • Add Attributes to the Circle Elements
  • Add Labels to Scatter Plot Circles
  • Create a Linear Scale with D3
  • Set a Domain and a Range on a Scale
  • Use the d3.max and d3.min Functions to Find Minimum and Maximum Values in a Dataset
  • Use Dynamic Scales
  • Use a Pre-Defined Scale to Place Elements
  • Add Axes to a Visualization
  • Handle Click Events with JavaScript using the onclick property
  • Change Text with click Events
  • Get JSON with the JavaScript XMLHttpRequest Method
  • Get JSON with the JavaScript fetch method
  • Access the JSON Data from an API
  • Convert JSON Data to HTML
  • Render Images from Data Sources
  • Pre-filter JSON to Get the Data You Need
  • Get Geolocation Data to Find A User's GPS Coordinates
  • Post Data with the JavaScript XMLHttpRequest Method
  • Visualize Data with a Bar Chart
  • Visualize Data with a Scatterplot Graph
  • Visualize Data with a Heat Map
  • Visualize Data with a Choropleth Map
  • Visualize Data with a Treemap Diagram
  • How to Use package.json, the Core of Any Node.js Project or npm Package
  • Add a Description to Your package.json
  • Add Keywords to Your package.json
  • Add a License to Your package.json
  • Add a Version to Your package.json
  • Expand Your Project with External Packages from npm
  • Manage npm Dependencies By Understanding Semantic Versioning
  • Use the Tilde-Character to Always Use the Latest Patch Version of a Dependency
  • Use the Caret-Character to Use the Latest Minor Version of a Dependency
  • Remove a Package from Your Dependencies
  • Meet the Node console
  • Start a Working Express Server
  • Serve an HTML File
  • Serve Static Assets
  • Serve JSON on a Specific Route
  • Use the .env File
  • Implement a Root-Level Request Logger Middleware
  • Chain Middleware to Create a Time Server
  • Get Route Parameter Input from the Client
  • Get Query Parameter Input from the Client
  • Use body-parser to Parse POST Requests
  • Get Data from POST Requests
  • Install and Set Up Mongoose
  • Create a Model
  • Create and Save a Record of a Model
  • Create Many Records with model.create()
  • Use model.find() to Search Your Database
  • Use model.findOne() to Return a Single Matching Document from Your Database
  • Use model.findById() to Search Your Database By _id
  • Perform Classic Updates by Running Find, Edit, then Save
  • Perform New Updates on a Document Using model.findOneAndUpdate()
  • Delete One Document Using model.findByIdAndRemove
  • Delete Many Documents with model.remove()
  • Chain Search Query Helpers to Narrow Search Results
  • Timestamp Microservice
  • Request Header Parser Microservice
  • URL Shortener Microservice
  • Exercise Tracker
  • File Metadata Microservice
  • Learn How JavaScript Assertions Work
  • Test if a Variable or Function is Defined
  • Use Assert.isOK and Assert.isNotOK
  • Test for Truthiness
  • Use the Double Equals to Assert Equality
  • Use the Triple Equals to Assert Strict Equality
  • Assert Deep Equality with .deepEqual and .notDeepEqual
  • Compare the Properties of Two Elements
  • Test if One Value is Below or At Least as Large as Another
  • Test if a Value Falls within a Specific Range
  • Test if a Value is an Array
  • Test if an Array Contains an Item
  • Test if a Value is a String
  • Test if a String Contains a Substring
  • Use Regular Expressions to Test a String
  • Test if an Object has a Property
  • Test if a Value is of a Specific Data Structure Type
  • Test if an Object is an Instance of a Constructor
  • Run Functional Tests on API Endpoints using Chai-HTTP
  • Run Functional Tests on API Endpoints using Chai-HTTP II
  • Run Functional Tests on an API Response using Chai-HTTP III - PUT method
  • Run Functional Tests on an API Response using Chai-HTTP IV - PUT method
  • Simulate Actions Using a Headless Browser
  • Run Functional Tests Using a Headless Browser
  • Run Functional Tests Using a Headless Browser II
  • Set up a Template Engine
  • Use a Template Engine's Powers
  • Set up Passport
  • Serialization of a User Object
  • Implement the Serialization of a Passport User
  • Authentication Strategies
  • How to Use Passport Strategies
  • Create New Middleware
  • How to Put a Profile Together
  • Logging a User Out
  • Registration of New Users
  • Hashing Your Passwords
  • Clean Up Your Project with Modules
  • Implementation of Social Authentication
  • Implementation of Social Authentication II
  • Implementation of Social Authentication III
  • Set up the Environment
  • Communicate by Emitting
  • Handle a Disconnect
  • Authentication with Socket.IO
  • Announce New Users
  • Send and Display Chat Messages
  • Metric-Imperial Converter
  • Issue Tracker
  • Personal Library
  • Sudoku Solver
  • American British Translator
  • Build an Arithmetic Formatter Project
  • Build a Time Calculator Project
  • Build a Budget App Project
  • Build a Polygon Area Calculator Project
  • Build a Probability Calculator Project
  • Introduction to Data Analysis
  • Data Analysis Example A
  • Data Analysis Example B
  • How to use Jupyter Notebooks Intro
  • Jupyter Notebooks Cells
  • Jupyter Notebooks Importing and Exporting Data
  • Numpy Introduction A
  • Numpy Introduction B
  • Numpy Arrays
  • Numpy Operations
  • Numpy Boolean Arrays
  • Numpy Algebra and Size
  • Pandas Introduction
  • Pandas Indexing and Conditional Selection
  • Pandas DataFrames
  • Pandas Conditional Selection and Modifying DataFrames
  • Pandas Creating Columns
  • Data Cleaning Introduction
  • Data Cleaning with DataFrames
  • Data Cleaning Duplicates
  • Data Cleaning and Visualizations
  • Reading Data Introduction
  • Reading Data CSV and TXT
  • Reading Data from Databases
  • Parsing HTML and Saving Data
  • Python Introduction
  • Python Functions and Collections
  • Python Iteration and Modules
  • What is NumPy
  • Basics of Numpy
  • Accessing and Changing Elements, Rows, Columns
  • Initializing Different Arrays
  • Initialize Array Problem
  • Copying Arrays Warning
  • Mathematics
  • Reorganizing Arrays
  • Loading Data and Advanced Indexing
  • Mean-Variance-Standard Deviation Calculator
  • Demographic Data Analyzer
  • Medical Data Visualizer
  • Page View Time Series Visualizer
  • Sea Level Predictor
  • Install and Require Helmet
  • Hide Potentially Dangerous Information Using helmet.hidePoweredBy()
  • Mitigate the Risk of Clickjacking with helmet.frameguard()
  • Mitigate the Risk of Cross Site Scripting (XSS) Attacks with helmet.xssFilter()
  • Avoid Inferring the Response MIME Type with helmet.noSniff()
  • Prevent IE from Opening Untrusted HTML with helmet.ieNoOpen()
  • Ask Browsers to Access Your Site via HTTPS Only with helmet.hsts()
  • Disable DNS Prefetching with helmet.dnsPrefetchControl()
  • Disable Client-Side Caching with helmet.noCache()
  • Set a Content Security Policy with helmet.contentSecurityPolicy()
  • Configure Helmet Using the ‘parent’ helmet() Middleware
  • Understand BCrypt Hashes
  • Hash and Compare Passwords Asynchronously
  • Hash and Compare Passwords Synchronously
  • Introduction and Setup
  • Understanding Sockets and Creating a TCP Server
  • Creating a TCP Client
  • Developing an Nmap Scanner part 1
  • Developing an Nmap Scanner part 2
  • Developing a Banner Grabber
  • Developing a Port Scanner
  • Stock Price Checker
  • Anonymous Message Board
  • Port Scanner
  • SHA-1 Password Cracker
  • Secure Real Time Multiplayer Game
  • Introduction: Machine Learning Fundamentals
  • Introduction to TensorFlow
  • Core Learning Algorithms
  • Core Learning Algorithms: Working with Data
  • Core Learning Algorithms: Training and Testing Data
  • Core Learning Algorithms: The Training Process
  • Core Learning Algorithms: Classification
  • Core Learning Algorithms: Building the Model
  • Core Learning Algorithms: Clustering
  • Core Learning Algorithms: Hidden Markov Models
  • Core Learning Algorithms: Using Probabilities to make Predictions
  • Neural Networks with TensorFlow
  • Neural Networks: Activation Functions
  • Neural Networks: Optimizers
  • Neural Networks: Creating a Model
  • Convolutional Neural Networks
  • Convolutional Neural Networks: The Convolutional Layer
  • Creating a Convolutional Neural Network
  • Convolutional Neural Networks: Evaluating the Model
  • Convolutional Neural Networks: Picking a Pretrained Model
  • Natural Language Processing With RNNs
  • Natural Language Processing With RNNs: Part 2
  • Natural Language Processing With RNNs: Recurring Neural Networks
  • Natural Language Processing With RNNs: Sentiment Analysis
  • Natural Language Processing With RNNs: Making Predictions
  • Natural Language Processing With RNNs: Create a Play Generator
  • Natural Language Processing With RNNs: Building the Model
  • Natural Language Processing With RNNs: Training the Model
  • Reinforcement Learning With Q-Learning
  • Reinforcement Learning With Q-Learning: Part 2
  • Reinforcement Learning With Q-Learning: Example
  • Conclusion
  • How Deep Neural Networks Work
  • Recurrent Neural Networks RNN and Long Short Term Memory LSTM
  • Deep Learning Demystified
  • How Convolutional Neural Networks work
  • Rock Paper Scissors
  • Cat and Dog Image Classifier
  • Book Recommendation Engine using KNN
  • Linear Regression Health Costs Calculator
  • Neural Network SMS Text Classifier
  • Introduction to College Algebra with Python
  • Solving Proportions
  • Ratios and Proportions: Extra
  • Solving for X
  • How to Solve for X: Extra
  • Converting Fractions and Decimals
  • Fractions and Decimals: Extra
  • Functions
  • Graphing
  • Functions and Graphing: Extra
  • Slope
  • Linear Equations
  • Linear Functions: Extra
  • Factoring
  • Build a Multi-Function Calculator
  • Graphing Systems
  • Graphing Systems of Equations: Extra
  • Solving Systems
  • Solving Systems of Equations: Extra
  • Word Problems
  • Applications of Linear Systems: Extra
  • Quadratics
  • Build a Graphing Calculator
  • Parent Graphs
  • Parent Graphs and Polynomials: Extra
  • Build Three Math Games
  • Demand and Revenue
  • Business Applications of College Algebra: Extra
  • Simple and Compound Interest
  • Simple and Compound Interest: Extra
  • Exponents and Logarithms
  • Build a Financial Calculator
  • Spreadsheets and Additional Resources
  • More Resources in Colab
  • Build a Data Graph Explorer
  • Say Hello to HTML Elements
  • Headline with the h2 Element
  • Inform with the Paragraph Element
  • Fill in the Blank with Placeholder Text
  • Uncomment HTML
  • Comment out HTML
  • Delete HTML Elements
  • Introduction to HTML5 Elements
  • Add Images to Your Website
  • Link to External Pages with Anchor Elements
  • Link to Internal Sections of a Page with Anchor Elements
  • Nest an Anchor Element within a Paragraph
  • Make Dead Links Using the Hash Symbol
  • Turn an Image into a Link
  • Create a Bulleted Unordered List
  • Create an Ordered List
  • Create a Text Field
  • Add Placeholder Text to a Text Field
  • Create a Form Element
  • Add a Submit Button to a Form
  • Use HTML5 to Require a Field
  • Create a Set of Radio Buttons
  • Create a Set of Checkboxes
  • Use the value attribute with Radio Buttons and Checkboxes
  • Check Radio Buttons and Checkboxes by Default
  • Nest Many Elements within a Single div Element
  • Declare the Doctype of an HTML Document
  • Define the Head and Body of an HTML Document
  • Change the Color of Text
  • Use CSS Selectors to Style Elements
  • Use a CSS Class to Style an Element
  • Style Multiple Elements with a CSS Class
  • Change the Font Size of an Element
  • Set the Font Family of an Element
  • Import a Google Font
  • Specify How Fonts Should Degrade
  • Size Your Images
  • Add Borders Around Your Elements
  • Add Rounded Corners with border-radius
  • Make Circular Images with a border-radius
  • Give a Background Color to a div Element
  • Set the id of an Element
  • Use an id Attribute to Style an Element
  • Adjust the Padding of an Element
  • Adjust the Margin of an Element
  • Add a Negative Margin to an Element
  • Add Different Padding to Each Side of an Element
  • Add Different Margins to Each Side of an Element
  • Use Clockwise Notation to Specify the Padding of an Element
  • Use Clockwise Notation to Specify the Margin of an Element
  • Use Attribute Selectors to Style Elements
  • Understand Absolute versus Relative Units
  • Style the HTML Body Element
  • Inherit Styles from the Body Element
  • Prioritize One Style Over Another
  • Override Styles in Subsequent CSS
  • Override Class Declarations by Styling ID Attributes
  • Override Class Declarations with Inline Styles
  • Override All Other Styles by using Important
  • Use Hex Code for Specific Colors
  • Use Hex Code to Mix Colors
  • Use Abbreviated Hex Code
  • Use RGB values to Color Elements
  • Use RGB to Mix Colors
  • Use CSS Variables to change several elements at once
  • Create a custom CSS Variable
  • Use a custom CSS Variable
  • Attach a Fallback value to a CSS Variable
  • Improve Compatibility with Browser Fallbacks
  • Inherit CSS Variables
  • Change a variable for a specific area
  • Use a media query to change a variable
  • Create Visual Balance Using the text-align Property
  • Adjust the Width of an Element Using the width Property
  • Adjust the Height of an Element Using the height Property
  • Use the strong Tag to Make Text Bold
  • Use the u Tag to Underline Text
  • Use the em Tag to Italicize Text
  • Use the s Tag to Strikethrough Text
  • Create a Horizontal Line Using the hr Element
  • Adjust the background-color Property of Text
  • Adjust the Size of a Heading Element Versus a Paragraph Element
  • Add a box-shadow to a Card-like Element
  • Decrease the Opacity of an Element
  • Use the text-transform Property to Make Text Uppercase
  • Set the font-size for Multiple Heading Elements
  • Set the font-weight for Multiple Heading Elements
  • Set the font-size of Paragraph Text
  • Set the line-height of Paragraphs
  • Adjust the Hover State of an Anchor Tag
  • Change an Element's Relative Position
  • Move a Relatively Positioned Element with CSS Offsets
  • Lock an Element to its Parent with Absolute Positioning
  • Lock an Element to the Browser Window with Fixed Positioning
  • Push Elements Left or Right with the float Property
  • Change the Position of Overlapping Elements with the z-index Property
  • Center an Element Horizontally Using the margin Property
  • Learn about Complementary Colors
  • Learn about Tertiary Colors
  • Adjust the Color of Various Elements to Complementary Colors
  • Adjust the Hue of a Color
  • Adjust the Tone of a Color
  • Create a Gradual CSS Linear Gradient
  • Use a CSS Linear Gradient to Create a Striped Element
  • Create Texture by Adding a Subtle Pattern as a Background Image
  • Use the CSS Transform scale Property to Change the Size of an Element
  • Use the CSS Transform scale Property to Scale an Element on Hover
  • Use the CSS Transform Property skewX to Skew an Element Along the X-Axis
  • Use the CSS Transform Property skewY to Skew an Element Along the Y-Axis
  • Create a Graphic Using CSS
  • Create a More Complex Shape Using CSS and HTML
  • Learn How the CSS @keyframes and animation Properties Work
  • Use CSS Animation to Change the Hover State of a Button
  • Modify Fill Mode of an Animation
  • Create Movement Using CSS Animation
  • Create Visual Direction by Fading an Element from Left to Right
  • Animate Elements Continually Using an Infinite Animation Count
  • Make a CSS Heartbeat using an Infinite Animation Count
  • Animate Elements at Variable Rates
  • Animate Multiple Elements at Variable Rates
  • Change Animation Timing with Keywords
  • Learn How Bezier Curves Work
  • Use a Bezier Curve to Move a Graphic
  • Make Motion More Natural Using a Bezier Curve
  • Add a Text Alternative to Images for Visually Impaired Accessibility
  • Know When Alt Text Should be Left Blank
  • Use Headings to Show Hierarchical Relationships of Content
  • Jump Straight to the Content Using the main Element
  • Wrap Content in the article Element
  • Make Screen Reader Navigation Easier with the header Landmark
  • Make Screen Reader Navigation Easier with the nav Landmark
  • Make Screen Reader Navigation Easier with the footer Landmark
  • Improve Accessibility of Audio Content with the audio Element
  • Improve Chart Accessibility with the figure Element
  • Improve Form Field Accessibility with the label Element
  • Wrap Radio Buttons in a fieldset Element for Better Accessibility
  • Add an Accessible Date Picker
  • Standardize Times with the HTML5 datetime Attribute
  • Make Elements Only Visible to a Screen Reader by Using Custom CSS
  • Improve Readability with High Contrast Text
  • Avoid Colorblindness Issues by Using Sufficient Contrast
  • Avoid Colorblindness Issues by Carefully Choosing Colors that Convey Information
  • Give Links Meaning by Using Descriptive Link Text
  • Make Links Navigable with HTML Access Keys
  • Use tabindex to Add Keyboard Focus to an Element
  • Use tabindex to Specify the Order of Keyboard Focus for Several Elements
  • Create a Media Query
  • Make an Image Responsive
  • Use a Retina Image for Higher Resolution Displays
  • Make Typography Responsive
  • Use display: flex to Position Two Boxes
  • Add Flex Superpowers to the Tweet Embed
  • Use the flex-direction Property to Make a Row
  • Apply the flex-direction Property to Create Rows in the Tweet Embed
  • Use the flex-direction Property to Make a Column
  • Apply the flex-direction Property to Create a Column in the Tweet Embed
  • Align Elements Using the justify-content Property
  • Use the justify-content Property in the Tweet Embed
  • Align Elements Using the align-items Property
  • Use the align-items Property in the Tweet Embed
  • Use the flex-wrap Property to Wrap a Row or Column
  • Use the flex-shrink Property to Shrink Items
  • Use the flex-grow Property to Expand Items
  • Use the flex-basis Property to Set the Initial Size of an Item
  • Use the flex Shorthand Property
  • Use the order Property to Rearrange Items
  • Use the align-self Property
  • Create Your First CSS Grid
  • Add Columns with grid-template-columns
  • Add Rows with grid-template-rows
  • Use CSS Grid units to Change the Size of Columns and Rows
  • Create a Column Gap Using grid-column-gap
  • Create a Row Gap using grid-row-gap
  • Add Gaps Faster with grid-gap
  • Use grid-column to Control Spacing
  • Use grid-row to Control Spacing
  • Align an Item Horizontally using justify-self
  • Align an Item Vertically using align-self
  • Align All Items Horizontally using justify-items
  • Align All Items Vertically using align-items
  • Divide the Grid Into an Area Template
  • Place Items in Grid Areas Using the grid-area Property
  • Use grid-area Without Creating an Areas Template
  • Reduce Repetition Using the repeat Function
  • Limit Item Size Using the minmax Function
  • Create Flexible Layouts Using auto-fill
  • Create Flexible Layouts Using auto-fit
  • Use Media Queries to Create Responsive Layouts
  • Create Grids within Grids
  • Comment Your JavaScript Code
  • Declare JavaScript Variables
  • Storing Values with the Assignment Operator
  • Assigning the Value of One Variable to Another
  • Initializing Variables with the Assignment Operator
  • Declare String Variables
  • Understanding Uninitialized Variables
  • Understanding Case Sensitivity in Variables
  • Explore Differences Between the var and let Keywords
  • Declare a Read-Only Variable with the const Keyword
  • Add Two Numbers with JavaScript
  • Subtract One Number from Another with JavaScript
  • Multiply Two Numbers with JavaScript
  • Divide One Number by Another with JavaScript
  • Increment a Number with JavaScript
  • Decrement a Number with JavaScript
  • Create Decimal Numbers with JavaScript
  • Multiply Two Decimals with JavaScript
  • Divide One Decimal by Another with JavaScript
  • Finding a Remainder in JavaScript
  • Compound Assignment With Augmented Addition
  • Compound Assignment With Augmented Subtraction
  • Compound Assignment With Augmented Multiplication
  • Compound Assignment With Augmented Division
  • Escaping Literal Quotes in Strings
  • Quoting Strings with Single Quotes
  • Escape Sequences in Strings
  • Concatenating Strings with Plus Operator
  • Concatenating Strings with the Plus Equals Operator
  • Constructing Strings with Variables
  • Appending Variables to Strings
  • Find the Length of a String
  • Use Bracket Notation to Find the First Character in a String
  • Understand String Immutability
  • Use Bracket Notation to Find the Nth Character in a String
  • Use Bracket Notation to Find the Last Character in a String
  • Use Bracket Notation to Find the Nth-to-Last Character in a String
  • Word Blanks
  • Store Multiple Values in one Variable using JavaScript Arrays
  • Nest one Array within Another Array
  • Access Array Data with Indexes
  • Modify Array Data With Indexes
  • Access Multi-Dimensional Arrays With Indexes
  • Manipulate Arrays With push Method
  • Manipulate Arrays With pop Method
  • Manipulate Arrays With shift Method
  • Manipulate Arrays With unshift Method
  • Shopping List
  • Write Reusable JavaScript with Functions
  • Passing Values to Functions with Arguments
  • Return a Value from a Function with Return
  • Global Scope and Functions
  • Local Scope and Functions
  • Global vs. Local Scope in Functions
  • Understanding Undefined Value returned from a Function
  • Assignment with a Returned Value
  • Stand in Line
  • Understanding Boolean Values
  • Use Conditional Logic with If Statements
  • Comparison with the Equality Operator
  • Comparison with the Strict Equality Operator
  • Practice comparing different values
  • Comparison with the Inequality Operator
  • Comparison with the Strict Inequality Operator
  • Comparison with the Greater Than Operator
  • Comparison with the Greater Than Or Equal To Operator
  • Comparison with the Less Than Operator
  • Comparison with the Less Than Or Equal To Operator
  • Comparisons with the Logical And Operator
  • Comparisons with the Logical Or Operator
  • Introducing Else Statements
  • Introducing Else If Statements
  • Logical Order in If Else Statements
  • Chaining If Else Statements
  • Golf Code
  • Selecting from Many Options with Switch Statements
  • Adding a Default Option in Switch Statements
  • Multiple Identical Options in Switch Statements
  • Replacing If Else Chains with Switch
  • Returning Boolean Values from Functions
  • Return Early Pattern for Functions
  • Counting Cards
  • Build JavaScript Objects
  • Accessing Object Properties with Dot Notation
  • Accessing Object Properties with Bracket Notation
  • Accessing Object Properties with Variables
  • Updating Object Properties
  • Add New Properties to a JavaScript Object
  • Delete Properties from a JavaScript Object
  • Using Objects for Lookups
  • Testing Objects for Properties
  • Manipulating Complex Objects
  • Accessing Nested Objects
  • Accessing Nested Arrays
  • Record Collection
  • Iterate with JavaScript While Loops
  • Iterate with JavaScript For Loops
  • Iterate Odd Numbers With a For Loop
  • Count Backwards With a For Loop
  • Iterate Through an Array with a For Loop
  • Nesting For Loops
  • Iterate with JavaScript Do...While Loops
  • Replace Loops using Recursion
  • Profile Lookup
  • Generate Random Fractions with JavaScript
  • Generate Random Whole Numbers with JavaScript
  • Generate Random Whole Numbers within a Range
  • Use the parseInt Function
  • Use the parseInt Function with a Radix
  • Use the Conditional (Ternary) Operator
  • Use Multiple Conditional (Ternary) Operators
  • Use Recursion to Create a Countdown
  • Use Recursion to Create a Range of Numbers
  • Compare Scopes of the var and let Keywords
  • Mutate an Array Declared with const
  • Prevent Object Mutation
  • Use Arrow Functions to Write Concise Anonymous Functions
  • Write Arrow Functions with Parameters
  • Set Default Parameters for Your Functions
  • Use the Rest Parameter with Function Parameters
  • Use the Spread Operator to Evaluate Arrays In-Place
  • Use Destructuring Assignment to Extract Values from Objects
  • Use Destructuring Assignment to Assign Variables from Objects
  • Use Destructuring Assignment to Assign Variables from Nested Objects
  • Use Destructuring Assignment to Assign Variables from Arrays
  • Destructuring via rest elements
  • Use Destructuring Assignment to Pass an Object as a Function's Parameters
  • Create Strings using Template Literals
  • Write Concise Object Literal Declarations Using Object Property Shorthand
  • Write Concise Declarative Functions with ES6
  • Use class Syntax to Define a Constructor Function
  • Use getters and setters to Control Access to an Object
  • Create a Module Script
  • Use export to Share a Code Block
  • Reuse JavaScript Code Using import
  • Use * to Import Everything from a File
  • Create an Export Fallback with export default
  • Import a Default Export
  • Create a JavaScript Promise
  • Complete a Promise with resolve and reject
  • Handle a Fulfilled Promise with then
  • Handle a Rejected Promise with catch
  • Using the Test Method
  • Match Literal Strings
  • Match a Literal String with Different Possibilities
  • Ignore Case While Matching
  • Extract Matches
  • Find More Than the First Match
  • Match Anything with Wildcard Period
  • Match Single Character with Multiple Possibilities
  • Match Letters of the Alphabet
  • Match Numbers and Letters of the Alphabet
  • Match Single Characters Not Specified
  • Match Characters that Occur One or More Times
  • Match Characters that Occur Zero or More Times
  • Find Characters with Lazy Matching
  • Find One or More Criminals in a Hunt
  • Match Beginning String Patterns
  • Match Ending String Patterns
  • Match All Letters and Numbers
  • Match Everything But Letters and Numbers
  • Match All Numbers
  • Match All Non-Numbers
  • Restrict Possible Usernames
  • Match Whitespace
  • Match Non-Whitespace Characters
  • Specify Upper and Lower Number of Matches
  • Specify Only the Lower Number of Matches
  • Specify Exact Number of Matches
  • Check for All or None
  • Positive and Negative Lookahead
  • Check For Mixed Grouping of Characters
  • Reuse Patterns Using Capture Groups
  • Use Capture Groups to Search and Replace
  • Remove Whitespace from Start and End
  • Use the JavaScript Console to Check the Value of a Variable
  • Understanding the Differences between the freeCodeCamp and Browser Console
  • Use typeof to Check the Type of a Variable
  • Catch Misspelled Variable and Function Names
  • Catch Unclosed Parentheses, Brackets, Braces and Quotes
  • Catch Mixed Usage of Single and Double Quotes
  • Catch Use of Assignment Operator Instead of Equality Operator
  • Catch Missing Open and Closing Parenthesis After a Function Call
  • Catch Arguments Passed in the Wrong Order When Calling a Function
  • Catch Off By One Errors When Using Indexing
  • Use Caution When Reinitializing Variables Inside a Loop
  • Prevent Infinite Loops with a Valid Terminal Condition
  • Use an Array to Store a Collection of Data
  • Access an Array's Contents Using Bracket Notation
  • Add Items to an Array with push() and unshift()
  • Remove Items from an Array with pop() and shift()
  • Remove Items Using splice()
  • Add Items Using splice()
  • Copy Array Items Using slice()
  • Copy an Array with the Spread Operator
  • Combine Arrays with the Spread Operator
  • Check For The Presence of an Element With indexOf()
  • Iterate Through All an Array's Items Using For Loops
  • Create complex multi-dimensional arrays
  • Add Key-Value Pairs to JavaScript Objects
  • Modify an Object Nested Within an Object
  • Access Property Names with Bracket Notation
  • Use the delete Keyword to Remove Object Properties
  • Check if an Object has a Property
  • Iterate Through the Keys of an Object with a for...in Statement
  • Generate an Array of All Object Keys with Object.keys()
  • Modify an Array Stored in an Object
  • Convert Celsius to Fahrenheit
  • Reverse a String
  • Factorialize a Number
  • Find the Longest Word in a String
  • Return Largest Numbers in Arrays
  • Confirm the Ending
  • Repeat a String Repeat a String
  • Truncate a String
  • Finders Keepers
  • Boo who
  • Title Case a Sentence
  • Slice and Splice
  • Falsy Bouncer
  • Where do I Belong
  • Mutations
  • Chunky Monkey
  • Create a Basic JavaScript Object
  • Use Dot Notation to Access the Properties of an Object
  • Create a Method on an Object
  • Make Code More Reusable with the this Keyword
  • Define a Constructor Function
  • Use a Constructor to Create Objects
  • Extend Constructors to Receive Arguments
  • Verify an Object's Constructor with instanceof
  • Understand Own Properties
  • Use Prototype Properties to Reduce Duplicate Code
  • Iterate Over All Properties
  • Understand the Constructor Property
  • Change the Prototype to a New Object
  • Remember to Set the Constructor Property when Changing the Prototype
  • Understand Where an Object’s Prototype Comes From
  • Understand the Prototype Chain
  • Use Inheritance So You Don't Repeat Yourself
  • Inherit Behaviors from a Supertype
  • Set the Child's Prototype to an Instance of the Parent
  • Reset an Inherited Constructor Property
  • Add Methods After Inheritance
  • Override Inherited Methods
  • Use a Mixin to Add Common Behavior Between Unrelated Objects
  • Use Closure to Protect Properties Within an Object from Being Modified Externally
  • Understand the Immediately Invoked Function Expression (IIFE)
  • Use an IIFE to Create a Module
  • Learn About Functional Programming
  • Understand Functional Programming Terminology
  • Understand the Hazards of Using Imperative Code
  • Avoid Mutations and Side Effects Using Functional Programming
  • Pass Arguments to Avoid External Dependence in a Function
  • Refactor Global Variables Out of Functions
  • Use the map Method to Extract Data from an Array
  • Implement map on a Prototype
  • Use the filter Method to Extract Data from an Array
  • Implement the filter Method on a Prototype
  • Return Part of an Array Using the slice Method
  • Remove Elements from an Array Using slice Instead of splice
  • Combine Two Arrays Using the concat Method
  • Add Elements to the End of an Array Using concat Instead of push
  • Use the reduce Method to Analyze Data
  • Use Higher-Order Functions map, filter, or reduce to Solve a Complex Problem
  • Sort an Array Alphabetically using the sort Method
  • Return a Sorted Array Without Changing the Original Array
  • Split a String into an Array Using the split Method
  • Combine an Array into a String Using the join Method
  • Apply Functional Programming to Convert Strings to URL Slugs
  • Use the every Method to Check that Every Element in an Array Meets a Criteria
  • Use the some Method to Check that Any Elements in an Array Meet a Criteria
  • Introduction to Currying and Partial Application
  • Sum All Numbers in a Range
  • Diff Two Arrays
  • Seek and Destroy
  • Wherefore art thou
  • Spinal Tap Case
  • Pig Latin
  • Search and Replace
  • DNA Pairing
  • Missing letters
  • Sorted Union
  • Convert HTML Entities
  • Sum All Odd Fibonacci Numbers
  • Sum All Primes
  • Smallest Common Multiple
  • Drop it
  • Steamroller
  • Binary Agents
  • Everything Be True
  • Arguments Optional
  • Make a Person
  • Map the Debris
  • Palindrome Checker
  • Roman Numeral Converter
  • Caesars Cipher
  • Telephone Number Validator
  • Cash Register
  • Introduction: Why Program?
  • Introduction: Hardware Architecture
  • Introduction: Python as a Language
  • Introduction: Elements of Python
  • Variables, Expressions, and Statements
  • Intermediate Expressions
  • Conditional Execution
  • More Conditional Structures
  • Python Functions
  • Build your own Functions
  • Loops and Iterations
  • Iterations: Definite Loops
  • Iterations: Loop Idioms
  • Iterations: More Patterns
  • Strings in Python
  • Intermediate Strings
  • Reading Files
  • Files as a Sequence
  • Python Lists
  • Working with Lists
  • Strings and Lists
  • Python Dictionaries
  • Dictionaries: Common Applications
  • Dictionaries and Loops
  • The Tuples Collection
  • Comparing and Sorting Tuples
  • Regular Expressions
  • Regular Expressions: Matching and Extracting Data
  • Regular Expressions: Practical Applications
  • Networking with Python
  • Networking Protocol
  • Networking: Write a Web Browser
  • Networking: Text Processing
  • Networking: Using urllib in Python
  • Networking: Web Scraping with Python
  • Using Web Services
  • Web Services: XML
  • Web Services: XML Schema
  • Web Services: JSON
  • Web Services: Service Oriented Approach
  • Web Services: APIs
  • Web Services: API Rate Limiting and Security
  • Python Objects
  • Objects: A Sample Class
  • Object Lifecycle
  • Objects: Inheritance
  • Relational Databases and SQLite
  • Make a Relational Database
  • Relational Database Design
  • Representing Relationships in a Relational Database
  • Relational Databases: Relationship Building
  • Relational Databases: Join Operation
  • Relational Databases: Many-to-many Relationships
  • Visualizing Data with Python
  • Data Visualization: Page Rank
  • Data Visualization: Mailing Lists
  • Write Your First C# Code
  • Store and Retrieve Data Using Literal and Variable Values in C#
  • Perform Basic String Formatting in C#
  • Perform Basic Operations on Numbers in C#
  • Guided Project - Calculate and Print Student Grades
  • Guided Project - Calculate Final GPA
  • Trophy - Write Your First Code Using C#
  • Install and Configure Visual Studio Code
  • Call Methods From the .NET Class Library Using C#
  • Add Decision Logic to Your Code Using if, else, and else if statements in C#
  • Store and Iterate Through Sequences of Data Using Arrays and the foreach Statement in C#
  • Create Readable Code with Conventions, Whitespace, and Comments in C#
  • Guided Project - Develop foreach and if-elseif-else Structures to Process Array Data in C#
  • Challenge Project - Develop foreach and if-elseif-else Structures to Process Array Data in C#
  • Trophy - Create and Run Simple C# Console Applications
  • Evaluate Boolean Expressions to Make Decisions in C#
  • Control Variable Scope and Logic Using Code Blocks in C#
  • Branch the Flow of Code Using the switch-case Construct in C#
  • Iterate Through a Code Block Using the for Statement in C#
  • Add Looping Logic to Your Code Using the do-while and while Statements in C#
  • Guided Project - Develop Conditional Branching and Looping Structures in C#
  • Challenge Project - Develop Branching and Looping Structures in C#
  • Trophy - Add Logic to C# Console Applications
  • Choose the Correct Data Type in Your C# Code
  • Convert Data Types Using Casting and Conversion Techniques in C#
  • Perform Operations on Arrays Using Helper Methods in C#
  • Format Alphanumeric Data for Presentation in C#
  • Modify the Content of Strings Using Built-In String Data Type Methods in C#
  • Guided Project - Work with Variable Data in C#
  • Challenge Project - Work with Variable Data in C#
  • Trophy - Work with Variable Data in C# Console Applications
  • Write Your First C# Method
  • Create C# Methods with Parameters
  • Create C# Methods that Return Values
  • Guided Project - Plan a Petting Zoo Visit
  • Challenge Project - Create a Mini-Game
  • Trophy - Create Methods in C# Console Applications
  • Review the Principles of Code Debugging and Exception Handling
  • Implement the Visual Studio Code Debugging Tools for C#
  • Implement Exception Handling in C# Console Applications
  • Create and Throw Exceptions in C# Console Applications
  • Guided Project - Debug and Handle Exceptions in a C# Console Application Using Visual Studio Code
  • Challenge Project - Debug a C# Console Application Using Visual Studio Code
  • Trophy - Debug C# Console Applications
  • Foundational C# with Microsoft Certification Exam

Taught by

freeCodeCamp Team

Reviews

Start your review of Front End Development Libraries

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.