From ad004752891398553df262e497993e9f6b849619 Mon Sep 17 00:00:00 2001 From: Abdul Moiz <104764143+A-Moiz@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:27:13 +0000 Subject: [PATCH 1/6] Completed exercise 1 --- 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..0b2a644c1 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 3 is updating the value of the count variable by adding 1 to its current value From c98f738b76c4ac09c9044493526bc04d9e4d1145 Mon Sep 17 00:00:00 2001 From: Abdul Moiz <104764143+A-Moiz@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:32:16 +0000 Subject: [PATCH 2/6] Completed exercise 2 --- Sprint-1/1-key-exercises/2-initials.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f617..b252e8617 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -5,7 +5,6 @@ let lastName = "Johnson"; // 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 = ``; +let initials = firstName.charAt(0) + middleName.charAt(0) + lastName.charAt(0); // https://www.google.com/search?q=get+first+character+of+string+mdn - From 8e934c28a114e3d76ef91746aa54ab497828af25 Mon Sep 17 00:00:00 2001 From: Abdul Moiz <104764143+A-Moiz@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:39:30 +0000 Subject: [PATCH 3/6] Completed exercise 3 --- Sprint-1/1-key-exercises/3-paths.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index ab90ebb28..595bb86c1 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 = base.slice(base.lastIndexOf(".")); -// https://www.google.com/search?q=slice+mdn \ No newline at end of file +// https://www.google.com/search?q=slice+mdn From 6ff18941e376301912bb0271bfb45e1b374a79b6 Mon Sep 17 00:00:00 2001 From: Abdul Moiz <104764143+A-Moiz@users.noreply.github.com> Date: Sat, 24 Jan 2026 20:06:48 +0000 Subject: [PATCH 4/6] Completed exercise 4 --- Sprint-1/1-key-exercises/4-random.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 292f83aab..501ce5bc9 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -7,3 +7,10 @@ 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 + +// Math.random() generates a random decimal number between 0 and 1. +// Since the minimum is 1 and maximum is 100 the bracket (maximum - minimum + 1) will always equal 100. +// The random decimal number is then multiplied by 100, resulting in a random decimal number between 0 and 100. +// Math.floor() then rounds this decimal number down to the nearest whole number. +// Finally, the minimum value (1) is added +// Resulting in a final value of num being a random whole number between 1 and 100. From 924305606a32677c99a7aac86a227661ff7411e9 Mon Sep 17 00:00:00 2001 From: Abdul Moiz <104764143+A-Moiz@users.noreply.github.com> Date: Sun, 25 Jan 2026 18:10:32 +0000 Subject: [PATCH 5/6] Completed section 2 --- Sprint-1/2-mandatory-errors/0.js | 6 ++++-- Sprint-1/2-mandatory-errors/1.js | 6 +++++- Sprint-1/2-mandatory-errors/2.js | 5 ++++- Sprint-1/2-mandatory-errors/3.js | 6 +++++- Sprint-1/2-mandatory-errors/4.js | 11 +++++++++-- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f..11137065e 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,4 @@ -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? + +// Commenting out the lines above will prevent the computer from running them diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea7..cfe3b315d 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -1,4 +1,8 @@ // 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); + +// Changed const to let to allow reassignment because const variables cannot be reassigned diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831..ba96b35a0 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -1,5 +1,8 @@ // 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 variable was being called before it was declared. Moved the declaration of +// the variable to the top to fix the error. diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884d..a6518acf7 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,5 +1,5 @@ const cardNumber = 4533787178994213; -const last4Digits = cardNumber.slice(-4); +//const last4Digits = cardNumber.slice(-4); // The last4Digits variable should store the last 4 digits of cardNumber // However, the code isn't working @@ -7,3 +7,7 @@ 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 + +// Error is because cardNumber is a number and numbers don't have the slice method. +const last4Digits = cardNumber.toString().slice(-4); +console.log(last4Digits); diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 21dad8c5d..8c979dc37 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,9 @@ -const 12HourClockTime = "20:53"; -const 24hourClockTime = "08:53"; \ No newline at end of file +// const 12HourClockTime = "20:53"; +// const 24hourClockTime = "08:53"; + +// Error is because variable names cannot start with a number. + +const hour12ClockTime = "20:53"; +const hour24ClockTime = "08:53"; +console.log(hour12ClockTime); +console.log(hour24ClockTime); From 9f2e8ac7dff809962840ffb0676daed0d258968e Mon Sep 17 00:00:00 2001 From: Abdul Moiz <104764143+A-Moiz@users.noreply.github.com> Date: Sun, 25 Jan 2026 18:47:16 +0000 Subject: [PATCH 6/6] Completed section 3 --- Sprint-1/3-mandatory-interpret/1-percentage-change.js | 10 +++++++++- Sprint-1/3-mandatory-interpret/2-time-format.js | 7 +++++++ Sprint-1/3-mandatory-interpret/3-to-pounds.js | 5 +++++ 3 files changed, 21 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..9509742d8 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,19 @@ 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 +// 5 functions calls. They are on lines, 4, 5, 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? +// There was a comma missing in line 5 in replaceAll("," ""). This was needed because replaceAll is a +// function that takes two arguments. The missing comma caused a syntax error. // c) Identify all the lines that are variable reassignment statements +// Lines 4 and 5 are variable reassignment statements where carPrice and priceAfterOneYear are +// reassigned new values. // d) Identify all the lines that are variable declarations +// Lines 1, 2, 7 and 8 are variable declarations where carPrice and priceAfterOneYear are declared. // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? +// Number(carPrice.replaceAll(",", "")) removes all commas from the string carPrice and then converts it to a +// number. diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d239558..815cc5b05 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -12,14 +12,21 @@ 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? +// 6 variable declarations. // b) How many function calls are there? +// 0 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 +// The expression returns the remainder left over when movieLength is divided by 60. In this case. // d) Interpret line 4, what does the expression assigned to totalMinutes mean? +// The expression on line 4 calculates the length of the movie in minutes. // e) What do you think the variable result represents? Can you think of a better name for this variable? +// Result represents the movie length formatted as hours:minutes:seconds. A better name could be +// formattedMovieLength. // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer +// As long as movieLength is a non-negative integer representing seconds, the code will work. diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69..00a981791 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -25,3 +25,8 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" +// 3. creates a new string by removing the last character ('p') from penceString +// 8. ensures the pence amount has at least three digits by adding zeros in front if needed +// 9. takes the first character of the string which represents the pound +// 14. takes the last two characters of the string which represent the pence +// 18. outputs the formatted price in pounds and pence to the console