From e3c2d1df7c1626a6d0992bd3f6c12148ccc813f5 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 15:32:26 +0100 Subject: [PATCH 01/13] completed task 1 key exercises --- Sprint-1/1-key-exercises/1-count.js | 2 +- Sprint-1/1-key-exercises/2-initials.js | 5 +++-- Sprint-1/1-key-exercises/3-paths.js | 9 ++++++--- Sprint-1/1-key-exercises/4-random.js | 7 +++++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6..65f193e1a 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -1,6 +1,6 @@ let count = 0; -count = count + 1; +count = count + 1; //line 3 is calculating the result of adding the current count value to 1 and assigning that to 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 diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f617..095e5124e 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]}`; -// https://www.google.com/search?q=get+first+character+of+string+mdn +console.log(initials); //testing my string +// 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 ab90ebb28..fad4463a4 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 = base.slice(base.lastIndexOf(".") + 1); -// https://www.google.com/search?q=slice+mdn \ No newline at end of file +console.log(`The dir part of ${filePath} is ${dir}`); +console.log(`The ext part of ${filePath} is ${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 292f83aab..9d64042fd 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -3,6 +3,13 @@ const maximum = 100; const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; +//math.random() generates a random decimal number between 0 (inclusive) and 1 (exclusive). which we multiply by 100. +//we round the above number to the largest interger less than or equal to the given outcome. +//we add the value of minimum to the result. +//num gives us a random number between 1 and 100. + +console.log(num); + // 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 // It will help to think about the order in which expressions are evaluated From 529c6c4d3afa36ca7031683fb989d5ec73a0b936 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 15:35:42 +0100 Subject: [PATCH 02/13] 0.js done --- 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..e6b744a05 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 5f750bb06096e3bfb4d976dc45b54da9d8f21b0b Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 15:38:23 +0100 Subject: [PATCH 03/13] 1.js done --- Sprint-1/2-mandatory-errors/1.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea7..fc42a5f75 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; //we need to change const to let age = age + 1; +console.log(age); From 731baca23e042cd9ecc8fd47254e8584094c1ebb Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 15:41:20 +0100 Subject: [PATCH 04/13] moved variable declaration above console.log to fix error --- Sprint-1/2-mandatory-errors/2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831..c6693f720 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -1,5 +1,5 @@ // 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}`); //console.logmust come after variable declaration. From d402f085cb17fccd54014db2dcba1e8e0b4413a9 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 15:56:09 +0100 Subject: [PATCH 05/13] changed carNumber tostring so that it works with slice. --- Sprint-1/2-mandatory-errors/3.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884d..4f071a5af 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,5 +1,11 @@ const cardNumber = 4533787178994213; -const last4Digits = cardNumber.slice(-4); +const last4Digits = cardNumber.toString().slice(-4); + +// Prediction: the second vairable assignemment will give an error because the slice method canno be used on a number. we will get a type error + +//when i ran the code a got an error saying cardNumber.slice is not a function. this is because the slice method only works on strings and arrays whilst cardNumber is a number. + +console.log(last4Digits); // The last4Digits variable should store the last 4 digits of cardNumber // However, the code isn't working From 61a899904de8de81be83d0bf58867507e87a7510 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 16:04:02 +0100 Subject: [PATCH 06/13] removed numbers from start of string name to end of string name --- Sprint-1/2-mandatory-errors/4.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 21dad8c5d..7d7f0c519 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 HourClockTime12 = "20:53"; //variable name cannot start with a number. +const hourClockTime24 = "08:53"; + +console.log(`12 hr clock ${HourClockTime12}, 24 hr clock ${hourClockTime24}`); From 4de8d66b5d3713369935ff612c678c5c2685248c Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 16:42:49 +0100 Subject: [PATCH 07/13] answered all the questions and corrected the error in the code --- Sprint-1/3-mandatory-interpret/1-percentage-change.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e1..4eb09dedf 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,12 @@ 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, line 4 has 2 function calls Number() and replaceAll(), line 5 has 2 function calls Number() and replaceAll(), line 10 has a log() function call. -// 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? +// 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? line 5 there was a missing comma separating the two arguments for the replaceAll function. -// c) Identify all the lines that are variable reassignment statements +// c) Identify all the lines that are variable reassignment statements lines 4 and 5. -// d) Identify all the lines that are variable declarations +// d) Identify all the lines that are variable declarations. lines 1,2,7 and 8 -// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? +// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? it is taking the carPrice variable and removing the comma from it then converting it to a number. From 78ff8097f975d963502720b7e2420281f384e442 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 16:56:57 +0100 Subject: [PATCH 08/13] answered all the questions --- Sprint-1/3-mandatory-interpret/2-time-format.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d239558..1f12299d2 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -1,4 +1,4 @@ -const movieLength = 8784; // length of movie in seconds +const movieLength = 348769045688; // length of movie in seconds const remainingSeconds = movieLength % 60; const totalMinutes = (movieLength - remainingSeconds) / 60; @@ -11,15 +11,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? +// a) How many variable declarations are there in this program? there are 6 variable declarations -// b) How many function calls are there? +// b) How many function calls are there? 1 function call (console.log). -// c) Using documentation, explain what the expression movieLength % 60 represents +// c) Using documentation, explain what the expression movieLength % 60 represents it returns the remainder from dividing movieLength by 60. // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators -// d) Interpret line 4, what does the expression assigned to totalMinutes mean? +// d) Interpret line 4, what does the expression assigned to totalMinutes mean? it gives us the total whole minutes we have left after removing the remaining seconds from movieLength and dividing by 60. -// e) What do you think the variable result represents? Can you think of a better name for this variable? +// e) What do you think the variable result represents? it represents the total time of the movie in hours, minutes and seconds. +// Can you think of a better name for this variable? movieLengthFormat -// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer +// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? I think it will work for all positive value of movieLength. +// Explain your answer this is because the code is calculating the time format based on seconds, minutes and hours which are all positive values. From 498c33167628c1447757c765da793aeadb410dbc Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sat, 11 Oct 2025 23:58:26 +0100 Subject: [PATCH 09/13] wrote full description of what I think each line does in the code --- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69..a8f3f9028 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" +// 2. const penceStringWithoutTrailingP = penceString.substring(0, penceString.length - 1): takes of the p at the end of the string. +// 3.const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"): creates a paddded pencestring value so that if the value has less than 3 digits it gets padded with 0s at the start to make it 3 digits. +// 4. const pounds = paddedPenceNumberString.substring(0,paddedPenceNumberString.length - 2): creates a variable that holds the pound value of the string by removing the last 2 digits of the padded pence string. +// 5. const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0"): creates a variable that holds the pence value of the string by taking the last 2 digits of the padded pence string and if there is only one digit it pads it with a 0 at the end to make it 2 digits. +// 6. console.log(`£${pounds}.${pence}`): prints out the final value in pounds and pence format. From 1839259d26e2bb9d8c03660689f8f21d968e73d0 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sun, 12 Oct 2025 00:23:02 +0100 Subject: [PATCH 10/13] tried out the alert and prompt functions in chrome and wrote down what I think they do --- Sprint-1/4-stretch-explore/chrome.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feaf..cfa7dc50e 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -10,9 +10,9 @@ Let's try an example. In the Chrome console, invoke the function `alert` with an input string of `"Hello world!"`; -What effect does calling the `alert` function have? +What effect does calling the `alert` function have? it shows a pop up box with the text input that was added in brackects on calling alert. 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`? +What effect does calling the `prompt` function have? it shows a pop up box with the message that was written when the function was called, it prompts the user to respond. +What is the return value of `prompt`? it returns a string. From bfc8ee7e6b499c19d0fbcaf5f3ad396c434343bf Mon Sep 17 00:00:00 2001 From: asaniDev Date: Sun, 12 Oct 2025 00:33:20 +0100 Subject: [PATCH 11/13] answered questions about console and its functions. --- Sprint-1/4-stretch-explore/objects.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56..da48681ab 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -4,13 +4,13 @@ In this activity, we'll explore some additional concepts that you'll encounter i Open the Chrome devtools Console, type in `console.log` and then hit enter -What output do you get? +What output do you get? i get the function log with an example of how it looks -Now enter just `console` in the Console, what output do you get back? +Now enter just `console` in the Console, what output do you get back? i get an object console with a list of all the functions that it has. Try also entering `typeof console` Answer the following questions: -What does `console` store? -What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? +What does `console` store? it stores functions that operate on the console. +What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? console.log is a dot notation way of accessing properties of objects and in this case the properties functions. in this case console.log means the log function from the console object. From 889b2162bbeeb20c71adc95c82689a7c48dbe84e Mon Sep 17 00:00:00 2001 From: asaniDev Date: Fri, 31 Oct 2025 13:00:02 +0000 Subject: [PATCH 12/13] changed the input value for movielength in time formatexercise. --- Sprint-1/3-mandatory-interpret/2-time-format.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 1f12299d2..c9c822f10 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -1,4 +1,4 @@ -const movieLength = 348769045688; // length of movie in seconds +const movieLength = -348769045688; // length of movie in seconds const remainingSeconds = movieLength % 60; const totalMinutes = (movieLength - remainingSeconds) / 60; From 5e6eda51f7c1d841cd249b7dfe8892a8fe019817 Mon Sep 17 00:00:00 2001 From: asaniDev Date: Fri, 31 Oct 2025 13:04:34 +0000 Subject: [PATCH 13/13] added maths.abs to handle any negative values --- Sprint-1/3-mandatory-interpret/2-time-format.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index c9c822f10..d9fb58b00 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -1,7 +1,7 @@ const movieLength = -348769045688; // length of movie in seconds -const remainingSeconds = movieLength % 60; -const totalMinutes = (movieLength - remainingSeconds) / 60; +const remainingSeconds = Math.abs(movieLength) % 60; +const totalMinutes = (Math.abs(movieLength) - remainingSeconds) / 60; const remainingMinutes = totalMinutes % 60; const totalHours = (totalMinutes - remainingMinutes) / 60;