We may earn an affiliate commission when you visit our partners.
Course image
Eric Traub

This course teaches algorithms in javascript from the ground up. Using algorithms in your programming allows you to improve the efficiency, performance, speed, and scalability of your code/applications/programs. You will learn what algorithms are, why they are important, and how to code them out in JavaScript. You will also learn other important programming concepts along the way such as functional programming, time complexity, recursion, and other important concepts, because you will be implementing them in the algorithms that you build throughout this course. This course also heavily uses diagrams and animations to help make understanding the material easier.

Read more

This course teaches algorithms in javascript from the ground up. Using algorithms in your programming allows you to improve the efficiency, performance, speed, and scalability of your code/applications/programs. You will learn what algorithms are, why they are important, and how to code them out in JavaScript. You will also learn other important programming concepts along the way such as functional programming, time complexity, recursion, and other important concepts, because you will be implementing them in the algorithms that you build throughout this course. This course also heavily uses diagrams and animations to help make understanding the material easier.

This course is also very good for anyone who is interviewing for developer/engineering jobs at both large and small companies. Interviewers will very often ask candidates to write algorithms out in code, and this course will prepare you very well to do that. If you have recently graduated from a coding bootcamp or are currently looking for a job, you will find this course to be beneficial. Knowing algorithms will absolutely help you to excel in technical interviews.

Enroll now

What's inside

Learning objectives

  • Code out important algorithms in javascript
  • Improve the efficiency, performance, and scalability of your code, applications, and programs
  • Excel in technical engineering/programming interviews at both large companies and small companies
  • Create your own, custom, algorithms that can perform whatever functionality you may need

Syllabus

Introduction
Introduction to Algorithms & Course Layout
Fizz Buzz
Fizz Buzz - Intro
Read more
Modulus Operator
Fizz Buzz - Code
Fizz Buzz - Testing
Fizz Buzz - Source Code
Harmless Ransom Note
Harmless Ransom Note - Intro
Time Complexity & Big O Notation
Harmless Ransom Note - Code Part 1
Harmless Ransom Note - Code Part 2
Harmless Ransom Note - Testing
Harmless Ransom Note - Source Code
Is Palindrome
Is Palindrome - Intro
Is Palindrome - Code
Is Palindrome - Testing
Is Palindrome - Source Code
Caesar Cipher
Caesar Cipher - Intro
Caesar Cipher - Code
Caesar Cipher - Testing
Caesar Cipher - Source Code
Reverse Words
Reverse Words - Intro
Reverse Words - Code
Reverse Words - Testing
Reverse Words - Source Code
Reverse Array In Place
Reverse Array In Place - Intro
Reverse Array In Place - Code
Reverse Array In Place - Testing
Reverse Array In Place - Source Code
Mean Median Mode
Mean Median Mode - Intro
Mean Median Mode - Code Part 1
Mean Median Mode - Code Part 2
Mean Median Mode - Testing
Mean Median Mode - Source Code
Two Sum
Two Sum - Intro
Two Sum - Code
Two Sum - Testing
Two Sum - Source Code
Binary Search
Binary Search - Intro
Introduction to Recursion & the Call Stack
Binary Search - Code
Binary Search - Testing
Binary Search - Source Code
Fibonacci
Fibonacci - Intro
Fibonacci - Code
Fibonacci - Testing
Fibonacci - Source Code
Memoized Fibonacci
Memoized Fibonacci - Intro
Memoized Fibonacci - Code
Memoized Fibonacci - Testing
Memoized Fibonacci - Source Code
Sieve of Eratosthenes
Sieve of Eratosthenes - Intro
Sieve of Eratosthenes - Code
Sieve of Eratosthenes - Testing
Sieve of Eratosthenes - Source Code
Bubble Sort
Bubble Sort - Intro
Bubble Sort - Code
Bubble Sort - Testing
Bubble Sort - Source Code
Merge Sort
Merge Sort - Intro
Merge Sort - Code
Merge Sort - Animations
Merge Sort - Testing
Merge Sort - Source Code
Max Stock Profit
Max Stock Profit - Intro
Max Stock Profit - Code
Max Stock Profit - Testing
Max Stock Profit - Source Code
Next Steps
Data Structures Coupon

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches essential algorithms in JavaScript to enhance code performance and scalability
Suitable for learners preparing for technical interviews in engineering or programming roles
Emphasizes important programming concepts like functional programming and time complexity
Utilizes diagrams and animations to facilitate understanding of complex algorithms
Covers a range of algorithms commonly used in industry, including binary search, merge sort, and Sieve of Eratosthenes
Led by Eric Traub, an experienced instructor in the field of algorithms and JavaScript

