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

This course teaches data structures (linked lists, binary search trees, hash tables) from the ground up. Data structures allow you to improve the efficiency, performance, speed, and scalability of your code/programs/applications. You will learn what data structures 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 recursion, time complexity, the "this" keyword, the prototype object, and constructor functions, since data structures use these concepts by their very nature. This course heavily uses diagrams and animations to help make understanding the material easier.

Read more

This course teaches data structures (linked lists, binary search trees, hash tables) from the ground up. Data structures allow you to improve the efficiency, performance, speed, and scalability of your code/programs/applications. You will learn what data structures 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 recursion, time complexity, the "this" keyword, the prototype object, and constructor functions, since data structures use these concepts by their very nature. This course 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 data structures 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 data structures will help you to excel in technical interviews.

Enroll now

What's inside

Learning objectives

  • Code out important data structures 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
  • Manipulate data structures in your own, custom, ways for whatever suits your needs

Syllabus

Introduction to Data Structures and Important Concepts
What Are Data Structures and Why Are They Important?
Constructor Functions and the "this" Keyword
Read more
The Prototype Object
Linked Lists
What is a Linked List?
Linked List and "Node" Constructor Functions
Add To Head - part 1
Add To Head - part 2
Using Add To Head
Add To Tail
Testing Add To Tail and Add To Head
Remove Head
Remove Tail
Search Method
Testing Search
Linked List - Independent Exercise
Linked List - Exercise Review
Big O Notation and Calculating the Runtime of a Function
Big O Notation & Runtime Source Code
Linked List Wrap-Up
Linked List Source Code
Binary Search Trees
What is a Binary Search Tree?
Recursion - part 1
Recursion part 2 and the Call Stack
Insert Method
Testing Insert
Contains Method
Testing Contains
Depth First Traversal - In-Order
Testing Depth First Traversal In-Order
Refactoring Depth First Traversal Method
Depth First Traversal - Pre-Order
Testing Depth First Traversal Pre-Order
Depth First Traversal - Post-Order
Breadth First Traversal - part 1
Breadth First Traversal - part 2
Testing Breadth First Traversal
Binary Search Tree - Independent Exercise
Binary Search Tree - Exercise Review
Binary Search Tree Wrap-up
Binary Search Tree Source Code
Hash Tables
What is a Hash Table?
Hash Table and Hash Node Constructor Functions
CharCodeAt Method and Modulus Operator
Hash Method
Testing Insert Method
Refactoring Insert Method
Testing Refactored Insert Method
Get Method
Testing Get Method
Hash Table - Independent Exercise
Hash Table - Exercise Review
Hash Table Wrap-up
Hash Table Source Code
Next Steps
JavaScript Algorithms Course Coupon

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches data structures, which is standard in industry
Improves performance of code, applications, and programs
Suitable for aspiring programmers and engineers
Strengthens interviewing skills for technical roles
Develops practical skills for manipulating data structures
Requires students to have a foundational understanding of programming
Focuses on technical programming concepts

Save this course

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

Reviews summary

Introductory data structures in javascript

learners say they enjoyed this introductory course that provides a strong understanding of basic JavaScript data structures. Students favored the instructor's engaging delivery of the materials.
The instructor presents the information in a way that keeps learners interested.
"Great course, I was pleased a lot with the manner of the teaching and the information deliverance"
The course could benefit from more practical assignments.
"It would be good if it would be more practical exercises with arrays and object included"

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 Data Structures in JavaScript from Scratch with these activities:
Review basic computer programming and data structures
Reviewing basic programming and data structures can refresh your memory and strengthen your understanding of foundational concepts.
Browse courses on Programming Fundamentals
Show steps
  • Go over your notes from any previous programming or data structures course
  • Retake practice quizzes on basic programming and data structures
  • Complete online tutorials on basic programming and data structures
Join a study group or participate in online forums
Engaging with other students or professionals can provide support, different perspectives, and opportunities for knowledge sharing.
Show steps
  • Find a study group or online forums related to data structures
  • Actively participate in discussions and ask questions
  • Share your knowledge and collaborate with others
Practice coding data structures in JavaScript
Regular practice coding data structures helps strengthen your understanding and builds proficiency in using JavaScript.
Show steps
  • Find online coding challenges or practice exercises
  • Code out data structures such as linked lists, binary search trees, and hash tables
  • Test your code and debug any errors
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a blog post or video tutorial on a specific data structure
Creating content forces you to synthesize your knowledge, strengthen your understanding, and potentially benefit others.
Show steps
  • Choose a specific data structure to focus on
  • Research and gather information on the data structure
  • Create a blog post or video tutorial explaining the data structure, its applications, and how to use it
  • Publish and share your content
Follow tutorials on advanced data structures and algorithms
Exploring advanced data structures and algorithms can broaden your knowledge and enhance your problem-solving skills.
Show steps
  • Identify areas where you want to improve your knowledge
  • Find reputable online tutorials or courses on advanced data structures and algorithms
  • Follow the tutorials, take notes, and complete any practice exercises
  • Apply what you've learned to your own projects or coding challenges
Build a personal project that utilizes data structures
Applying data structures in a real-world project solidifies your understanding and fosters practical implementation skills.
Show steps
  • Identify a problem or idea that can be solved using data structures
  • Design and plan your project
  • Implement your project using appropriate data structures
  • Test and debug your project
  • Deploy or share your project
