Skip to content

atamer99/javascript_learning_path

Repository files navigation

🧠 100 JavaScript Practice Tasks

From Beginner to OOP (Complete Learning Path)

Welcome to the 100 JavaScript Learning Path repository! This is a comprehensive, structured collection of JavaScript exercises designed to take you from absolute beginner to understanding Object-Oriented Programming.


📚 About This Project

This repository contains 100 carefully designed tasks organized into 10 progressive levels. Each task includes:

  • Clear description and instructions
  • Example output
  • Separate files for task description and your solution

Perfect for:

  • JavaScript beginners
  • Self-learners
  • Bootcamp students
  • Coding interview preparation
  • Teachers looking for structured exercises

🎯 Learning Path

🟢 LEVEL 1 – Getting Started (Basics & Variables)

Tasks 1-10: Learn variables, data types, basic operations, and console output.

🟠 LEVEL 2 – Conditional Statements

Tasks 11-20: Master if/else, switch statements, and decision-making logic.

🟡 LEVEL 3 – Loops

Tasks 21-30: Practice for, while, and do-while loops. Includes FizzBuzz and prime numbers!

🟣 LEVEL 4 – Arrays

Tasks 31-40: Work with arrays, loops, and array manipulation.

🔵 LEVEL 5 – Functions

Tasks 41-50: Create and use functions, parameters, return values, and more.

🟤 LEVEL 6 – Strings

Tasks 51-60: String manipulation, methods, and text processing.

🟢 LEVEL 7 – Objects

Tasks 61-70: Object creation, properties, methods, and nested objects.

🟠 LEVEL 8 – Advanced Logic & Practice Projects

Tasks 71-80: Real-world projects like ATM simulation, library system, restaurant menu.

🟡 LEVEL 9 – Intermediate Concepts

Tasks 81-90: Destructuring, spread operator, arrow functions, map/filter/reduce.

🟣 LEVEL 10 – OOP (Objects & Classes)

Tasks 91-100: Classes, inheritance, encapsulation, static methods, and a final project.


🚀 How to Use

1. Clone or Download

git clone https://github.com/atamer99/js-practice-100
cd js-practice-100

2. Choose a Level

Navigate to any level folder:

cd level01_basics

3. Read the Task

Open the *_task.js file to read the instructions:

cat task01_hello_world_task.js

4. Write Your Solution

Write your code in the corresponding *_solution.js file:

# Open in your favorite editor
code task01_hello_world_solution.js

5. Run Your Code

Execute your solution with Node.js:

node task01_hello_world_solution.js

📁 Repository Structure

js-practice-100/
│
├── README.md
│
├── level01_basics/
│   ├── task01_hello_world_task.js
│   ├── task01_hello_world_solution.js
│   ├── task02_personal_introduction_task.js
│   ├── task02_personal_introduction_solution.js
│   └── ... (10 tasks total)
│
├── level02_conditionals/
│   └── ... (10 tasks)
│
├── level03_loops/
│   └── ... (10 tasks)
│
├── level04_arrays/
│   └── ... (10 tasks)
│
├── level05_functions/
│   └── ... (10 tasks)
│
├── level06_strings/
│   └── ... (10 tasks)
│
├── level07_objects/
│   └── ... (10 tasks)
│
├── level08_advanced/
│   └── ... (10 tasks)
│
├── level09_intermediate/
│   └── ... (10 tasks)
│
└── level10_oop/
    └── ... (10 tasks)

💡 Tips for Success

  1. Start from Level 1 - Don't skip ahead! Each level builds on previous concepts.
  2. Read Carefully - Each task file includes detailed instructions and example output.
  3. Practice Daily - Try to complete 2-3 tasks per day.
  4. Don't Peek - Try to solve problems yourself before looking for help.
  5. Test Your Code - Run your solutions to verify they work correctly.
  6. Experiment - Modify tasks and try different approaches.

🛠️ Requirements

  • Node.js (v12 or higher)
  • A code editor (VS Code, Sublime Text, etc.)
  • Basic command line knowledge

📖 What You'll Learn

By completing all 100 tasks, you'll master:

✅ Variables and Data Types
✅ Operators (Arithmetic, Comparison, Logical)
✅ Conditional Statements (if/else, switch)
✅ Loops (for, while, do-while)
✅ Arrays and Array Methods
✅ Functions (Regular, Arrow, Higher-Order)
✅ String Manipulation
✅ Objects and Methods
✅ ES6+ Features (Destructuring, Spread, Rest)
✅ Array Methods (map, filter, reduce)
✅ Object-Oriented Programming (Classes, Inheritance)
✅ Problem-Solving Skills


🎓 Completion Certificate

Once you complete all 100 tasks, you'll have:

  • A solid foundation in JavaScript
  • A GitHub portfolio showcasing 100+ exercises
  • Practical problem-solving experience
  • Confidence to tackle real projects

🤝 Contributing

Found a typo or want to improve a task? Contributions are welcome!

  1. Fork this repository
  2. Create a new branch (git checkout -b improve-task)
  3. Make your changes
  4. Submit a pull request

🌟 Show Your Support

If you find this helpful, please:

  • ⭐ Star this repository
  • 🍴 Fork it for your own learning
  • 📢 Share it with others learning JavaScript

🗺️ Quick Navigation

Level 1 (Basics): Variables, Data Types, Arithmetic
Level 2 (Conditionals): if/else, switch, Comparison
Level 3 (Loops): for, while, FizzBuzz, Prime Numbers
Level 4 (Arrays): Array Basics, Manipulation, Loops
Level 5 (Functions): Creating Functions, Parameters, Return
Level 6 (Strings): String Methods, Manipulation, Parsing
Level 7 (Objects): Object Basics, Properties, Methods
Level 8 (Projects): Real-World Practice Projects
Level 9 (Modern JS): ES6+, Destructuring, map/filter/reduce
Level 10 (OOP): Classes, Inheritance, Encapsulation


Start your journey now! Open level01_basics/ and begin with Task 1! 🎯

About

JavaScript Learning Path Hello World ==> OOP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published