Save this course

Save Learning Algorithms in JavaScript from Scratch to your list so you can find it easily later:
Save

Reviews summary

Javascript algorithms course

Learners say that this course is great and can be improved by providing more visual sections before transitioning to the code. No negative opinions or notes were found.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learning Algorithms in JavaScript from Scratch with these activities:
Review your notes from previous courses related to algorithms
Refresh your memory on the basics of algorithms before starting this course.
Browse courses on Algorithms
Show steps
  • Gather your notes from previous courses.
  • Review the notes and identify areas where you need to brush up.
Review Introduction to Algorithms by Cormen, Leiserson, and Rivest
Supplement your understanding by reading a classic textbook on algorithms.
Show steps
  • Read a section of the book.
  • Summarize the key concepts in your own words.
Attend a local tech meetup focused on JavaScript or algorithms
Connect with other developers and learn about the latest trends in the field.
Browse courses on JavaScript
Show steps
  • Find a local tech meetup that aligns with your interests.
  • Attend the meetup and participate in discussions.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Practice coding basic algorithms
Reinforce your understanding of the code and algorithmic concepts in JavaScript by working on coding drills.
Browse courses on Algorithms
Show steps
  • Code out the Fizz Buzz problem in JavaScript.
  • Code out the Harmless Ransom Note problem in JavaScript.
  • Code out the Is Palindrome problem in JavaScript.
Build a simple calculator using JavaScript
Apply your JavaScript and algorithm skills by building a practical project.
Browse courses on JavaScript
Show steps
  • Plan the design and functionality of your calculator.
  • Write the code for your calculator.
  • Test and debug your calculator.
Watch tutorials on recursion and binary search
Expand your knowledge by exploring tutorials on advanced algorithms like recursion and binary search.
Browse courses on Recursion
Show steps
  • Find a tutorial on recursion and watch it.
  • Find a tutorial on binary search and watch it.
Write a blog post about your favorite algorithm
Deepen your understanding by explaining an algorithm in a blog post.
Browse courses on Algorithms
Show steps
  • Choose an algorithm you're familiar with.
  • Write a blog post explaining how the algorithm works.
  • Publish your blog post and share it with others.
Participate in an online coding contest focused on algorithms
Test your skills and learn from others by participating in a coding contest.
Browse courses on Algorithms
Show steps
  • Find an online coding contest that interests you.
  • Practice solving algorithm problems.
  • Participate in the contest and try to solve as many problems as possible.

Career center