Participate in coding competitions or hackathons
Participating in coding competitions or hackathons challenges you to apply your skills in a competitive environment, fostering growth.
Show steps
  • Find coding competitions or hackathons that align with your skill level
  • Form a team or participate individually
  • Prepare by practicing data structures and algorithms
  • Attend the event and actively participate

Career center

Learners who complete Learning Data Structures in JavaScript from Scratch will develop knowledge and skills that may be useful to these careers:
Algorithms Engineer
An Algorithms Engineer develops and optimizes algorithms for a wide range of applications. This role requires a deep understanding of data structures and their performance characteristics. This course will provide you with the knowledge and skills you need to succeed in this role.
Technical Interviewer
A Technical Interviewer interviews and assesses candidates for technical positions. They need to have a strong understanding of data structures and algorithms in order to evaluate candidates' technical skills. This course will help you build the skills you need to succeed in this role.
Software Architect
A Software Architect designs, maintains, and implements an organization's software. Understanding data structures, their efficiency, and time complexities will help you excel as a Software Architect. This course will help build a foundation in these areas that you can use to grow your skills and career in Software Architecture.
Web Developer
A Web Developer designs and implements websites and web applications. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable web applications. This course will help you build the skills you need to succeed in this role.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable software systems. This course will help you build the skills you need to succeed in this role.
Software Developer
A Software Developer designs, implements, and maintains software applications. They need to have a solid understanding of data structures and algorithms in order to develop efficient and reliable software. This course will help you build the skills you need to succeed in this role.
Computer Programmer
A Computer Programmer writes and maintains computer programs. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable programs. This course will help you build the skills you need to succeed in this role.
Application Developer
An Application Developer designs and implements software applications. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable software applications. This course will help you build the skills you need to succeed in this role.
Front-End Web Developer
A Front End Web Developer implements and designs user interfaces for websites and applications. Having a strong foundation in data structures and how to manipulate them is very helpful for Front End Web Developers, especially those that work on dynamic and complex web apps. This course will help you to build this foundation.
Full-Stack Web Developer
A Full Stack Web Developer designs and implements both the front end and back end of web applications. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable web applications. This course will help you build the skills you need to succeed in this role.
Systems Analyst
A Systems Analyst designs and implements computer systems. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable systems. This course will help you build the skills you need to succeed in this role.
Database Administrator
A Database Administrator manages and maintains databases. They need to have a strong understanding of data structures in order to design and implement efficient databases. This course will help you build the skills you need to succeed in this role.
Data Engineer
A Data Engineer designs and implements data pipelines and data warehouses. They need to have a strong understanding of data structures and algorithms in order to develop efficient and reliable data pipelines and data warehouses. This course will help you build the skills you need to succeed in this role.
Data Scientist
A Data Scientist uses data to solve business problems and develop solutions. A strong understanding of data structures is essential for Data Scientists, as they need to be able to efficiently store and retrieve data for analysis. This course will help you build the skills you need to succeed in this role.
Business Analyst
A Business Analyst analyzes business processes and develops solutions to improve efficiency and productivity. They need to have a strong understanding of data structures and algorithms in order to develop efficient and effective solutions. This course may be helpful for Business Analysts who want to develop their technical skills.

Reading list

We've selected 16 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 Data Structures in JavaScript from Scratch.
Covers a similar range of topics as the course, but it provides additional depth and breadth. It also includes exercises and practice problems to help you reinforce your learning.
Provides a comprehensive introduction to JavaScript, including its data structures and algorithms. It's a good choice for beginners who want to learn more about the fundamentals of JavaScript.
Comprehensive introduction to data structures and algorithms, with a focus on JavaScript. It's a good choice for students who want to learn more about the theoretical foundations of computer science.
Classic introduction to algorithms and data structures, with a focus on JavaScript. It's a good choice for students who want to learn more about the theoretical foundations of computer science.
Uses a unique storytelling approach to teach algorithms and data structures. It's a good choice for students who want to learn about these concepts in a fun and engaging way.
Comprehensive introduction to algorithms, with a focus on C++. It's a good choice for students who want to learn more about the theoretical foundations of computer science.
Provides a rigorous mathematical foundation for computer science. It's a good choice for students who want to learn more about the theoretical foundations of computer science.
Provides a comprehensive introduction to discrete mathematics, with a focus on applications to computer science. It's a good choice for students who want to learn more about the mathematical foundations of computer science.
Provides a practical introduction to data structures and algorithms, with a focus on JavaScript. It's a good choice for students who want to learn more about how to design and implement efficient data structures.
Provides a comprehensive introduction to data structures and algorithms, with a focus on JavaScript. It's a good choice for students who want to learn more about how to design and implement efficient data structures.
Comprehensive introduction to data structures and algorithms, with a focus on Python. It's a good choice for students who want to learn more about how to design and implement efficient data structures.
Classic introduction to algorithms, with a focus on Java. It's a good choice for students who want to learn more about the theoretical foundations of computer science.
Comprehensive introduction to algorithms, with a focus on C++. It's a good choice for students who want to learn more about the theoretical foundations of computer science.

Share

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

Similar courses

Here are nine courses similar to Learning Data Structures in JavaScript from Scratch.
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