Full Stack Camp
145 subscribers
8 photos
16 files
89 links
Fullstack Camp | Learn. Build. Launch.
Welcome to the ultimate tech adventure!
Join us for a hands-on journey through HTML, CSS, JavaScript, React, Node.js, Express & MongoDB — all in one place.
Download Telegram
Week 3, Day 2 JavaScript lesson:

👋 Hello Campers!
🌟 Welcome back to your JavaScript adventure.

Yesterday, we learned about console.log() and variables. Today, we’ll go much deeper with the types of data JavaScript can handle, how to convert between them, and the operators we use to work with them!

🧱 1. JavaScript Data Types

JavaScript works with different types of values. Think of data types as labels for the kind of value a variable is holding.

Here are the main primitive data types:

➤ String 🧵
A string is any text written between quotes: "Hello", 'World', or even Backticks.

let name = "Meresa";
let greeting = 'Hello, Campers!';
console.log(name); // Meresa

➤ Number 🔢
Represents both integers and decimals.

let age = 25;
let pi = 3.14;
console.log(age + pi); // 28.14



➤ Boolean
This type has only two values: true or false. Useful in conditions!

let isLoggedIn = true;
let hasPaid = false;


➤ Undefined 🚫
A variable is declared but has no value yet.

let score;
console.log(score); // undefined


➤ Null 🕳️
It means empty or no value on purpose.

let test = null;


➤ Object 🧳
Holds key-value pairs. It's a container for related data.

let user = { name: "Abel", age: 20, isStudent: true };


🔁 2. Type Conversion in JavaScript

JavaScript often converts data types automatically, but sometimes, you have to do it yourself.

➤ String to Number

let num = Number("100");
console.log(num + 1); // 101


➤ Number to String

let num = 30;
let str = String(num);
console.log(str); // "30"


➤ Boolean to Number

console.log(Number(true)); // 1
console.log(Number(false)); // 0


➤ Automatic Type Coercion
JavaScript is sometimes too smart 😅

console.log("5" + 5); // "55" (string)
console.log("5" - 2); // 3 (number)


⚙️ 3. JavaScript Operators

Operators are used to perform actions on values.

➤ Arithmetic Operators

let x = 10;
let y = 5;
console.log(x + y); // 15
console.log(x - y); // 5
console.log(x * y); // 50
console.log(x / y); // 2
console.log(x % y); // 0 (modulus: remainder)


➤ Assignment Operators 📝

let a = 5;
a += 3; // a = a + 3
console.log(a); // 8


Other examples:
  ➺ a-= 3 means a = a-3
  ➺a *=3 means a = a * 3
  ➺a /=3 means a= a /3
  ➺a %= 3 means a = a % 3

➤ Comparison Operators 🤔

Used to compare two values.

console.log(10 > 5); // true
console.log(10 < 5); // false
console.log(5 == "5"); // true (loose comparison)
console.log(5 === "5");// false (strict comparison)


➤ Logical Operators 🧠

let isSunny = true;
let hasUmbrella = false;
console.log(isSunny && hasUmbrella); // false
console.log(isSunny ||hasUmbrella); // true
console.log(!isSunny); // false


📝 4. Comments in JavaScript

Comments are not executed. They're for humans! 🧑‍🏫

➤ Single Line Comment
// This is a single-line comment

➤ Multi-line Comment
/* This is a multi-line comment. Used for longer explanations. */

🎯 Real Life Example

Let's put it all together:
// Creating a user profile

let userName = "Selam";
let userAge = 22;
let isPremium = true;
let subscription = null;
console.log("Welcome " + userName); // Welcome Selam
console.log("Age in 5 years: " + (userAge + 5)); // Age in 5 years: 27


🎓 Summary

Today we learned:
Primitive data types in JS
How to convert types manually and automatically
Arithmetic, logical, and comparison operators
How to write comments for clarity

🙋🏾‍♀️ Dear Campers, make sure to experiment with these concepts in your browser or code editor! Open your DevTools, go to the Console tab, and play around 🧪
We’ll keep building one block at a time 🧱
🔥🌡️ Week 3 Day 2 Challenge:

