Skip to content

kipchirchiralb/javascript-march-25

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Detailed JavaScript Curriculum Guide

This guide is meant for general-purpose programming using JavaScript, not just for the browser or web development, but also Node.js, scripting, tooling, and software architecture.


📘 JavaScript Curriculum Guide (General-Purpose Programming)

🧱 Phase 1: Foundations (Beginner)

1. Introduction to Programming

  • What is programming?
  • Overview of JavaScript
  • Setting up the environment (VS Code, Node.js, npm)

2. JavaScript Basics

  • Variables: var, let, const
  • Data Types: strings, numbers, booleans, null, undefined
  • Operators: arithmetic, comparison, logical
  • Basic Input/Output (console.log, prompt in browser)

3. Control Structures

  • Conditionals: if, else if, else, switch
  • Loops: for, while, do...while, break, continue

4. Functions

  • Function declarations vs expressions
  • Parameters, arguments, return values
  • Arrow functions () => {}

5. Arrays and Objects

  • Array operations: push, pop, shift, unshift, splice
  • Loops with arrays: for, forEach, map
  • Object literals, nested objects
  • Accessing and modifying object data

🛠 Phase 2: Core JavaScript (Intermediate)

6. Advanced Functions

  • Scope (global vs local)
  • Closures
  • Callbacks
  • Higher-order functions
  • Recursion

7. Object-Oriented Programming

  • Constructor functions
  • Prototypes
  • class syntax, extends, super
  • this keyword
  • Encapsulation and inheritance

8. Working with the DOM (browser-based)

(Optional for general purpose, but good for CLI apps that simulate output)

  • Selecting elements (getElementById, querySelector)
  • Manipulating DOM: textContent, innerHTML, style
  • Event handling: addEventListener, event object

9. Asynchronous JavaScript

  • setTimeout, setInterval
  • Callbacks vs Promises
  • Promise chaining
  • async / await
  • Error handling with try...catch

10. Error Handling and Debugging

  • Syntax vs runtime vs logical errors
  • try, catch, finally, throw
  • Debugging tools: browser dev tools, console.log, breakpoints

⚙️ Phase 3: Practical Applications (Advanced)

11. JavaScript Modules

  • import/export (ES Modules)
  • CommonJS (require, module.exports) in Node.js
  • Organizing code across files

12. Node.js and Backend Basics

  • Introduction to Node.js
  • Using the REPL
  • File system module (fs)
  • Creating a basic CLI app
  • Reading and writing files

13. Working with APIs

  • Making HTTP requests with fetch and axios
  • Parsing JSON
  • Creating REST clients

14. Tooling and Automation

  • npm & package management
  • Using package.json
  • Writing your own npm scripts
  • Building simple automation scripts (e.g., backup, file parser)

15. Testing

  • Unit testing with Jest or Mocha
  • Writing test cases and assertions
  • Test-driven development (TDD)

🚀 Phase 4: Advanced Concepts and Ecosystem

16. Functional Programming with JavaScript

  • Pure functions
  • Immutability
  • Composition
  • map, reduce, filter, flatMap

17. Data Structures & Algorithms (in JS)

  • Linked lists, stacks, queues
  • Trees and graphs
  • Searching and sorting algorithms
  • Big-O notation basics

18. Design Patterns in JavaScript

  • Module pattern
  • Singleton, Factory, Observer
  • MVC (Model View Controller)
  • Strategy and Decorator

19. Advanced Node.js

  • EventEmitter and Streams
  • Buffers and binary data
  • Creating HTTP servers
  • Middleware pattern
  • Authentication basics (JWT, sessions)

20. Building and Deploying Projects

  • Create a CLI utility (e.g., note-taking app)
  • Create a small RESTful API
  • Create a full-stack JS project (Node + MongoDB or SQLite)
  • Deploy using services like Vercel, Heroku, or Railway

🧪 Optional Enrichment

  • TypeScript introduction
  • WebAssembly & low-level performance
  • Electron for desktop apps
  • Deno (an alternative to Node.js)
  • Working with databases: MongoDB, PostgreSQL
  • Using GraphQL with JavaScript

🏁 Capstone Projects Ideas

  1. Task Manager CLI tool
  2. JSON-based note-taking app with file persistence
  3. REST API for book reviews
  4. Real-time chat using WebSockets
  5. Personal finance tracker

Would you like this as a downloadable PDF or editable Notion-style checklist?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors