From 08cf3292247ccb305408d1cf62cb346fe1c2b0a8 Mon Sep 17 00:00:00 2001 From: dcostaprakash Date: Wed, 25 Feb 2026 23:43:57 +0000 Subject: [PATCH 1/2] Have completed all the coursework for sprint 1 --- Sprint-1/1-key-exercises/1-count.js | 2 +- Sprint-1/1-key-exercises/2-initials.js | 3 ++- Sprint-1/1-key-exercises/3-paths.js | 7 +++++-- Sprint-1/1-key-exercises/4-random.js | 11 ++++++++--- Sprint-1/2-mandatory-errors/0.js | 5 +++-- Sprint-1/2-mandatory-errors/1.js | 3 ++- Sprint-1/2-mandatory-errors/2.js | 5 +++-- Sprint-1/2-mandatory-errors/3.js | 5 ++++- Sprint-1/2-mandatory-errors/4.js | 6 ++++-- Sprint-1/3-mandatory-interpret/1-percentage-change.js | 7 ++++++- Sprint-1/3-mandatory-interpret/2-time-format.js | 9 ++++++--- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 6 ++++++ 12 files changed, 50 insertions(+), 19 deletions(-) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6e..a19c926b0a 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -3,4 +3,4 @@ let count = 0; 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 adding 1 to the initial count of 0 which is given in the variable declaration (Describe what line 3 is doing, in particular focus on what = is doing) diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f6175..73d5c29757 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -5,7 +5,8 @@ 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[0]}${middleName[0]}${lastName[0]}`; +console.log(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..4468bb6710 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 lastDotIndex = filePath.lastIndexOf("."); +const ext = filePath.slice(lastDotIndex + 1); +console.log (`The dir part of the filePath variable is ${dir}`); +console.log (`The ext part of the variable is ${ext}`); // https://www.google.com/search?q=slice+mdn \ No newline at end of file diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 292f83aabb..c589750d45 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -3,7 +3,12 @@ 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? -// Try breaking down the expression and using documentation to explain what it means +// In this exercise, you will need to work out what num represents? Num represents a randomly selected number from >=1 till <=100 +// Try breaking down the expression and using documentation to explain what it means. +// Function Math.random() generates a decimal number between 0 to 1 which is 0 to 0.9999 +// Funcion (maximum-minimum + 1). Therefore it is 100 - 1 + 1 = 100 +// The * sign will multiply the random number with 100 which becomes 0 to 99.99 +// The function Math.floor will round the new number to the nearest whole number. Hence it will be 0 to 99 +// + minimum will add 1 to the new rounded up number Hence the old rance 0 - 99 will now become 1 to 100 // 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 +// Done - Try logging the value of num and running the program several times to build an idea of what the program is doing diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f7..c244296587 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? +// we add the double slash which treats it like a comment for human consumption \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea76..c38f664315 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; +let age = 33; age = age + 1; +console.log (age) diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831d..982150e21a 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 ? +// what's the error ? We cannot declare after execution. We need to declare first -console.log(`I was born in ${cityOfBirth}`); const cityOfBirth = "Bolton"; +console.log(`I was born in ${cityOfBirth}`); + diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884db..adb676ab2c 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,8 +1,11 @@ -const cardNumber = 4533787178994213; +const cardNumber = "4533787178994213"; const last4Digits = cardNumber.slice(-4); +console.log(last4Digits); + // The last4Digits variable should store the last 4 digits of cardNumber // However, the code isn't working +// since it was not in quotes // Before running the code, make and explain a prediction about why the code won't work // 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? diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 21dad8c5d1..59cd5fba3b 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,4 @@ -const 12HourClockTime = "20:53"; -const 24hourClockTime = "08:53"; \ No newline at end of file +const Clock12HourTime = "20:53"; +const Clock24HourTime = "08:53"; + +// The varialble cannot start with a number of function \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e18..5ae7ffc7c2 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,16 @@ 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 3 function calls on line 4,5 & 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 error is on line 5. It is missing a , syntax. I have fixed it // c) Identify all the lines that are variable reassignment statements +// Lines 4 & 5 are variable reassignment statements // d) Identify all the lines that are variable declarations +// Variable declarations are lines 1,2,7 & 8 // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? +// This expression is removing the , between the car price and making it into a number without , \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d2395587..c70e5f8271 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -12,14 +12,17 @@ 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 // b) How many function calls are there? +// There is 1 function call // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators - +// % 60 is a remainder operator which in this case divides the total by 60 and shares the remainder (seconds / minutes) // d) Interpret line 4, what does the expression assigned to totalMinutes mean? - +// The expression assigned to total minutes is the difference of the total movie time in seconds less the remainder of the seconds divided by 60 which gives the total 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? - +// The variable result represents the time of the movie in Hours Mintutes and seconds. We could use time instead of result // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer +// Yes. This code will work for all values of movie length. I tried with 8400 seconds and 8405 seconds \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69a..76053ce5f8 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -25,3 +25,9 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" +// 2. Line 3 Removes the letter p from the end of the string +// 3. Line 8 keeps the length to 3 and adds a 0 if the length is smaller like 50p -> 050 or 5p -> 005 +// 4. Line 9 displays pounds from the 1st digit of the 3 +// 5. Line 14 displays the pence of the remaining 2 digits +// 6. Line 18 converts and displays the output result on the terminal of the total in currency format of £whole with pence after the decimal + From 458871f9fe35f6fb6d70ddba9d61aa111f1fbb18 Mon Sep 17 00:00:00 2001 From: dcostaprakash Date: Sun, 1 Mar 2026 23:00:17 +0000 Subject: [PATCH 2/2] Made the changes as per the feedback. --- Sprint-1/1-key-exercises/4-random.js | 2 +- Sprint-1/3-mandatory-interpret/2-time-format.js | 4 ++-- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index c589750d45..beb7f65800 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -8,7 +8,7 @@ const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; // Function Math.random() generates a decimal number between 0 to 1 which is 0 to 0.9999 // Funcion (maximum-minimum + 1). Therefore it is 100 - 1 + 1 = 100 // The * sign will multiply the random number with 100 which becomes 0 to 99.99 -// The function Math.floor will round the new number to the nearest whole number. Hence it will be 0 to 99 +// The function Math.floor will unconditionally round it down. Hence it will be 0 to 99 // + minimum will add 1 to the new rounded up number Hence the old rance 0 - 99 will now become 1 to 100 // It will help to think about the order in which expressions are evaluated // Done - Try logging the value of num and running the program several times to build an idea of what the program is doing diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index c70e5f8271..e98b6658c0 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -21,8 +21,8 @@ console.log(result); // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators // % 60 is a remainder operator which in this case divides the total by 60 and shares the remainder (seconds / minutes) // d) Interpret line 4, what does the expression assigned to totalMinutes mean? -// The expression assigned to total minutes is the difference of the total movie time in seconds less the remainder of the seconds divided by 60 which gives the total length of the movie in minutes +// It gives the total number of minutes in the movie, ignoring any leftover seconds. // e) What do you think the variable result represents? Can you think of a better name for this variable? // The variable result represents the time of the movie in Hours Mintutes and seconds. We could use time instead of result // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer -// Yes. This code will work for all values of movie length. I tried with 8400 seconds and 8405 seconds \ No newline at end of file +// Yes. This code will work for all values of movie length. Decimal numbers or string, NAN, undefined or Null could break the code. \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 76053ce5f8..0d7a837c83 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -27,7 +27,7 @@ console.log(`£${pounds}.${pence}`); // 1. const penceString = "399p": initialises a string variable with the value "399p" // 2. Line 3 Removes the letter p from the end of the string // 3. Line 8 keeps the length to 3 and adds a 0 if the length is smaller like 50p -> 050 or 5p -> 005 -// 4. Line 9 displays pounds from the 1st digit of the 3 +// 4. Line 9 calculates the pounds part from the amount by taking all digits except the last two. // 5. Line 14 displays the pence of the remaining 2 digits // 6. Line 18 converts and displays the output result on the terminal of the total in currency format of £whole with pence after the decimal