Temperature Converter

Your challenge today is to create a small temperature converter using JavaScript and the console. 🧠💻

🧾 What to Do

➡️ Write a small script that:
Takes a temperature value in Celsius.
Converts it to Fahrenheit using this formula:

Fahrenheit = (Celsius * 9/5) + 32
Then also does the reverse:
Convert Fahrenheit back to Celsius using:
Celsius = (Fahrenheit - 32) * 5/9
Print both results using console.log().

🧠 How to Do It (Step-by-Step Hints)
🟢 Use let to store your values:

let celsius = 30;
let fahrenheit = (celsius * 9/5) + 32;
console.log(celsius + "°C is " + fahrenheit + "°F");


🟢 Then try the reverse:

let f = 86;
let c = (f - 32) * 5/9;
console.log(f + "°F is " + c + "°C");



🔁 Bonus: Try changing the values to see different outputs.


Don’t forget to
➤➤SHARE your code with your group, ➤➤INVITE a friend to join the fun, and as always —
✌️ Stay warm, stay cool, stay coding, and a warm stay well! 💻❄️❤️
Week 3, Day 3 JavaScript Lesson

👋 Hello, my amazing campers!

Welcome to Week 3, Day 3 of your JavaScript journey! 👩‍💻👨‍💻

Today’s lesson is all about making decisions in your code — just like how we make choices in real life.

Should you drink coffee or tea? Should the game say “Game Over” or “You Win”?
All of these are decisions we can write in code using something called conditionals and logical operators.

🧠 What You’ll Learn Today
We'll cover these topics in a deep, beginner-friendly way:
Logical Operators (&&, ||, !)
if / else Statements
else if Chains
Nested if Statements

1️⃣ Logical Operators in JavaScript
Logical operators are used to combine or modify conditions (true/false values). Think of them as tools that help JavaScript understand complex thinking.

AND &&
👉 Both conditions must be true to run the code.


let isSunny = true;
let haveSunglasses = true;
if (isSunny && haveSunglasses) { console.log("Let's go to the beach! 🏖️"); }



OR ||
👉 Only one condition needs to be true.


let hasMoney = false;
let hasCreditCard = true;
if (hasMoney || hasCreditCard) { console.log("You can buy the item 🛒"); }




NOT !
Reverses the condition. If it's true, it becomes false , and vice versa.

let isTired = false;
if (!isTired) { console.log("You are ready to study! 💪"); }


👉 !isTired becomes true, so the message prints.

2️⃣ if / else Statements
This is the basic way to tell your program:
“If this is true, do that. Otherwise, do something else.”

Analogy: if it's sunny, you go out side. Else , you stay home.

