From f5d4ab641acfdf28057a895913162a1e55c341b1 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Wed, 18 Feb 2026 16:22:38 +0000 Subject: [PATCH 01/14] completed count.js --- Sprint-1/1-key-exercises/1-count.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6..ea3f1daa8 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -4,3 +4,9 @@ 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 + +// count is a variable + +// line 1 - count is declared as 0 + +// line 3 - they are adding count + 1 to count From 601f51ca4e5034df8e203c838e33d1f464dcfb01 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Wed, 18 Feb 2026 16:23:54 +0000 Subject: [PATCH 02/14] completed initials.js --- Sprint-1/1-key-exercises/2-initials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f617..4a09edec5 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -5,7 +5,7 @@ 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 From 241101b71c837b38611d01e87c5c858071e93317 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 13:10:51 +0000 Subject: [PATCH 03/14] completed 3-paths --- 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..8e9dfffb4 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 = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file"; +const ext = ".txt"; // https://www.google.com/search?q=slice+mdn \ No newline at end of file From 465b99f7d68198f1abca4858ec55752948bbad05 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 13:12:35 +0000 Subject: [PATCH 04/14] completed 4-random --- 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..215757b16 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 whole number that is picked randomly picked between 1 and 100. +// Math.floor is rounding down a given number to the nearest integer. +// Math.random returns a random floating number between 0 (inclusive) and 1 (exclusive). \ No newline at end of file From 592a934a4d55b1958effee8466cd188305bc14ea Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 13:13:21 +0000 Subject: [PATCH 05/14] completed 3-paths --- Sprint-1/1-key-exercises/3-paths.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index 8e9dfffb4..ab9a7b91f 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -16,8 +16,12 @@ 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 filePathArray = filePath.split("/"); +console.log("filePathArray", filePathArray); +const lastDotIndex = filePath.lastIndexOf("."); -const dir = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file"; -const ext = ".txt"; - +const dir = filePathArray.slice(0,7).join("/"); +const ext = filePath.slice(lastDotIndex); +console.log('dir', dir) +console.log('ext', ext) // https://www.google.com/search?q=slice+mdn \ No newline at end of file From a2327fa95340d9db87f90db017fd0ed5e41a2d82 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 13:49:47 +0000 Subject: [PATCH 06/14] completed 0.js --- Sprint-1/2-mandatory-errors/0.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f..bc96b6a6c 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? + +//I put these two lines in a comment. \ No newline at end of file From 8de7efb3e00070c81eb8f529bf29c75889a5ff41 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 14:37:18 +0000 Subject: [PATCH 07/14] completed 1.js --- Sprint-1/2-mandatory-errors/1.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea7..27c81afdc 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; + +// I changed the const to let as const cannot be reassigned to a new value. From 1f388153a0c2a8b2f2582bea2fe1eb64de24044a Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 14:50:18 +0000 Subject: [PATCH 08/14] completed 2.js --- Sprint-1/2-mandatory-errors/2.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831..2e7570e47 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -1,5 +1,7 @@ // 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}`); + +// it showed error as const cannot be declared after console.log. I put the const before the console.log. \ No newline at end of file From 9fcef1a79f09a33bdb313c93b87ef1fbea822ac0 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 15:14:04 +0000 Subject: [PATCH 09/14] completed 3.js --- Sprint-1/2-mandatory-errors/3.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884d..1212fbc46 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,5 +1,7 @@ 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 +9,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 card number is a number whereas .slice only works using a string or arrays. \ No newline at end of file From 5e2f25addf30796942e181afef3db76d833adf09 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 15:21:18 +0000 Subject: [PATCH 10/14] completed 4.js --- 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..f91f26352 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 twelveHourClockTime = "20:53"; +const twentyFourHourClockTime = "08:53"; + +// i changed the variables so that they start with a letter and not a number as it was throwing an error. \ No newline at end of file From f4c8a01d6bf4e4c8a901d39c9550c8594425f0a5 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sat, 21 Feb 2026 15:56:48 +0000 Subject: [PATCH 11/14] completed 1-percentage-change.js --- Sprint-1/3-mandatory-interpret/1-percentage-change.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 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..3a48ec74b 100644 --- a/Sprint-1/3-mandatory-interpret/1-percentage-change.js +++ b/Sprint-1/3-mandatory-interpret/1-percentage-change.js @@ -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 three function calls on lines 4, 5, and 8. // 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. There needs to be a comma after the quotation marks to make it a correct Javascript syntax. // c) Identify all the lines that are variable reassignment statements - +// lines 4 and 5. // d) Identify all the lines that are variable declarations - +// lines 1, 2, 6, and 7. // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? +// it is removing the commas so that it has a numeric value as opposed to a formatted string. This allows for calculations by making the string convertible to numbers. The replaceAll() removes all commas, and the Number() makes the result a numeric value. \ No newline at end of file From 2e083e6b3ea3675c353085ea65e8707abbb15429 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sun, 22 Feb 2026 16:20:15 +0000 Subject: [PATCH 12/14] changed comment --- Sprint-1/1-key-exercises/4-random.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 215757b16..375ce86fa 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -8,6 +8,4 @@ const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; // 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 whole number that is picked randomly picked between 1 and 100. -// Math.floor is rounding down a given number to the nearest integer. -// Math.random returns a random floating number between 0 (inclusive) and 1 (exclusive). \ No newline at end of file +// max 100 - min 1 = 99 + 1 = 100 \ No newline at end of file From 026209ea5e4866a5585d67213cff42350241efd3 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Tue, 24 Feb 2026 11:45:11 +0000 Subject: [PATCH 13/14] Completed 3-mandatory-interpret --- .../3-mandatory-interpret/1-percentage-change.js | 2 +- Sprint-1/3-mandatory-interpret/2-time-format.js | 15 ++++++++------- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 12 +++++++++--- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index 3a48ec74b..319049756 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; diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d239558..fbf4f956a 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -1,5 +1,5 @@ -const movieLength = 8784; // length of movie in seconds - +const movieLength = 44.69; // length of movie in seconds +console.log("movieLength",movieLength) const remainingSeconds = movieLength % 60; const totalMinutes = (movieLength - remainingSeconds) / 60; @@ -12,14 +12,15 @@ 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 // b) How many function calls are there? - +// 1 // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators - +// It represents the amount of seconds left over after converting it into whole minutes. // d) Interpret line 4, what does the expression assigned to totalMinutes mean? - +// It represents the total number of complete minutes in movieLength. // e) What do you think the variable result represents? Can you think of a better name for this variable? - +// It represents the total running time of the movie in hours, minutes, and 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 +// It works for most values except negative values and decimal values. This is because it only expects positive whole number inputs. \ 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 60c9ace69..5de50084a 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -4,17 +4,18 @@ const penceStringWithoutTrailingP = penceString.substring( 0, penceString.length - 1 ); - +console.log("penceStringWithoutTrailingP",penceStringWithoutTrailingP) const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"); +console.log("paddedPenceNumberString",paddedPenceNumberString) const pounds = paddedPenceNumberString.substring( 0, paddedPenceNumberString.length - 2 ); - +console.log("pounds",pounds) const pence = paddedPenceNumberString .substring(paddedPenceNumberString.length - 2) .padEnd(2, "0"); - +console.log("pence",pence) console.log(`£${pounds}.${pence}`); // This program takes a string representing a price in pence @@ -25,3 +26,8 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" +// 3-6. It makes a new string penceStringWithoutTrailingP containing all the characters of penceString except the last one which is the trailing character "P". It uses the substring() method by specifying the start and end indexes. +// 8. It makes a new variable called paddedPenceNumberString, and then stores the result of calling padStart on the previous variable which is penceStringWithoutTrailingP. This adds zeros at the beginning of the string if its less than three characters. +// 10. It makes a new variable called pounds, it takes paddedPenceNumberString and removes the last two characters. So the value of pounds is three. +// 15. It makes a new variable called pence. It takes paddedPenceNumberString and takes the last two characters, if its less than two characters it will pad it with zeros until its two characters. So the result is 99. +// 19. It console logs pounds and pence together as one string with a pound sign. \ No newline at end of file From f80d2fe6212d2933506bbf7d5e4bc6e8b8580da0 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Tue, 24 Feb 2026 11:47:14 +0000 Subject: [PATCH 14/14] completed 4-stretch-explore --- Sprint-1/4-stretch-explore/chrome.md | 3 ++- Sprint-1/4-stretch-explore/objects.md | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feaf..d48738d44 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -11,8 +11,9 @@ In the Chrome console, invoke the function `alert` with an input string of `"Hello world!"`; What effect does calling the `alert` function have? - +// It sends a pop up alert that says Hello world! 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`? +//It prompts the user the to input what I ask them. The return value is the user's name which they enter into the text field. \ No newline at end of file diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56..552b4b688 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -5,12 +5,14 @@ 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? - +// log() { [native code] } i get a function called log. Now enter just `console` in the Console, what output do you get back? - +I get an object called console which holds a bunch of functions. Try also entering `typeof console` - +'object' Answer the following questions: -What does `console` store? +What does `console` store? +It stores functions. What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? +The '.' means let me access the property inside an object. \ No newline at end of file