Finally finished learning JavaScript in this course on Udemy! This course has a total of 14 sections122 lectures, and a total duration length of 21 hours and 42 minutes. I followed along with my teacher until the course finished.


Other Certificates


We made 10 projects in this course. All of these projects are used with VanillaJS1or, pure JavaScript with no extra library, framework, or such only.

1. Task List

Github repo:
Description: A simple web app where you can add, filter, and delete your tasks. Built with local storage.

2. Loan Calculator

Github repo:
Description: Save time calculating your monthly payment, your total loan payment, and the total interest you have to pay using this loan calculator.

3. Number Guesser

Github repo:
Description: A very simple game where you try and try until you guessed the correct number.

4. Booklist

Github repo:
Description: A web app where you can add your books to the list. I made 2 versions for this project: one for ES5 (prototypes) and another for ES6 (classes). Practice for Object-Oriented Programming in Vanilla JavaScript.

5. Joke Generator (ft. Chuck Norris)

Github repo:
Description: Fetches data (Chuck Norris jokes) from external API (from using AJAX according to the number of jokes you want to show. Check it out. It’ll blow you away! Unfortunately, browsers blocked this endpoint because “the page at ‘’ was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint ‘’. This request has been blocked; the content must be served over HTTPS.”

6. EasyHTTP

Github repo:
Description: A very simple and easy-to-use HTTP library with full CRUD functionality. AJAX with callbacks. (See responses in the console)

7. Github Finder (Plain JS)

Github repo:
Description: Peek GitHub user’s profiles, number of repos, number of gists, number of followers, number of following, user’s full name, company name, website/blog, location, membership date, their latest repos, each repo’s number of stars, watchers, and forks.

8. WeatherJS App

Github repo:
Description: Know the current weather, humidity, pressure, temperature, and wind speed in your city with this cute weather widget!

9. TraCalorie

Github repo:
Description: Track your calorie intake using this app!

10. Microposts

Github repo:
Demo: Please read README for demo.
Description: This cute app is like the cheap version of Twitter, Facebook, and WordPress. Frontend CRUD for REST API (Webpack & Babel)


This is a front to back JavaScript course for absolutely everybody. We start with the basic fundamentals and work our way to advanced programming WITHOUT relying on frameworks or libraries at all. You will learn a ton of pure JavaScript, whether you are a beginner or an established JS programmer. There is something for everyone…


  • Basics & Fundamentals: Data types, let & const variables, functions, conditionals, loops, object literals, arrays, etc
  • DOM Manipulation: Selectors, traversing the DOM, show/hide, creating & removing elements, event listeners
  • OOP: ES5 prototypes, inheritance, ES2015 classes & sub-classes, constructors
  • Async JS: Ajax & XHR, Fetch API, callbacks, promises, async / await
  • ES2015+: Arrow functions, template strings, generators, iterators, maps & sets, symbols & more
  • JavaScript Patterns: Module, Factory, State, Observer, Mediator, Singleton
  • Other: Local & session storage, regular expressions, try/catch error handling
  • 10 Projects of all kinds

What you’ll learn

  • Modular learning sections & 10 real world projects with pure JavaScript
  • Master the DOM (document object model) WITHOUT jQuery
  • Asynchronous programming with Ajax, Fetch API, Promises & Async / Await
  • OOP including ES5 prototypes & ES2015 classes
  • Learn JavaScript Patterns
  • Regular expressions, error handling, localStorage & more

Are there any course requirements or prerequisites?

  • Basic HTML / CSS knowledge

Who this course is for:

  • People that want to learn modern JavaScript from beginner to advanced without libraries and frameworks

Leave a Reply

Your email address will not be published. Required fields are marked *