Syntax:
if (condition) { // runs if condition is true }
else { // runs if condition is false }

Example:

let age = 18;
if (age >= 18) { console.log("You can vote 🗳️"); }
else { console.log("You are too young to vote "); }


3️⃣ else if Chains
What if you have more than two options?
Use else if to test multiple conditions!

Example:

let score = 85;
if (score >= 90) { console.log("Grade: A 🏅"); }
else if (score >= 80) { console.log("Grade: B 🎉"); }
else if (score >= 70) { console.log("Grade: C 🙂"); }
else { console.log("You need to study more 📚"); }


The program checks each condition from top to bottom, and runs the first one that’s true.

4️⃣ Nested if Statements
Sometimes, you need to check a condition inside another.

Real-Life Example:

If you are over 18, check if you have an ID.
If yes → allow entry.
If not → no entry.
If under 18 → no entry.


Code Example:

let age = 20;
let hasID = false;
if (age >= 18) { if (hasID) { console.log("Welcome! 🎉"); } else { console.log("You need an ID to enter. 🪪"); } }
else { console.log("You are too young to enter. 🚫"); }


🔁 This is called nesting because one if is inside another.

Summary
Here’s what you just learned:
&&, ||, ! — combine true/false values
if / else — make a choice between two paths
else if — multiple condition checks
Nested if — one condition inside another

👀 Watch Out!
➤➤Always use === to compare values (not just =)
➤➤Curly braces {} are your friends! Keep them clear.
➤➤Be careful with nested ifs — too many layers can get confusing.
➤➤Indent your code properly to keep it readable!
Week 3 Day 3 Challenge time!
Hey Campers ✌️
You've been doing an awesome job learning how JavaScript makes decisions using if, else, and logical operators like &&, ||, and !. Today, it's time to put your logic into action — through a fun mini project! 🎯

🧪 Today’s Challenge: Pick One and Code It 🧠
We’re giving you three fun real-life inspired problemschoose any one and try to solve it using variables + if/else logic.


Option 1: Grade Evaluator 📊

Goal: Write a program that stores a student's score in a variable and tells the grade.
📌 Example:
let score = 82;
📌 Output:
"Your grade is: B"
🧠 Grade Range:
90–100 → A
80–89 → B
70–79 → C
60–69 → D
Below 60 → F

Option 2: Login Checker 🔐

Goal: Write a program that checks login credentials.
📌 Example:
let correctUsername = "camper";
let correctPassword = "12345";
let username = "camper";
let password = "12345";

📌 Output:
"Welcome, camper!"

🧠 Expected Behavior:
If both match → "Welcome!"
If one is wrong → tell which one
If both are wrong → "Access denied"

Option 3: Restaurant Menu Chooser 🍽️

Goal: Show menu based on time of day.
📌 Example:
let timeOfDay = "evening";
📌 Output:
“Dinner menu coming up!”

🧠 Time Options:
"morning" → breakfast
"afternoon" → lunch
"evening" → dinner
anything else → kitchen closed

🎯 Pick  ONE of the three
Write your code clearly with good variable names and use console.log() to show messages. You already have everything you need!
📣 Don’t forget campers:
💬 Share your solution in the group
📩 Invite your friends to learn together
🧡✌️ Stay curious, stay well, and keep coding!
Week 3 Day 4 JavaScript Lesson:

  🎉 Hey wonderful campers!

Welcome to Week 3, Day 4 of our exciting JavaScript journey! 🌍
We’re now stepping deeper into the world of interactivity and logic—where our code starts talking to users and making decisions repeatedly. 😮
So, buckle up, get comfy, and let’s learn some real coding superpowers today! 🚀💻

🧾 Today’s Lesson Outline:
1. alert() – Show Messages to the User
2. What is a Loop? Why do We Need It?
3. while Loop
4. do...while Loop
5. break and continue
6. Combining Loops with if Statements

🗨️ 1. alert() — Pop-up Messages 💬

🔹 What is alert()?
alert() is a built-in JavaScript function that shows a pop-up box with a message. It’s a simple way to talk to the user.

alert("Hello, Campers! Welcome to JavaScript!");


🧠 Analogy:
Imagine knocking on someone’s door and shouting something through the window — you don’t wait for an answer, just say it and leave. That’s alert()! 💬🚪

🧪 More Examples:

let name = "Kebede";
alert("Hi " + name + ", welcome to the camp! 😎");

let score = 95;
alert("Your score is: " + score);


You can use alert()  to show results to users like:
➤➤Converted temperatures 🌡️
➤➤Final grades 📝
➤➤Confirmation messages

🔁 2. What is a Loop? Why Do We Need It?

Sometimes we need to do the same task many times.
🧠 Analogy:
Imagine you want to clap your hands 10 times 👏. You could write:
console.log("Clap!"); console.log("Clap!"); console.log("Clap!"); ...

But that’s tiring and repetitive. Instead, we use a loop!
A loop is like saying:

"As long as this condition is true, keep repeating this code."


🔄 3. while Loop – Repeat While a Condition is True

🧾 Syntax:

while (condition) { // code to run }

💡 Example:

let count = 1;
while (count <= 5) { console.log("Count is: " + count); count++; }



🧠 Explanation:
The loop starts with count = 1.
It checks count <= 5 — if true, it runs the block.
count++ increases count by 1.
When count becomes 6, the condition is false, and the loop stops.

🚨 Infinite Loop Warning!
If you forget to change the condition, it will run forever!


let i = 1; while (i <= 5)
{ console.log("This will never stop 😨"); // missing i++ }



Real-Life Example:

let bottles = 3;
while (bottles > 0) { alert("Drink a bottle. " + bottles + " left."); bottles--; }



🔁 4. do...while Loop — Run First, Then Check

🔹 Syntax:
do { // code to run } while (condition);

💡 Example:

let x = 1;
do { console.log("x is: " + x); x++; } while (x <= 3);


📌 Difference from while:
do...while runs the code at least once, even if the condition is false!

let y = 10;
do { console.log("This runs once even if y > 5"); } while (y < 5);


🧨 5. break and continue in Loops

break — Stop the loop early

let num = 1;
while (num <= 10) { if (num === 5) { break; // stops when num is 5 }
console.log("Number: " + num); num++; }


🧠 Use break when you want to escape a loop.

continue — Skip one round, continue with the rest

let n = 0;
while (n < 5) { n++; if (n === 3) { continue; // skips 3 }
console.log(n); // prints 1, 2, 4, 5 }


📌 Use continue to skip a step inside the loop.

🔗 6. Using if Inside Loops 💡

You can combine loops and conditions!
💡 Example 1: Print even numbers only

let i = 1;
while (i <= 10) { if (i % 2 === 0) { console.log(i + " is even"); } i++; }



💡 Example 2: Countdown with alert

let seconds = 5;
while (seconds > 0) { alert(" Time left: " + seconds + " seconds"); seconds--; }
alert(" Time's up!");



🧠 Summary for Today
You learned how to:
Use alert() to communicate with the user
Create loops with while and do...while
Break out or skip parts of a loop with break and continue
Combine loops with conditions to write smart, repeating code
🚀 Today’s JavaScript Challenge (Week 3 Day 4)
To help you practice what you’ve learned, here are 4 awesome mini-challenges.

👉 Choose any 2 that you like and give them a try!

💡 1) Skip 7 from 1–20
Print all numbers from 1 to 20, but skip number 7. 😎
Hint:
Use a while or do...while loop. Inside the loop, use an if condition.

💡 2) Multiples of 3 (from 1 to 30)
Print all numbers from 1 to 30 that are divisible by 3.
Hint:
Use number % 3 === 0 to check.

💡 3) Even or Odd Checker
Print numbers from 1 to 15. For each number, print whether it's "Even" or "Odd".
Hint:
Use if (number % 2 === 0) to check even. Else, it’s odd!

💡 4) FizzBuzz Lite
Print numbers from 1 to 20.
But:
➤If the number is divisible by 3 → print “Fizz”
➤If divisible by 5 → print “Buzz”
➤If divisible by both → print “FizzBuzz”
➤Otherwise, print the number itself.
Hint:
Use if...else if...else, and remember to check the both divisible condition first!

🧠 Pick 2 Challenges Only
Don’t stress. Choose any two, and write the code in your code editor. Try to understand the logic step by step — it’s okay to make mistakes!

💌 As Always
👉 Share your progress with the group
👉 Invite your friends to join our fun journey
👉 And most importantly, stay coding, stay curious, and stay well! ✌️💻💙
1
Forwarded from Birhan Nega
How to keep focused while coding

Here are some tips to help you focus on coding:

1. Eliminate distractions: Find a quiet place to work and turn off any notifications or alerts that might interrupt your concentration.

2. Set goals: Break down your coding tasks into smaller, achievable goals. This will help you stay focused and motivated.

3. Take breaks: It's important to take regular breaks to avoid burnout and maintain your focus. Try the Pomodoro technique, which involves working for 25 minutes and taking a 5-minute break.

4. Use a timer: Set a timer for a specific amount of time and work on your coding task until the timer goes off. This will help you stay focused and avoid procrastination.

5. Stay organized: Keep your workspace and code organized to avoid distractions and make it easier to focus on your coding tasks.

6. Practice mindfulness: Take a few deep breaths and focus on the present moment before starting your coding task. This can help you clear your mind and improve your focus.
Week 3 Day 5 JavaScript Lesson :

  👋 Hello Campers!

Welcome to Week 3 Day 5!
Today, we’re going to learn two big skills:

📥 1. How to get input from the user
🔁 2. How to repeat code using a for loop

These two work together like a perfect duo—like asking someone their name (input) and greeting them multiple times (loop).
Let’s go step by step 💪.

🧠 1. Getting Input from the User in JavaScript

👂 What is "input"?
When you want the user to give something to your program—like their name, age, or favorite color—you ask them a question and store the answer.
In JavaScript (in the browser), we use:

prompt("Your question here")


This opens a small popup asking the user to type something.

🧪 Example 1: Ask for their name

let name = prompt("What's your name?");
console.log("Hello, " + name + "!");


When this runs, the user will see a box.
They can type “Liya”, and the output will be:

Hello, Liya!


🔒 Important: Where does prompt() work?
It only works in the browser, not in Node.js or many online compilers.
So try it in the browser’s console (Right click → Inspect → Console tab).

🧪 Example 2: Get two numbers and add them

let num1 = prompt("Enter first number:");
let num2 = prompt("Enter second number:");
let sum = Number(num1) + Number(num2);
console.log("The sum is: " + sum);



📌 Number() is used because prompt() gives us text (called a "string").
We change it into a number so we can do math.

🔄 Analogy: Getting input is like giving your friend a paper form 📝
➤➤You ask: “What's your name?”
➤➤They fill it and hand it back.
You:
let name = prompt("What's your name?");
➤Your friend writes “Sam” and hands it back. Now name = "Sam".

🔁 2. The for Loop – Repeating Code

Let’s now learn how to repeat something multiple times using the for loop.

🧠 Syntax of a for loop:

for (start; condition; step) { // code to repeat }


Here’s what that means:
➤start → where to begin (usually let i = 0)
➤condition → how long to keep looping (like i < 5)
➤step → how to move each time (like i++ to add 1)

🧪 Example 1: Print numbers 1 to 5

for (let i = 1; i <= 5; i++) { console.log(i); }


Output:
1 2 3 4 5

🧪 Example 2: Print "Hi" 3 times

for (let i = 0; i < 3; i++) { console.log("Hi"); }


🧪 Example 3: Ask the user how many times to repeat something
Let’s use prompt() + for together.

let times = prompt("How many stars do you want?");
times = Number(times);
for (let i = 1; i <= times; i++) { console.log(" Star " + i); }



🧪 Example 4: Say "Even" or "Odd" for each number

for (let i = 1; i <= 5; i++) {
    if (i % 2 === 0) { console.log(i + " is even"); }
   else { console.log(i + " is odd"); } }


🧪 Example 5: Skip number 3 using continue

for (let i = 1; i <= 5; i++) {
     if (i === 3) { continue; }
    console.log(i); }


Output:
1 2 4 5

🧪 Example 6: Stop the loop early using break

for (let i = 1; i <= 5; i++) {
     if (i === 4) { break; }
    console.log(i); }


Output:
1 2 3

🧠 Summary
Today, you learned:
How to use prompt() to get input from the user
How to use for loops to repeat actions
How to mix loops with conditions
How to use break and continue
1
💥💥Week 3 Day 5 Challenges!

You’ve been doing an incredible job exploring JavaScript—learning about prompt() and for loops today. 💻
Now it's time to sharpen those skills with 4 fun and practical challenges!

👀 But don’t worry—you don’t have to do them all! Choose any 2 that you like and give them your best shot. 💪

🧠 THE CHALLENGES:

1. 🔢 Multiplication Table Generator

What to do:
Ask the user for a number using prompt() and print the multiplication table from 1 to 10 for that number.
Hint:
Use a for loop from 1 to 10 and multiply each with the user number.

2. 💥 Custom Symbol Repeater

What to do:
Ask the user to enter a symbol (like #, *, @) and how many times they want to see it repeated. Then print that symbol multiple times.
Hint:
Get both inputs using prompt(), then use a for loop to repeat the symbol.

3. 🔐 Simple Password Guesser

What to do:
Set a secret password in your code. Then ask the user to guess it. Give them only 3 tries. If they guess correctly, show "Access Granted!", otherwise "Blocked!".
Hint:
Use a for loop with a maximum of 3 attempts. Use an if statement inside the loop to check the password.

4. 🔺 Pattern Printer

What to do:
Ask the user for a number. Then print a triangle pattern like this:

*
**
***

****


Hint:
Use nested loops! One for loop controls the rows, another one builds the pattern using *.

📝 Pick any 2 of these challenges and try your best! If you’re done early, feel free to try the rest too! The more you code, the better you get 🚀

📣 Share your solutions, invite your friends to join our fun coding camp, and as always—
🌞 Stay well and stay coding! ✌️💻
Week 3 Day 6 JavaScript Lesson:

  👋 Hello Campers!

Welcome to Week 3 Day 6 of our JavaScript Bootcamp! 🎉
You’ve been doing an amazing job so far—learning about variables, conditionals, loops, and how to take user input.

Today, we’re diving into one of the most powerful tools in JavaScript: the Array!

Arrays let you store, organize, and work with collections of data—and once you master them, your code will become faster, smarter, and more efficient. Let’s go! 🚀

🧠 What is an Array?

➤ Definition:
An array is a list-like container that can hold multiple values in a single variable.

Think of it as a shelf where you can store many items:
let shelf = ["book", "pen", "notebook"];

This is better than creating one variable for each item:
let item1 = "book"; let item2 = "pen"; let item3 = "notebook";

📦 Analogy:
Imagine your backpack. You don’t carry 5 separate bags for your items—you put them all in one backpack.
That’s exactly what an array does for your data!


📌 How to Create an Array

➤ Syntax:

let fruits = ["apple", "banana", "cherry"];


Square brackets [] hold the values.
Values are separated by commas.
You can store strings, numbers, booleans, even other arrays or variables.

➤ Examples:

let numbers = [1, 2, 3, 4, 5];
let mixed = [true, "hello", 42, null];
let empty = [];


🔍 Accessing Items in an Array

Each item has an index number, starting from 0.

let colors = ["red", "green", "blue"];
console.log(colors[0]); // red
console.log(colors[1]); // green
console.log(colors[2]); // blue


💡 Remember: Index starts at 0, not 1!

✏️ Modifying Array Elements
You can change the value at a specific index like this:

colors[1] = "yellow";
console.log(colors); // ["red", "yellow", "blue"]


🧩 Array Length

You can check how many items are in an array using .length:

let animals = ["cat", "dog", "elephant"];
console.log(animals.length); // 3


Adding and Removing Items
➤ .push() – Add to the end
animals.push("giraffe");

➤ .pop() – Remove from the end
animals.pop();

➤ .unshift() – Add to the start
animals.unshift("lion");

➤ .shift() – Remove from the start
animals.shift();

🧪 Example:

let names = ["Ali", "Sara"];
names.push("John"); // ["Ali", "Sara", "John"]
names.unshift("Lina"); // ["Lina", "Ali", "Sara", "John"]
names.pop(); // ["Lina", "Ali", "Sara"]
names.shift(); // ["Ali", "Sara"]


🔁 Looping Through Arrays
You can use a loop (like for) to go through each item in the array:

➤ Example:

let students = ["Abdi", "Mimi", "Fiker"];
for (let i = 0; i < students.length; i++) {
   console.log("Student:", students[i]); }



Real-World Example: Using prompt with Arrays
You can ask the user for multiple values and store them in an array:

let hobbies = [];
for (let i = 0; i < 3; i++) {
    let hobby = prompt("Enter a hobby:");
   hobbies.push(hobby); }
console.log("Your hobbies:", hobbies);



⚠️ Edge Cases to Understand
If you access a non-existing index: undefined

let items = ["pen"];
console.log(items[3]); // undefined


You can store different data types in one array (not recommended for clean code):

let mix = [42, "text", true, null];
Let's see some more methods.
➤.sort() – Sorting items
➤.join() – Turning an array into a string
➤Looping through arrays in a cleaner way
➤Nested arrays – Arrays inside arrays

🔤 1. .sort() – Sorting Array Items

The .sort() method lets you arrange array items in order (alphabetically or numerically).

➤ Alphabetical Sort:

let fruits = ["banana", "apple", "mango"];
fruits.sort();
console.log(fruits); // ["apple", "banana", "mango"]



➤ BUT! Be careful with numbers:

let numbers = [10, 2, 5, 1];
numbers.sort();
console.log(numbers); // [1, 10, 2, 5]


💥 WHY? Because .sort() treats them like text, not numbers!

🔗 2. .join() – Turning an Array into a String

Sometimes you want to convert your array into a single string:

let colors = ["red", "blue", "green"];
let result = colors.join(", ");
console.log(result); // "red, blue, green"



You can use any symbol between the items:

colors.join(" | "); // "red | blue | green"


🍉 3. Looping the “fruit of fruits” (cleaner loop)

Earlier we used this loop:

for (let i = 0; i < fruits.length; i++) {
     console.log(fruits[i]); }


But JavaScript gives us a cleaner way called the for...of loop.

➤ Example:

let fruits = ["apple", "banana", "mango"];
for (let fruit of fruits){
   console.log("Fruit of fruits:", fruit); }


🎉 This is cleaner, easier to read, and perfect for arrays!

📦 4. Nested Arrays – Arrays Inside Arrays

What if each student has multiple scores? We can use a 2D array (like a table):

let scores = [ [85, 90, 95],  [70, 75, 80], / [100, 98, 99] ];


➤ Accessing nested items:

console.log(scores[0]); // [85, 90, 95]
console.log(scores[0][1]); // 90


➤ Looping through nested arrays:

for (let i = 0; i < scores.length; i++) {
    console.log("Student", i + 1, "scores:");
   for (let j = 0; j < scores[i].length; j++) {
  console.log(" ➤", scores[i][j]); } }


🧠 Think of it as a table with rows and columns.


🧠 Summary – Key Things to Remember

Arrays are used to store multiple values.
Indexing starts from 0.
Use .length to know how many items.
Use .push(), .pop(), .shift(), .unshift() to add/remove.
Use loops to go through them.

.sort() arranges items in order
.join() turns an array into a string
for...of is a cleaner way to loop
Nested arrays help you store data in tables
You can loop through nested arrays using nested loops
💥💥Week 3 Day 6 Challenges!!

Hey Campers 👋, It’s time to put your array skills to work with today’s exciting challenges!
You’ve learned how to create arrays, loop through them, modify them, and even deal with nested ones. Now, let’s test how much you've understood.

🔍 Choose ANY 3 out of these 5 challenges and try your best to complete them. Take your time — practice is where the magic happens!

🎧 1. Simple Playlist Player

What to do:
Create an array of song names (your favorites!). Ask the user to enter a number, and based on the number, print the song at that position.
Hint:
Use prompt() to ask for a number
Use array[index] to show the song
Add a check so they don’t enter a number outside the array’s range

🧹 2. Clean Up Repeated Items

What to do:
You have an array with some repeated items. Create a new array that contains only unique values (no duplicates).
Hint:
Use a loop and an empty array
Before adding, check with .includes() if it already exists in the new array
You can also try using .indexOf() or Set if you’re curious!

🧠 3. Student Grade Analyzer

What to do:
Create a 2D array where each item contains a student's name and three scores. Loop through each student and calculate their average.
Hint:
Use nested arrays like: ["Sami", 90, 80, 85]
Use a loop to go through each student
Use another loop (or direct addition) to add the 3 numbers and divide by 3
Show: “Sami's average: 85”

📊 4. 2D Array Table Printer

What to do:
Make a 2D array that looks like a table (header + rows), then print each row and each column clearly.
Hint:
Use nested arrays like: [ ["Name", "Age", "City"], ["Sara", 22, "Adama"], ["Binyam", 20, "Bahir Dar"] ]
Use nested for loops to print each row and item

5. Magic Words Reverser

What to do:
Ask the user for a sentence using prompt(). Then reverse the order of words and show the new sentence.
Hint:
Use .split(" ") to turn the sentence into an array
Use .reverse()
Use .join(" ") to turn it back into a sentence

🚀 Choose any 3 challenges, try your best, and share your results in the group!

📣 Don’t forget to invite your coding friends who want to join our journey
🤝 And as always, stay curious, stay coding, and...
✌️ Stay well!
1