đ Key Learning Outcomes
- Practical Application of Algorithms: Learn to apply various algorithms and computer science techniques such as recursion, traversals, memoization, and dynamic programming to solve complex problems efficiently.
- Data Structures in Practice: Understand how to leverage data structures like arrays, stacks, queues, trees, graphs, and tries to optimize solutions and solve real-world challenges.
- Performance Optimization: Develop skills to balance CPU and memory usage while avoiding premature optimization, and learn how to implement garbage collection and object pooling to reduce memory consumption.
- Algorithmic Problem Solving: Tackle algorithmic challenges, including pathfinding, packing algorithms, collision detection, and more through practical examples and exercises.
- Building Efficient Solutions: Explore techniques for optimizing recursion with memoization, understanding Big O complexity, and using dynamic programming to build efficient and scalable solutions.
đ¨âđĢ About the Course
This course, led by Kyle Simpson, is designed for those who have foundational knowledge of algorithms and data structures and want to apply that knowledge to solve practical problems. The course emphasizes thinking through challenges using various algorithms and techniques like recursion, memoization, and garbage collection. Participants will engage with hands-on projects to develop problem-solving skills and think like an algorithmist.
đ¯ Target Audience
- Developers with a basic understanding of algorithms and data structures.
- Programmers interested in improving their problem-solving skills and applying algorithmic techniques.
- Software engineers aiming to optimize code performance and efficiency.
- Computer science students or enthusiasts looking to enhance their practical understanding of algorithms.
â Requirements
- Basic knowledge of algorithms and data structures.
- Familiarity with programming concepts and a willingness to tackle complex problems.
đ Course Content
Introduction
- Overview of algorithm courses and key computer science resources.
Primer
- Review of common data structures and algorithms, including sorting and traversal techniques.
- Introduction to the Golden Weighted Ball problem and practical examples.
Example Problems
- Explore practical algorithmic problems such as packing algorithms, collision detection, and automating games like Tetris.
Periodic Table Speller
- Implement a project to spell words using element symbols, featuring recursion, optimization, and candidate selection.
Chessboard Diagonals
- Develop a script to highlight chessboard diagonals using optimized DOM traversal and custom data structures.
Knight's Dialer
- Solve the Knight's Dialer problem using recursive traversal, acyclic paths, memoization, and dynamic programming.
Wordy Problem
- Tackle the Wordy Unscrambler problem with trie trees, object pooling, and directed acyclic word graphs for memory optimization.
Wrapping Up
- Conclusion with additional algorithm insights and future problem-solving strategies.
Drop a comment
Practical Problem Solving with Algorithms by Kyle Simpson
Log in to leave a feedback
Loginđ Psst! Interested in More JavaScript Courses?
Learn D3WrittenInteractive
đšī¸ Levels: đ Intermediate
âŗ Duration: 1 hours
đ¤ Price: Subscription
đ§âđģ Learning Platform: Codecademy
Modern JavaScript 2.0 CourseVideo
by Brad Traversy
đšī¸ Levels: đą Beginner, đ Intermediate, đ Advanced
âŗ Duration: 37 hours
đ¤ Price: Subscription
Pure Vanilla JS Projects: Learn By Building 20 ProjectsVideo
by Brad Traversy
đšī¸ Levels: đą Beginner
âŗ Duration: 16 hours
đ¤ Price: 25