From 987c2ce8ad752c874a124886309dca743553b882 Mon Sep 17 00:00:00 2001 From: B3-Bisrat Date: Wed, 17 Jun 2026 07:16:57 +0100 Subject: [PATCH 1/4] 1-key-exercises are done. --- Sprint-1/1-key-exercises/1-count.js | 3 +++ Sprint-1/1-key-exercises/2-initials.js | 6 +++--- Sprint-1/1-key-exercises/3-paths.js | 9 ++++++--- Sprint-1/1-key-exercises/4-random.js | 7 +++++++ 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6e..047d292e89 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -2,5 +2,8 @@ let count = 0; count = count + 1; +console.log(count); + // Line 1 is a variable declaration, creating the count variable with an initial value of 0 // Describe what line 3 is doing, in particular focus on what = is doing +// Line 3 adds 1 to the current value of count. The = sign means we save the new value back into count. Since count started at 0, count + 1 makes it 1 diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f6175..cb696b1bf8 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -2,10 +2,10 @@ let firstName = "Creola"; let middleName = "Katherine"; let lastName = "Johnson"; +let initials = firstName[0] + middleName[0] + lastName[0]; +console.log(initials); + // Declare a variable called initials that stores the first character of each string. // This should produce the string "CKJ", but you must not write the characters C, K, or J in the code of your solution. -let initials = ``; - // https://www.google.com/search?q=get+first+character+of+string+mdn - diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index ab90ebb28e..66886d0577 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -17,7 +17,10 @@ console.log(`The base part of ${filePath} is ${base}`); // Create a variable to store the dir part of the filePath variable // Create a variable to store the ext part of the variable -const dir = ; -const ext = ; +const dir = filePath.slice(0, lastSlashIndex); +const ext = filePath.slice(filePath.lastIndexOf(".")); -// https://www.google.com/search?q=slice+mdn \ No newline at end of file +console.log(dir); +console.log(ext); + +// https://www.google.com/search?q=slice+mdn diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 292f83aabb..34d64faadd 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -4,6 +4,13 @@ const maximum = 100; const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; // In this exercise, you will need to work out what num represents? +// num creates a random whole number between 1-100 (inclusive). // Try breaking down the expression and using documentation to explain what it means +//maximum-minimum+1 gives us the number of possible values (100-1+1 = 100) +//Math.random() gives us a random decimal number between 0 (inclusive) and 1 (exclusive) +//Multiplying Math.random() by 100 gives us a random decimal number between 0 and 100 (exclusive) +//Math.floor() rounds down the random decimal number to the nearest whole number. +//Adding minimum to the result gives us a random whole number between minimum and maximum (inclusive) // It will help to think about the order in which expressions are evaluated // Try logging the value of num and running the program several times to build an idea of what the program is doing +console.log(num); From 647ad6693d07e6866c7e05b16ade6d41eba0eeec Mon Sep 17 00:00:00 2001 From: B3-Bisrat Date: Wed, 17 Jun 2026 21:20:10 +0100 Subject: [PATCH 2/4] 2-mandatory-errors are done. --- Sprint-1/2-mandatory-errors/0.js | 5 +++-- Sprint-1/2-mandatory-errors/1.js | 4 +++- Sprint-1/2-mandatory-errors/2.js | 3 ++- Sprint-1/2-mandatory-errors/3.js | 5 ++++- Sprint-1/2-mandatory-errors/4.js | 5 +++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f7..eb285f6b55 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,3 @@ -This is just an instruction for the first activity - but it is just for human consumption -We don't want the computer to run these 2 lines - how can we solve this problem? \ No newline at end of file +//This is just an instruction for the first activity - but it is just for human consumption +//We don't want the computer to run these 2 lines - how can we solve this problem? +//By adding // at the beginning of each line, we can turn them into comments. diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea76..edb82ab072 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -1,4 +1,6 @@ // trying to create an age variable and then reassign the value by 1 -const age = 33; +let age = 33; age = age + 1; +console.log(age); +// let can allow us to reassign the value of a variable. diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831d..ba467e5676 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -1,5 +1,6 @@ // Currently trying to print the string "I was born in Bolton" but it isn't working... // what's the error ? -console.log(`I was born in ${cityOfBirth}`); const cityOfBirth = "Bolton"; +console.log(`I was born in ${cityOfBirth}`); +//The error is the order. JavaScript always reads the code from top to bottom. diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884db..56e03c5440 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,9 +1,12 @@ -const cardNumber = 4533787178994213; +const cardNumber = "4533787178994213"; const last4Digits = cardNumber.slice(-4); // The last4Digits variable should store the last 4 digits of cardNumber // However, the code isn't working // Before running the code, make and explain a prediction about why the code won't work +// First the code doesn't have console.log()to print the value of last four digits. Second, the slice can't be negative. // Then run the code and see what error it gives. // Consider: Why does it give this error? Is this what I predicted? If not, what's different? +// The error is that slice is not a function. This is because cardNumber is a number and slice is a string method. To fix this, we need to convert cardNumber to a string before using slice. // Then try updating the expression last4Digits is assigned to, in order to get the correct value +console.log(last4Digits); diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 5f86c730bc..ae4c9e1fd7 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,3 @@ -const 12HourClockTime = "8:53pm"; -const 24hourClockTime = "20:53"; +const twelveHourClockTime = "8:53pm"; +const twentyFourHourClockTime = "20:53"; +//variables can't start with a number. To fix this, we need to change the variable name to something that starts with a letter or an underscore. From d2baabe8ba24d454ddd2d217266c9e22238435b3 Mon Sep 17 00:00:00 2001 From: B3-Bisrat Date: Thu, 18 Jun 2026 22:45:27 +0100 Subject: [PATCH 3/4] 3-mandatory-interpret are done. --- .../3-mandatory-interpret/1-percentage-change.js | 9 ++++++++- Sprint-1/3-mandatory-interpret/2-time-format.js | 12 ++++++++++-- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 15 +++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e18..d26d7deb74 100644 --- a/Sprint-1/3-mandatory-interpret/1-percentage-change.js +++ b/Sprint-1/3-mandatory-interpret/1-percentage-change.js @@ -2,7 +2,7 @@ let carPrice = "10,000"; let priceAfterOneYear = "8,543"; carPrice = Number(carPrice.replaceAll(",", "")); -priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," "")); +priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", "")); const priceDifference = carPrice - priceAfterOneYear; const percentageChange = (priceDifference / carPrice) * 100; @@ -12,11 +12,18 @@ console.log(`The percentage change is ${percentageChange}`); // Read the code and then answer the questions below // a) How many function calls are there in this file? Write down all the lines where a function call is made +// There are 5 function calls. In the fourth line Number () and replaceAll (). +// In the fifth line same as line 4 Number () and replaceAll (). +// Last one in seventh line console.log (). // b) Run the code and identify the line where the error is coming from - why is this error occurring? How can you fix this problem? +// The error is in line 5. The error is occurring because there is a missing comma in the replaceAll function. The correct code should be: priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", "")); // c) Identify all the lines that are variable reassignment statements +// Line 4 and line 5 are variable reassignment statements. In line 4, carPrice is being reassigned with the new value after removing the comma and converting it to a number. In line 5, priceAfterOneYear is being reassigned in the same way. // d) Identify all the lines that are variable declarations +// Line 1 and line 2 are variable declarations. In line 1, carPrice is declared and initialized with the string value "10,000". In line 2, priceAfterOneYear is declared and initialized with the string value "8,543". // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? +// The expression removes the comma from the price string and converts it into a number. This allows JavaScript to use the value in calculations. diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d2395587..b034e18f26 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -12,14 +12,22 @@ console.log(result); // For the piece of code above, read the code and then answer the following questions // a) How many variable declarations are there in this program? +// There are 6 variable declarations in this program: movieLength, remainingSeconds, totalMinutes, remainingMinutes, totalHours, and result. // b) How many function calls are there? +// There is 1 function call in this program: console.log(result). // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators +// The % operator is the remainder operator. +// It returns the remainder left over after one number is divided by another number. +// MovieLength % 60 finds the remaining seconds after dividing the total movie length by 60. +// This is used to calculate how many seconds are left after converting the total seconds into minutes. // d) Interpret line 4, what does the expression assigned to totalMinutes mean? - +// Take away the leftover seconds, then convert the rest into minutes. // e) What do you think the variable result represents? Can you think of a better name for this variable? - +// The movie length displayed as hours:minutes:seconds. +// A better name for this variable could be movieDuration. // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer +// Yes, it works for all movie lengths except for negative and text values. diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69a..487b2543ec 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -25,3 +25,18 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" + +// 2. const penceStringWithoutTrailingP = penceString.substring(0, penceString.length - 1): +// removes the last character ("p") from the string, leaving only the number part "399". + +// 3. const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"): +// makes sure the pence value has at least 3 characters by adding zeros at the start if needed. + +// 4. const pounds = paddedPenceNumberString.substring(0, paddedPenceNumberString.length - 2): +// takes the first part of the string to get the pounds value. + +// 5. const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0"): +// takes the last two characters to get the pence value and adds a zero at the end if needed. + +// 6. console.log(`£${pounds}.${pence}`): +// prints the final price in pounds and pence format. From fa849fa6a62da6403f3bdadfd09871eb457f6cd8 Mon Sep 17 00:00:00 2001 From: B3-Bisrat Date: Fri, 19 Jun 2026 21:56:20 +0100 Subject: [PATCH 4/4] 4-strech-explore are done. --- Sprint-1/4-stretch-explore/chrome.md | 2 ++ Sprint-1/4-stretch-explore/objects.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feafe..bf019ed5d6 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -12,7 +12,9 @@ invoke the function `alert` with an input string of `"Hello world!"`; What effect does calling the `alert` function have? +// A pop up window on the webpage. Now try invoking the function `prompt` with a string input of `"What is your name?"` - store the return value of your call to `prompt` in an variable called `myName`. What effect does calling the `prompt` function have? What is the return value of `prompt`? +//prompt() asks for input, returns the user's answer diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56a..144270ba83 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -13,4 +13,6 @@ Try also entering `typeof console` Answer the following questions: What does `console` store? +Console stores an object. What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? +The dot is used to access something inside an object. console.log means access the log function that is stored inside the console object.