⚡ JavaScript — Techbase STEM Academy
⚡ JavaScript — Techbase STEM Academy
Free beginner JavaScript course by Techbase Consultant Services, Ibadan, Nigeria
Instructor: Babatunde Awoyemi · github.com/techbaseng
About This Course
JavaScript is the programming language of the web. While HTML structures a page and CSS styles it, JavaScript makes it come alive — responding to clicks, updating content without reloading, validating forms, and powering the interactive features you use every day on websites and apps.
In this course, you will go from writing your first line of JavaScript to building real interactive web projects.
Recommended: Complete the HTML Fundamentals and CSS Styling courses before starting this one.
What You Will Learn
By the end of this course you will be able to:
- Write JavaScript that runs inside a web browser
- Work with variables, data types, and operators
- Use conditions and loops to control program flow
- Write and call functions
- Select and manipulate HTML elements using the DOM
- Respond to user events like clicks and keyboard input
- Validate a form with JavaScript
- Build a small interactive web project from scratch
Prerequisites
- Completion of HTML Fundamentals (you will be manipulating HTML with JS)
- Completion of CSS Styling is helpful but not strictly required
How to Use This Course
- Start here — read this page to understand the full picture
- Open Lesson 01 — click the link in the table below
- Read the lesson — each file explains the concept with examples and code
- Try the exercises — every lesson ends with hands-on practice tasks
- Move forward — go to the next lesson whenever you are ready
💡 Tip: Open your browser’s Console (
F12→ Console tab) to run and test JavaScript instantly — no file needed. This is the fastest way to experiment as you learn.
Tools You Will Need
| Tool | Purpose | Link |
|---|---|---|
| VS Code | Write your JavaScript, HTML, and CSS | code.visualstudio.com |
| Live Server (VS Code extension) | Auto-refresh browser on save | Search “Live Server” in VS Code extensions |
| Chrome DevTools Console | Test JavaScript instantly | Press F12 in Chrome → Console tab |
Course Lessons
| # | Topic | File |
|---|---|---|
| 01 | JavaScript Tutorial — Introduction, Placement & Output | lesson_01.md |
| 02 | JavaScript Syntax, Statements & Comments | lesson_02.md |
| 03 | JavaScript Variables, let, const & Data Types |
lesson_03.md |
| 04 | JavaScript Operators: Arithmetic · Assignment · Comparisons | lesson_04.md |
| 05 | JavaScript Conditionals: if · if...else · Ternary · Switch · Logical Operators |
lesson_05.md |
| 06 | JavaScript Loops, Control Flow & Loop Keywords | lesson_06.md |
| 07 | JavaScript Strings: Template Strings · String Methods · String Search | lesson_07.md |
| 08 | JavaScript Numbers: Number Methods · Number Properties · Bitwise · BigInt | lesson_08.md |
| 09 | JavaScript Functions: Invocation · Parameters · Return · Arrow Functions | lesson_09.md |
| 10 | JavaScript Objects: Properties · Methods · this · Constructors |
lesson_10.md |
| 11 | JavaScript: Scope, Code Blocks, Hoisting & Strict Mode | lesson_11.md |
| 12 | JavaScript Dates: Creating · Formatting · Reading · Changing | lesson_12.md |
| 13 | JavaScript Temporal API: Modern Date & Time Handling | lesson_13.md |
| 14 | JavaScript Arrays: Creating · Accessing · Modifying · Sorting · Iterating | lesson_14.md |
| 15 | JavaScript Sets: Unique Values · Set Methods · Union · Intersection · WeakSet | lesson_15.md |
| 16 | JavaScript Maps: Key-Value Pairs · Map Methods · WeakMap | lesson_16.md |
| 17 | JavaScript Looping, Iterables, Iterators & Generators | lesson_17.md |
| 18 | JavaScript Math & Random: Math Properties · All Math Methods · Random Numbers | lesson_18.md |
| 19 | JavaScript Regular Expressions: Patterns · Flags · Quantifiers · Groups | lesson_19.md |
| 20 | JavaScript Destructuring: Arrays · Objects · Nested · Rest · Function Parameters | lesson_20.md |
| 21 | JavaScript Data Types, Primitives, Objects, typeof & Type Conversion |
lesson_21.md |
| 22 | JavaScript Errors — Introduction, Silent Errors, Handling & the Error Object | lesson_22.md |
| 23 | JavaScript Debugging: Console · Breakpoints · Error Types · Async Debugging | lesson_23.md |
| 24 | JavaScript Conventions, Best Practices, Common Mistakes & Performance | lesson_24.md |
| 25 | JavaScript Statements, Reserved Words, Operators & Operator Precedence | lesson_25.md |
| 26 | JavaScript Modern Features: ES2016 → ES2026 | lesson_26.md |
| 27 | JavaScript History, Versions & The Foundation: ES3 · ES5 · ES6 | lesson_27.md |
| 28 | JavaScript HTML DOM: Methods · Finding Elements · Changing HTML & CSS | lesson_28.md |
| 29 | JavaScript Events: Mouse · Keyboard · Load · Timing · EventListener API | lesson_29.md |
| 30 | JavaScript Projects: Counter · To-Do List · Modal · Form Validation | lesson_30.md |
| 31 | JavaScript Functions: Callbacks · this · call · apply · bind · Closures |
lesson_31.md |
| 32 | JavaScript Objects: Iterations · Accessors · Prototypes · Reference | lesson_32.md |
| 33 | JavaScript Classes: Syntax · Inheritance · Static Methods & Properties | lesson_33.md |
| 34 | JavaScript Asynchronous Programming: Promises · Async/Await · Fetch API | lesson_34.md |
| 35 | JavaScript Modules: Exports · Imports · Namespaces · Dynamic Imports | lesson_35.md |
| 36 | JavaScript Meta Programming: Reflect API · Proxy API | lesson_36.md |
| 37 | JavaScript Typed Arrays, ArrayBuffers, DataView & Atomics | lesson_37.md |
| 38 | JavaScript DOM — Navigation, Nodes, Collections & NodeLists | lesson_38.md |
| 39 | JavaScript Browser Object Model (BOM): Window · Location · History · Cookies | lesson_39.md |
| 40 | JavaScript Web APIs: Fetch · Geolocation · Web Storage · Web Workers | lesson_40.md |
| 41 | JavaScript AJAX: XMLHttpRequest · Sending Requests · Handling Responses | lesson_41.md |
| 42 | JavaScript JSON: Syntax · JSON.parse() · JSON.stringify() · JSON & Servers |
lesson_42.md |
| 43 | JavaScript & jQuery: Selectors · HTML · CSS · DOM Manipulation | lesson_43.md |
| 44 | JavaScript Graphics: Canvas · Plotly · Chart.js · Google Charts · D3.js | lesson_44.md |
| 45 | JavaScript Mastery Capstone: Examples Library · Practice Arsenal · Interview Prep | lesson_45.md |
| 46 | JavaScript Complete Reference Manual: Every Built-in Object · Method · Property | lesson_46.md |
License
Free to use and share under the MIT License.
Created with ❤️ in Ibadan, Nigeria by Techbase Consultant Services
🌐 techbasengr.com.ng · 🐙 github.com/techbaseng