We may earn an affiliate commission when you visit our partners.
Course image
Dylan Israel

Technical interviews are the filter between good and great developers. At least that is how the industry sees it. In this course we will up your problem solving ability and speed with 100 algorithm problems and solutions.

Read more

Technical interviews are the filter between good and great developers. At least that is how the industry sees it. In this course we will up your problem solving ability and speed with 100 algorithm problems and solutions.

These questions are some of the most common ones asked in interviews. A portion are questions that come from companies like Google, Facebook, Uber, Amazon etc.

By the end of the course you will be:

  • Have a handle on higher order functions in JavaScript
  • Understand the basics of TypeScript
  • Have a 100 algorithm portfolio item
  • Be ready to ace the JavaScript technical interview
Enroll now

What's inside

Learning objectives

  • Master commonly asked interview questions
  • Practice dozens of different challenges and build a 100 algorithm portfolio piece
  • Be prepared for the next technical interview
  • Use javascript & typescript to solve challenging algorithms

Syllabus

Introduction
Whats the 100 Algorithms Challenge? Who Am I?
Objective Setup
My Tools
Read more
TypeScript Basics
Getting Started
Testing Our Solutions
Testing
Turning Our Tests Back On
Algorithms
1. Absolute Values Sum Minization
2. Add
Add Border
Add Two Digits
AdjacentElementsProduct
All Longest Strings
Almost Increasing Sequence
Alphabetic Shift
Alphabet Sub Sequence
Alternating Sums
Are Equally Strong
Are Similar
Array Change
Array Conversion
Array Max Consecutive Sum
Array Maximal Adjacent Difference
Array Previous Less
Array Replace
Avoid Obstacles
Bishop And Pawn
Box Blur
Candies
Case Insensitive Palindrome
Century From Year
Character Parity
Check Palindrome
Chess Board Cell Color
Chunky Monkey
Circle of Numbers
Common Character Count
Company Bot Strategy
Compare Integers
Compose Ranges
Confirm Ending
Contains Close Nums
Contains Duplicates
Convert Celsius to Fahrenheit
Convert String
Crossing Sum
Deposit Profit
Different Symbols Naive
Digit Degree
Domain Type
Election Winners
Enclose in Brackets
Even Digits Only
Extract Each Kth
Extract Matrix Column
Factorialize A Number
Fancy Ride
Fare Estimator
Fermactor
Find Closest Pair
Find Email Domain
First Digit
First Duplicate
First Not Repeating Character
Flatten Array
Growing Plant
House Number Sum
House of Cats
HTML End Tag By Start Tag
Incorrect Password Attempts
Integer To String Of Fixed Width
Internal Backups
Is Lucky
Is Tandem Repeat
Largest of Four
Largest Number
Late Ride
Launch Sequence Checker
Longest Digits Prefix
Make Array Consecutive 2
Matrix Elements Sum
Max Multiple
Missing Letters
New Numeral System
Palindrome Rearranging
Pages Numbering with Ink
Pig Latin
Pro Categorization
Proper Noun Correction
Rating Threshold
Reflect String
Reverse a String
Seats In Theater
Seek and Destroy
Shape Area

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores algorithms and problem-solving, which are necessary skills for software engineering and development
Taught by Dylan Israel, an experienced software engineer and instructor
Develops core skills for acing technical interviews in JavaScript and TypeScript, which are highly sought-after programming languages
Offers a variety of challenges and real-world examples to enhance practical skills
Provides a structured approach to algorithm learning, building a strong foundation for intermediate developers
May require some prior experience with JavaScript and TypeScript

Save this course

Save 100 Algorithms Challenge to your list so you can find it easily later:
Save

Reviews summary

Dylan's algorithms

Learners say Dylan's Algorithms course is helpful for learning problem solving. One student said, "very helpful for getting more comfortable with solving problems."
Dylan teaches.
"Very helpful (...) Dylan's a great teacher."
Course teaches algorithms.
"A great course. The algorithms (...) and the videos (...)"

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 100 Algorithms Challenge with these activities:
Review JavaScript Fundamentals
Refreshing your JavaScript fundamentals will strengthen your foundation for learning more advanced concepts.
Browse courses on JavaScript Fundamentals
Show steps
  • Review online resources or textbooks covering JavaScript basics.
  • Practice writing simple JavaScript programs to reinforce your understanding.
