Ania Kubów walks through the Binary Search algorithm. 

In 5 minutes, we cover some cool facts about Binary Search, as well as two use cases, one even being a MAGIC TRICK that you might have seen before and wondered how it’s done!

I even show you one example from the book by Aditya Bhargava, Grokking Algorithms, to show you the power of numbers.

In this tutorial course from freeCodeCamp.org, you will learn JavaScript by coding 7 retro grid-based games.

Learn by doing and have 7 great projects for your career portfolio by the end of the course. Each game is done with minimal styling for you to take and make your own.

Course contents:

⌨️ (01:55) Memory Game – Level 1
Code: https://github.com/kubowania/memory-game
Learn:
• push()
• querySelector()
• SetAttribute()
• getAttribute()
• appendChild()
• Math.random()
• sort()
• For loops
• createElement()

⌨️ (11:39) Whack-a-mole – level 1
Code: https://github.com/kubowania/whack-a-mole
Learn:
• querySelector()
• addEventListener()
• setInterval()
• classList
• forEach()
• Arrow functions

⌨️ (19:47) Connect Four – level 1
Code: https://github.com/kubowania/connect-four
Learn:
• querySelector()
• addEventListener()
• onclick
• classList.contains()
• classList.add()
• For loops
• Arrow functions

⌨️ (27:37) Nokia 3310 Snake – level 2
Code: https://github.com/kubowania/Nokia3310-Snake
Learn:
• querySelector()
• addEventListener()
• setInterval()
• keyCodes
• pop()
• unshift()
• push()
• classList.contains()
• classList.add()
• classList.remove()

⌨️ (43:10) Space Invaders – level 2
Code: https://github.com/kubowania/space-invaders
Learn:
• querySelector()
• addEventListener()
• Switch cases
• keyCodes
• indexOf()
• includes()
• classList
• setInterval()
• clearInterval()
• push()

⌨️ (59:06) Frogger – level 2
Code: https://github.com/kubowania/Frogger
Learn:
• querySelector()
• addEventListener()
• setInterval()
• clearInterval()
• forEach()
• classList.contains()
• classList.add()
• classList.remove()

⌨️ (1:19:38) Tetris – level 3
Code: https://github.com/kubowania/Tetris
Learn:
• querySelector()
• addEventListener()
• Array.from()
• getElementsByClassName()
• Math.floor()
• Math.random()
• forEach()
• classList.contains()
• classList.add()
• classList.remove()
• setInterval()
• clearInterval()
• some()
• style.backgroundImage
• splice()
• concat()
• appendChild()
• Arrow functions