From 520774dbf4694f1a6a4369c55f7b1112b693dcbe Mon Sep 17 00:00:00 2001 From: khalidbih Date: Mon, 13 Oct 2025 21:06:01 +0100 Subject: [PATCH 01/15] Complete exercise 1-I'm not sure about this --- Sprint-1/1-key-exercises/1-count.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6..69704a9eb 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -4,3 +4,5 @@ count = count + 1; // 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 1 declares a the variable count then gives initial value of 0 in line 3 the = in an Operator which assigns result of count+1 to the variable + From 096874607fefc127c0f230859926bbed8d67120b Mon Sep 17 00:00:00 2001 From: khalidbih Date: Mon, 13 Oct 2025 21:06:21 +0100 Subject: [PATCH 02/15] Complete exercise 2, I checked it with VScode runner it worked --- Sprint-1/1-key-exercises/2-initials.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f617..5bfbb2c9d 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -1,11 +1,19 @@ let firstName = "Creola"; let middleName = "Katherine"; let lastName = "Johnson"; +firstName[0] +middleName[0] +lastName[0] +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 From 02e6a9e7f06d292b131ce374a18bf442aa3c97da Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 23 Oct 2025 22:52:03 +0100 Subject: [PATCH 03/15] I completed this exercise I also run it works perfect --- Sprint-1/2-mandatory-errors/3.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884d..4c3e1fda6 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,5 +1,8 @@ const cardNumber = 4533787178994213; -const last4Digits = cardNumber.slice(-4); +const last4Digits = cardNumber.toString().slice(-4); +console.log(last4Digits); +console.log(cardNumber.toString().slice(-4)); + // The last4Digits variable should store the last 4 digits of cardNumber // However, the code isn't working @@ -7,3 +10,5 @@ const last4Digits = cardNumber.slice(-4); // 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? // Then try updating the expression last4Digits is assigned to, in order to get the correct value + +//The code won't work because .slice() only works on Strings or Arrays and cardNumber is a number From da45c9c0565917e2e8f259ea450757ae7f18877e Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 23 Oct 2025 23:05:49 +0100 Subject: [PATCH 04/15] the code runs correctly --- Sprint-1/2-mandatory-errors/2.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831..94e0301a9 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}`); + From 1fcce245e60444027f6d55e5cdf8d22c577f79b1 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 23 Oct 2025 23:08:00 +0100 Subject: [PATCH 05/15] I completed this exercise --- Sprint-1/2-mandatory-errors/1.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea7..8c02a5624 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -1,4 +1,5 @@ // trying to create an age variable and then reassign the value by 1 -const age = 33; -age = age + 1; +let age = 33; + age = age + 1; +console.log(age) From ac7e779c481f7a707107b945c06d5fe620e6f759 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 23 Oct 2025 23:09:11 +0100 Subject: [PATCH 06/15] I added // now its correct --- Sprint-1/2-mandatory-errors/0.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f..7b470667b 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,2 @@ -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? From 56883ed14866eadd04d26601d0d0df422562677c Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 23 Oct 2025 23:27:05 +0100 Subject: [PATCH 07/15] Updated 3-paths.js --- Sprint-1/1-key-exercises/3-paths.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index ab90ebb28..a4464b2a1 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -17,7 +17,7 @@ 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(dotIndex) // https://www.google.com/search?q=slice+mdn \ No newline at end of file From a400f92983fe5670b84e7d5489f4a3c4c7ce8909 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 23 Oct 2025 23:33:53 +0100 Subject: [PATCH 08/15] I added comments and verified random is always whole number --- Sprint-1/1-key-exercises/4-random.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 292f83aab..fab38f561 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -7,3 +7,7 @@ const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; // Try breaking down the expression and using documentation to explain what it means // 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 + +// num represents a random whole number between 1 and 100 + +console.log(num); //prints the random number \ No newline at end of file From 18135dbc4bfe4070f15aad4b7d518e8acd240db2 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Mon, 27 Oct 2025 21:12:33 +0000 Subject: [PATCH 09/15] I understand now why we use replcaeAll --- .../3-mandatory-interpret/1-percentage-change.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e1..ce700909f 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; @@ -13,10 +13,20 @@ console.log(`The percentage change is ${percentageChange}`); // a) How many function calls are there in this file? Write down all the lines where a function call is made +// functions calls are on lines 4,5,8 and 10. + // 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 line where the error is coming from is line 5, because there wasn't a comma between argument in replaceAll(",", "")). + // c) Identify all the lines that are variable reassignment statements +// the lines that variable reassignment are 4 and 5. + // d) Identify all the lines that are variable declarations +// the lines where variable declarations are 1 and 2 + // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? + +// we have carPrice which is a STRING AND ALSO 10,000 so need to replaceAll and remove the commas to turn it into a number so we can do math From ac4294e11759821b56f298a0b95ce5f7d7b98de2 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Mon, 27 Oct 2025 21:18:57 +0000 Subject: [PATCH 10/15] I want to work on this more,I will also ask when I go for the class --- Sprint-1/2-mandatory-errors/4.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 21dad8c5d..a0de77007 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,3 @@ -const 12HourClockTime = "20:53"; -const 24hourClockTime = "08:53"; \ No newline at end of file +const time24h = "20:53"; +const time12h = "08:53"; +let time = "20:53" \ No newline at end of file From 7bc75f1e84cde8249ebb0f78911771758e2b52a7 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Mon, 27 Oct 2025 22:00:44 +0000 Subject: [PATCH 11/15] I did the experiment for Question (f),for Question (E) I didn't give a name yet for the variable --- Sprint-1/3-mandatory-interpret/2-time-format.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d239558..833e44995 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -13,13 +13,25 @@ console.log(result); // a) How many variable declarations are there in this program? +// there is 7 variable declarations. + // b) How many function calls are there? +// there is 4 function calls. + // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators +// it gives the number of seconds left after counting all full minutes. + // d) Interpret line 4, what does the expression assigned to totalMinutes mean? +// is the total number of complete minutes in the movie. + // e) What do you think the variable result represents? Can you think of a better name for this variable? +// represents the hours,minutes,seconds of the movie/no + // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer + +// The code won’t work for all values of movieLength. If it’s negative, the result doesn’t make sense because time cannot be negative. From cdbf9496a1392b5c77e74bf4f29a227873b127e3 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Wed, 29 Oct 2025 18:47:55 +0000 Subject: [PATCH 12/15] All done here in this exercise --- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69..ad5b0e4c1 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -24,4 +24,10 @@ console.log(`£${pounds}.${pence}`); // Try and describe the purpose / rationale behind each step // To begin, we can start with -// 1. const penceString = "399p": initialises a string variable with the value "399p" +// 1. const penceString = "399p": initialises a string variable with the value "399p". +// 2. line (3) it returns a substring from the given string, it takes penceString and returns the substring that start with index 0 ends one character before the end we have 399p it returns 399. +// 3. line (8) we have the string 399 that's 3 characters means we can split it to pounds. +// 4. line (9) We have the start and the end. We start at 0, then end two characters before the string’s end, because the last two characters represent pence. +// 5. line (14) This takes the last two characters of the string, which represent the pence portion of the price.it also Extracts the pence digits safely and makes sure it’s always two digits, even if the original number was small. +// 6. line (18) This prints the final price to the console in pounds and pence, using the pounds and pence variables to show it like £3.99. + From 12d081517cc0be1d08dbb2bc111f16b84c19063d Mon Sep 17 00:00:00 2001 From: khalidbih Date: Wed, 29 Oct 2025 18:51:19 +0000 Subject: [PATCH 13/15] I will need to come back for this exercise --- Sprint-1/2-mandatory-errors/4.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index a0de77007..61e54494f 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,3 +1,3 @@ const time24h = "20:53"; const time12h = "08:53"; -let time = "20:53" \ No newline at end of file +let time = "20:53" From 634a2d89922ab1e030b7da8a32b1ed02ea3dec56 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Sat, 1 Nov 2025 14:58:30 +0000 Subject: [PATCH 14/15] Updated the number to words --- Sprint-1/2-mandatory-errors/4.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 61e54494f..5c4385fcb 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,3 +1,3 @@ const time24h = "20:53"; const time12h = "08:53"; -let time = "20:53" + From 71349b9abd0ee971c5089c2bf2106449a4abb614 Mon Sep 17 00:00:00 2001 From: khalidbih Date: Thu, 6 Nov 2025 23:59:56 +0000 Subject: [PATCH 15/15] I Fixed the code to get parts of filePath; runs correctly --- Sprint-1/1-key-exercises/3-paths.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index a4464b2a1..84a8643d6 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -18,6 +18,11 @@ console.log(`The base part of ${filePath} is ${base}`); // Create a variable to store the ext part of the variable const dir = filePath.slice(0,lastSlashIndex); -const ext = filePath.slice(dotIndex) +const ext = base.slice(base.lastIndexOf(".")); + + +console.log(filePath, dir); +console.log(filePath, ext); + // https://www.google.com/search?q=slice+mdn \ No newline at end of file