Join a JavaScript Study Group
Engaging with peers in a study group will provide opportunities to discuss concepts, ask questions, and enhance your learning.
Show steps
  • Find or create a study group with fellow JavaScript learners.
  • Meet regularly (e.g., weekly) to discuss course topics, work on projects, and provide feedback.
Practice 10 JavaScript Algorithm Problems
Solving JavaScript algorithm problems will strengthen your understanding of core concepts and prepare you for coding interviews.
Browse courses on Problem Solving
Show steps
  • Select 10 JavaScript algorithm problems from reliable sources.
  • Set aside 45 minutes for solving the problems.
  • Attempt to solve the problems independently using the knowledge gained from the course.
  • Check your solutions against provided answers or discuss them with peers.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Explore Advanced JavaScript Concepts via Online Tutorials
Supplementing your course knowledge with online tutorials will broaden your understanding of JavaScript's advanced capabilities.
Browse courses on JavaScript
Show steps
  • Identify online tutorials covering advanced JavaScript concepts (e.g., closures, generators, modules).
  • Set aside 60 minutes for exploring the tutorials.
  • Follow the tutorials, take notes, and experiment with the concepts.
Compile Resources for JavaScript Algorithm Optimization
Curating resources on JavaScript algorithm optimization will enhance your understanding of techniques for improving code efficiency.
Browse courses on Performance Improvement
Show steps
  • Search online for articles, tutorials, and documentation on JavaScript algorithm optimization techniques.
  • Categorize and organize the resources into a structured document.
  • Include examples and best practices for implementing these optimization techniques.
Participate in a JavaScript Coding Competition
Participating in a coding competition will challenge you to apply your JavaScript skills under time pressure, fostering problem-solving and critical-thinking abilities.
Browse courses on Problem Solving
Show steps
  • Find a suitable JavaScript coding competition (e.g., on platforms like HackerRank or LeetCode).
  • Set aside 120 minutes for the competition.
  • Solve as many problems as possible within the given time frame.
  • Review your performance and identify areas for improvement.
Develop a JavaScript Web Application Using TypeScript
Building a web application will reinforce your understanding of JavaScript and TypeScript concepts, while showcasing your skills.
Browse courses on TypeScript
Show steps
  • Design the application's architecture and user interface.
  • Implement the front-end using JavaScript and TypeScript.
  • Create a back-end using a suitable technology (e.g., Node.js).
  • Integrate the front-end and back-end components.
  • Test and deploy the application.

Career center