Learners who complete Learning Algorithms in JavaScript from Scratch will develop knowledge and skills that may be useful to these careers:
Project Manager
Project Managers lead and manage software development projects. This course may be useful as it teaches algorithms in JavaScript, which are essential for understanding and managing the development of complex software projects. By learning how to code algorithms, you will be able to better understand the technical challenges and trade-offs involved in project management. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in project management.
Data Scientist
Data Scientists collect, analyze, and interpret data to extract meaningful insights. This course may be useful as it teaches algorithms in JavaScript, which are essential for processing and analyzing large datasets. By learning how to code algorithms, you will be able to improve the efficiency, performance, and scalability of your data analysis pipelines. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in data science.
Machine Learning Engineer
Machine Learning Engineers design, develop, and maintain machine learning models. This course may be useful as it teaches algorithms in JavaScript, which are essential for building and training machine learning models. By learning how to code algorithms, you will be able to improve the accuracy, efficiency, and performance of your machine learning models. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in machine learning engineering.
Business Analyst
Business Analysts analyze and improve business processes and systems. This course may be useful as it teaches algorithms in JavaScript, which are essential for automating and streamlining business processes. By learning how to code algorithms, you will be able to improve the efficiency, performance, and scalability of your business processes. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in business analysis.
Software Engineer
Software Engineers design, develop, test, and maintain software systems. This course may be useful as it teaches algorithms in JavaScript, which are essential to creating efficient and effective software. By learning how to code algorithms, you will be able to improve the performance, speed, and scalability of your code. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in software development.
Data Analyst
Data Analysts collect, analyze, and interpret data to extract meaningful insights. This course may be useful as it teaches algorithms in JavaScript, which are essential for processing and analyzing large datasets. By learning how to code algorithms, you will be able to improve the efficiency, performance, and scalability of your data analysis pipelines. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in data analysis.
Web Developer
Web Developers design, create, and maintain websites. This course may be useful as it teaches algorithms in JavaScript, which are essential for building interactive and dynamic web pages. By learning how to code algorithms, you will be able to improve the efficiency, performance, and scalability of your web applications. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in web development.
Product Manager
Product Managers lead and manage the development of software products. This course may be useful as it teaches algorithms in JavaScript, which are essential for understanding and managing the development of complex software products. By learning how to code algorithms, you will be able to better understand the technical challenges and trade-offs involved in product development. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in product management.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze and predict financial data. This course may be useful as it teaches algorithms in JavaScript, which are essential for building and deploying financial models. By learning how to code algorithms, you will be able to improve the accuracy, efficiency, and performance of your financial models. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in quantitative analysis.
Software Architect
Software Architects design and develop the overall architecture of software systems. This course may be useful as it teaches algorithms in JavaScript, which are essential for designing efficient and scalable software systems. By learning how to code algorithms, you will be able to improve the performance, speed, and reliability of your software systems. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in software architecture.
Computer Programmer
Computer Programmers write, test, and maintain computer programs. This course may be useful as it teaches algorithms in JavaScript, which are essential for writing efficient and effective computer programs. By learning how to code algorithms, you will be able to improve the performance, speed, and scalability of your programs. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in computer programming.
Agile Coach
Agile Coaches help teams and organizations adopt and implement Agile methodologies. This course may be useful as it teaches algorithms in JavaScript, which are essential for understanding and managing the development of complex software products using Agile methodologies. By learning how to code algorithms, you will be able to better understand the technical challenges and trade-offs involved in Agile development. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in Agile coaching.
Technical Lead
Technical Leads lead and manage teams of software engineers and developers. This course may be useful as it teaches algorithms in JavaScript, which are essential for understanding and managing the development of complex software systems. By learning how to code algorithms, you will be able to better understand the technical challenges and trade-offs involved in software development. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in software development.
Engineering Manager
Engineering Managers lead and manage teams of engineers and developers. This course may be useful as it teaches algorithms in JavaScript, which are essential for understanding and managing the development of complex engineering projects. By learning how to code algorithms, you will be able to better understand the technical challenges and trade-offs involved in engineering projects. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in engineering management.
Scrum Master
Scrum Masters lead and manage Scrum teams. This course may be useful as it teaches algorithms in JavaScript, which are essential for understanding and managing the development of complex software products using Scrum. By learning how to code algorithms, you will be able to better understand the technical challenges and trade-offs involved in Scrum development. This course also covers important programming concepts such as functional programming, time complexity, recursion, and other important concepts that are commonly used in Scrum mastery.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learning Algorithms in JavaScript from Scratch.
Well-written and accessible introduction to algorithms that is perfect for beginners.
Collection of algorithms implemented in JavaScript.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Learning Algorithms in JavaScript from Scratch.
Ultimate JavaScript Interview Course
Most relevant
Introduction to Data Structures & Algorithms in Java
Most relevant
Learning Data Structures in JavaScript from Scratch
Most relevant
Learn Blockchain By Building Your Own In JavaScript
JavaScript Interview Prep: Practice Problems
Data Structures and Algorithms Bootcamp
50 days of LeetCode in python: Algorithms coding interview
Algorithms: Design and Analysis, Part 1
50 Days of DSA PYTHON Dynamic Programming, Question...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser