
Kick off the JavaScript bootcamp by introducing the 20 real world projects and outlining the course structure.
Learn to implement drag and drop in a JavaScript app using the XHTML drag and drop API, wiring dragstart, dragover, drop, dragenter, and dragleave to swap items.
Explore the mathematics behind an analogue clock using the unitary method to compute hour, minute, and second hand rotations. Implement the three formulas in JavaScript for a responsive clock.
Use setInterval with an arrow function to update every second, get hours, minutes, and seconds from new Date, and apply CSS transforms with transform-origin bottom.
Learn to organize a folder structure in Visual Studio Code, create index.html and script.js, and design a Bootstrap header with an open-book icon and a blue heading using Font Awesome.
Develop a JavaScript app architecture with a book class, a UI class, and a store class using local storage to display, add, and remove books in a browser table.
Add an event listener to display books by dynamically creating tr and td elements, filling title, author, and ISBN from stored books, and adding a delete button.
Capture user input for title, author, and ISBN, create a new book object, prevent the default form submit, and append the book to the on-page list using the UI class.
Add a functional delete button to remove a book entry from the list, implement a delete handler in the UI class, and introduce validation and in-page alerts for missing fields.
Build a show alert method with DOM by creating a div with the alert class and bootstrap alert-success or alert-danger, then append a message as a text node.
Learn how to display alerts for validation and actions, use setTimeout to auto-hide messages after 3 seconds, and show both danger and success notifications when adding or removing books.
Build a local storage backed books list by fetching, adding, and removing books with a store class, using JSON.parse and JSON.stringify to persist title, author, and ISBN.
Explore folder structure for to-do app in Visual Studio Code by creating index.html and a JavaScript file, wiring Bootstrap via CDN, using Bootstrap icons, and enabling local storage.
Learn to add dynamic content to a page using HTML and Bootstrap by building a todo list with a form, input, add item button, tabbed sections, and a responsive list group.
Link and test a to-do app's JavaScript, select DOM elements with querySelector, handle form submission, validate input, and create to-do objects with name, done, and added time.
Build a JavaScript music player web app with play/pause, next/previous, shuffle, loop, and a customizable playlist, plus a timer, scrubber, and DOM-driven controls.
Create a music player UI in HTML with play, pause, next, and previous icons using material icons, a playlist panel, and a dynamic music list powered by JavaScript.
Builds the JavaScript foundation for a music player by organizing a songs array with name, artist, image, and src, linking scripts, and selecting DOM elements for controls, playlist, and progress.
Build a JavaScript music player that randomly selects songs, loads and displays name and artist, and controls play, pause, next, and previous with click events.
update the music time by clicking the progress bar, mapping click position to time using the progress area width and song duration, and implement loop, shuffle, and playlist controls.
Wire click events to a more music button and a close button, toggle the playlist, and render songs with duration and audio playback in a dynamic ul.
Explore what an API is and how two servers exchange data to fetch meaning, weather, or quotes, using endpoints, paths, parameters, and authentication.
demonstrates handling api errors by displaying no definitions found and hiding the audio tag, the meaning, and synonyms when the status code is 404.
Build a retro snake game with pure JavaScript, moving with arrow keys to collect tiles and grow, while tracking scores using DOM manipulation and ES6 features.
Learn folder structure and html setup for a snake game project. Create index.html, organize js, css, img, and music folders, and link scripts to render the board and scores.
Display the snake head and food on 18 by 18 grid, using an x-y coordinate array for the snake and a single object for the food.
Implement the game over condition by detecting self-collision and boundary exits in the snake game, comparing the head's x and y with body segments and grid limits.
Store and display the high score using browser local storage, initializing to zero when absent, and update the UI with getItem, setItem, removeItem, and JSON.stringify/JSON.parse.
Add keyframes to animate an obstacle moving from right to left, implement infinite linear motion, set overflow to hidden, and apply collision detection using setInterval and getComputedStyle with DOM queries.
Implement a browser game score system that increments on crossing the monster, uses a cross flag to prevent repeats, and gradually increases obstacle speed by adjusting animation duration.
We built a dragon game web app with a dinosaur, creating HTML, CSS, and JavaScript files, and implementing score tracking, game over, and keyboard-driven animations.
Create a pure JavaScript quiz app using DOM manipulation and event listeners, with arrow functions and array methods; separate html and js files enable clean scoring and a leaderboard.
Learn to scaffold a JavaScript quiz app in Visual Studio Code by creating index.html, style.css, game.html, and high score pages, linking the home page to game and leaderboard.
Create the quiz page by wiring html, css, and javascript to build a dynamic game with a progress bar, score, questions, and multiple choices tracked by data-number attributes.
Create a start game function using arrow function syntax, initialize the question counter to zero, and use the spread operator to load available questions for a randomized quiz.
Design the end page of a quiz app using CSS and HTML, centering a form container and styling inputs, placeholders, and buttons like save score, play again, and go home.
Display the leaderboard by building a high scores page with HTML, CSS, and JavaScript; fetch and render scores from local storage into a dynamic list, forming a functional leaderboard.
Before you start learning something new, it’s important to understand exactly what it is and what it does . This is especially useful when it comes to mastering a new programming language .
In simple terms, JavaScript is a programming language used to make websites interactive. If you think about the basic makeup of a website, you have HTML, which describes and defines the basic content and structure of the website, then you have CSS, which tells the browser how this HTML content should be displayed—determining things like color and font.
With just HTML and CSS, you have a website that looks good but doesn’t actually do much. JavaScript brings the website to life by adding functionality. It’s is responsible for elements that the user can interact with, such as drop-down menus, modal windows, and contact forms. It is also used to create things like animations, video players, and interactive maps.
Nowadays, JavaScript is an all-purpose programming language—meaning it runs across the entire software stack. The most popular application of it is on the client side (aka frontend), but since Node.js came on the scene, many people run JavaScript on the server side (aka backend) as well.
When used on the client side, JavaScript code is read, interpreted, and executed in the user’s web browser. When used on the server side, it is run on a remote computer. You can learn more about the difference between frontend and backend programming in our guide .
JavaScript isn’t only used to create websites. It can also be used to build browser-based games and, with the help of certain frameworks, mobile apps for different operating systems . The creation of new libraries and frameworks is also making it possible to build backend programs with the language, such as web apps and server apps .
If you’re interested in learning more, we’ve covered more examples of what is JavaScript used for, including code in more depth elsewhere . But now that we know some of the array of uses of this twenty five year-old language, why learn JavaScript in 2023?
The world of web development is constantly moving. With so many new tools popping up all the time, it can be extremely difficult to know where you should focus your efforts. As an aspiring developer, you’ll want to make sure that what you’re learning is still relevant in today’s industry .
If you’re having doubts about this language, don’t . It’s important to note that since its creation in 1995 JavaScript is pretty much everywhere on the web—and that’s not likely to change any time soon . According to the 2023 StackOverflow developer survey, it’s the most commonly used programming language for the ten year in a row .
It is currently used by 94.5% of all websites and, despite originally being designed as a client-side language, JavaScript has now made its way to the server-side of websites (thanks to Node . js), mobile devices (thanks to React Native and Ionic) and desktop (courtesy of Electron) . Package managers like npm make it even more powerful .
If you want to kick things off now and get a taste, in this video our resident web developer Abhishek gives you an introduction to JavaScript .