Learners who complete 100 Algorithms Challenge will develop knowledge and skills that may be useful to these careers:
Algorithm Engineer
This course is highly recommended for Algorithm Engineers as it provides a comprehensive introduction to the field. It covers a wide range of algorithms, from basic to advanced, helping one to build a strong foundation in algorithm design and analysis. Moreover, the course also provides hands-on experience in implementing and testing algorithms, which is crucial for success in this role.
Machine Learning Engineer
This course is highly recommended for Machine Learning Engineers as it provides a solid foundation in the underlying algorithms that power machine learning models. It covers a range of algorithms, from basic to advanced, helping one to develop a strong understanding of their strengths and limitations. Furthermore, the course gives one hands-on experience in implementing these algorithms, which is essential for building and deploying successful machine learning applications.
Computer Programmer
Computer Programmers may find this course beneficial as it offers a solid foundation in programming fundamentals, as well as advanced concepts like algorithms and data structures. The course emphasizes problem-solving through real-world challenges, which is essential for this role. By mastering the concepts taught in this course, you will be well-equipped to write efficient and effective code.
Data Scientist
Data Scientists can benefit from this course It provides a solid foundation in problem-solving and data analysis. It covers a range of algorithms and data structures, as well as practical experience in applying these techniques to real-world problems. By mastering the skills taught in this course, you will be well-equipped to extract insights from data and make informed decisions.
Software Engineer
Software Engineers ought to take this course because it provides a solid foundation in algorithms and problem solving. These are essential skills for designing, developing, and maintaining software systems. Additionally, the course gives one real-time practice in applying these concepts to a variety of programming challenges. This course can significantly strengthen your ability to overcome difficult programming challenges in real-world settings.
Quant Analyst
Quant Analysts may find this course beneficial as it provides a strong foundation in algorithms and data structures. It covers a range of topics relevant to quantitative finance, including time series analysis, optimization, and risk management. By mastering these concepts, you will be well-equipped to handle the complex challenges faced in this industry.
Computer Science Teacher
The 100 Algorithms Challenge course can be a valuable resource for Computer Science Teachers. This course empowers one to build a strong understanding of algorithms and their applications, both of which are essential for teaching computer science effectively. Moreover, the course's focus on problem-solving and logical thinking will equip one to engage students and foster their interest in the field.
Technical Architect
Technical Architects can benefit from this course as it provides a solid foundation in the underlying algorithms and data structures used in software systems. It covers a range of topics, including operating systems, databases, and cloud computing. By mastering these concepts, you will be well-equipped to design and implement scalable and efficient software solutions.
IT Consultant
IT Consultants can benefit from this course as it provides a broad understanding of algorithms and data structures. It covers a range of topics relevant to IT consulting, such as database management, networking, and cloud computing. By mastering these concepts, you will be well-equipped to provide comprehensive advice to your clients and help them solve their business problems.
Data Analyst
Data Analysts can benefit from this course because it offers hands-on experience in solving complex algorithms. This is a critical skill for this occupation because it enables one to easily analyze data and extract insights that drive better decision making. Additionally, the course offers a deeper understanding of JavaScript and TypeScript, which are essential programming languages for data analysis.
Web Developer
For Web Developers, this course provides a solid foundation in programming fundamentals and problem-solving skills. It covers a range of essential algorithms and data structures used in web development, such as sorting, searching, and graph traversal. By mastering these concepts, you will be able to write more efficient and maintainable code for your web applications.
Research Scientist
Research Scientists may find this course useful as it dives deep into advanced algorithm design and analysis techniques. It covers a wide range of topics, including dynamic programming, graph algorithms, and approximation algorithms. By mastering these concepts, you will be well-equipped to conduct rigorous research and make significant contributions to your field.
Software Developer
This course may be useful for Software Developers as it provides a solid foundation in programming fundamentals, as well as essential problem-solving skills. It will help you develop a deeper understanding of algorithms and how to apply them to real-world programming challenges.
Product Manager
For Product Managers, this course provides valuable insights into the underlying algorithms and data structures that power modern software products. By understanding these concepts, you will be able to make more informed decisions about product design and development, and effectively communicate with your engineering team.
Business Analyst
Business Analysts may find this course useful as it provides a solid foundation in problem-solving and data analysis techniques. By mastering the concepts taught in this course, you will be well-equipped to gather and analyze data, identify inefficiencies, and develop solutions that improve business processes.

Reading list

We've selected 13 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 100 Algorithms Challenge.
This monumental work comprehensive reference on the design and analysis of algorithms, and it is essential reading for anyone who wants to deeply understand the field of algorithms.
Popular resource for preparing for technical interviews, and it includes a wide range of programming questions and solutions that are similar to those that you may encounter in the 100 Algorithms Challenge course.
Provides a unique perspective on the field of algorithms, and it is essential reading for anyone who wants to understand the deeper philosophical and historical foundations of the subject.
This classic textbook provides a comprehensive introduction to the fundamentals of algorithms, including a wide range of algorithms that you will encounter in the 100 Algorithms Challenge course.
This classic textbook provides a rigorous introduction to the mathematical foundations of computer science, including a wide range of topics that are relevant to the study of algorithms.
Another classic textbook that provides a thorough introduction to algorithms and data structures, with a focus on practical applications.
This textbook provides a comprehensive introduction to the theory of automata and formal languages, and it is essential reading for anyone who wants to understand the deeper theoretical foundations of the field of algorithms.
This classic textbook provides a comprehensive guide to the principles and practices of software development, and it is essential reading for anyone who wants to become a successful software engineer.
This classic book provides a practical guide to the principles of web usability, and it is essential reading for anyone who wants to design and develop user-friendly websites.

Share

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

Similar courses

Here are nine courses similar to 100 Algorithms Challenge.
JavaScript Interview Prep: Practice Problems
Most relevant
The Coding Interview Bootcamp: Algorithms + Data...
Most relevant
Product Manager Interview Preparation Course
Most relevant
Python for Data Structures, Algorithms, and Interviews!
Most relevant
Mastering the System Design Interview
Most relevant
Blind 75 LeetCode Questions: Ace Algorithms Coding...
Most relevant
Ultimate JavaScript Interview Course
Most relevant
LeetCode in Java: Algorithms Coding Interview Questions
Most relevant
Data Structures & Algorithms Interview Prep
Most relevant
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