From 7f49f8b0bb2f241a9e5ad81915243c7878e0d8de Mon Sep 17 00:00:00 2001 From: Enice-Codes Date: Sat, 20 Jun 2026 16:21:15 +0200 Subject: [PATCH 1/3] completed sprint key excercises --- Sprint-1/1-key-exercises/1-count.js | 7 ++++++- Sprint-1/1-key-exercises/2-initials.js | 3 +-- Sprint-1/1-key-exercises/3-paths.js | 10 ++++++---- Sprint-1/1-key-exercises/4-random.js | 6 ++++++ 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6e..86defad3bc 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -2,5 +2,10 @@ let count = 0; count = count + 1; -// Line 1 is a variable declaration, creating the count variable with an initial value of 0 +// Line 3 reassigns the value of count. +// The expression on the right side (count + 1) is evaluated first using the current value of count. +// The = assignment operator then stores the result back into the count variable, replacing its previous value. + + +// Line 1 is a variablbe 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 47561f6175..9f5dbcc823 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[0]}${middleName[0]}${lastName[0]}`; // 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..828e02e36a 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -1,6 +1,5 @@ // The diagram below shows the different names for parts of a file path on a Unix operating system -// ┌─────────────────────┬────────────┐ // │ dir │ base │ // ├──────┬ ├──────┬─────┤ // │ root │ │ name │ ext │ @@ -17,7 +16,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 +// https://www.google.com/search?q=slice+mdn + +// dir = everything before the last / +// ext = everything from the last . to the end of the string (.txt)ssss \ 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..8e35f3111d 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -5,5 +5,11 @@ 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 + +//num is a random number between 1 and 100 + +// Method.floor generates a random number between 0 and 1 to nearest interger (whole number) +//Math.random generates a decimal number between 0 and 1 . + // 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 From 49f8a231804fd3a82948a53b264edecc50dfd0a2 Mon Sep 17 00:00:00 2001 From: Enice-Codes Date: Tue, 23 Jun 2026 00:15:40 +0200 Subject: [PATCH 2/3] completed all three excerises in this sprint --- Module-Structuring-and-Testing-Data | 1 + Sprint-1/1-key-exercises/4-random.js | 1 + Sprint-1/2-mandatory-errors/0.js | 7 ++++++- Sprint-1/2-mandatory-errors/1.js | 3 ++- Sprint-1/2-mandatory-errors/2.js | 5 ++++- Sprint-1/2-mandatory-errors/3.js | 14 +++++++++++++- Sprint-1/2-mandatory-errors/4.js | 7 +++++-- .../3-mandatory-interpret/1-percentage-change.js | 10 +++++++++- Sprint-1/3-mandatory-interpret/2-time-format.js | 13 ++++++++++--- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 8 +++++++- Sprint-1/4-stretch-explore/chrome.md | 3 +++ Sprint-1/4-stretch-explore/objects.md | 6 ++++++ app.js | 0 13 files changed, 67 insertions(+), 11 deletions(-) create mode 160000 Module-Structuring-and-Testing-Data create mode 100644 app.js diff --git a/Module-Structuring-and-Testing-Data b/Module-Structuring-and-Testing-Data new file mode 160000 index 0000000000..b31a586bf2 --- /dev/null +++ b/Module-Structuring-and-Testing-Data @@ -0,0 +1 @@ +Subproject commit b31a586bf20de09330f37bcf5d708e5ecd67f45b diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 8e35f3111d..3a15573ac3 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -13,3 +13,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 +console.log(num); diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f7..16af8ac050 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,7 @@ 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 +We don't want the computer to run these 2 lines - how can we solve this problem? + +// we can use //to comment out the lines of code we don't want to run. + +//his 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 diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea76..e57b2e9791 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..81ef7e105c 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 error is that the variable cityOfBirth is being use in the console.log statement before it is declared with let or const unlike var. + \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884db..23c35ead38 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,6 +1,18 @@ const cardNumber = 4533787178994213; -const last4Digits = cardNumber.slice(-4); +const last4Digits = String(cardNumber).slice(-4); + + +console.log(last4Digits); // "4213" + + +let prediction = " because of the lack of slice method available for numbers,I predict that the code will throw an error. the cardNumber variable is a number, and slice is a method that can only be used on strings or arrays."; + slice is a method that can only be used on strings or arrays." + + //.slice () works on arrays and strings + + // i ran the code the error i got was excatly as predicted. + // The last4Digits variable should store the last 4 digits of cardNumber // However, the code isn't working // Before running the code, make and explain a prediction about why the code won't work diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 5f86c730bc..a06cee9910 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,5 @@ -const 12HourClockTime = "8:53pm"; -const 24hourClockTime = "20:53"; +const twelveHourClockTime = "8:53pm"; + // the code having an error because the variable is not named correctly,has to be twelvehourclocktime instead of 12hourclocktime. +const twentyFourHourClockTime = "20:53"; +// the code having an error because the variable is not named correctly,has to be twentyfourhourclocktime insted of 24hourclocktime. + diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e18..975b69b60e 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 +//one function call in line 4 ,5 // 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 seem to be no error when running the code. // c) Identify all the lines that are variable reassignment statements +// line 4 and 5 // d) Identify all the lines that are variable declarations +// 1,2,7,8 // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? + +// The expression `Number(carPrice.replaceAll(",", ""))` is performs two operations. it uses the `replaceAll` method to remove all commas from the string `carPrice`, effectively converting it from a formatted string o a plain number string. +//Then, it converts that resulting string into a number using the `Number()` function. +//The purpose of this expression is to convert a formatted price string into a numerical value that can be used for calculations. \ 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..360ba2f124 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -7,19 +7,26 @@ const remainingMinutes = totalMinutes % 60; const totalHours = (totalMinutes - remainingMinutes) / 60; const result = `${totalHours}:${remainingMinutes}:${remainingSeconds}`; -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 variables in total: movieLength, remainingSeconds, totalMinutes, remainingMinutes, totalHours, result // b) How many function calls are there? +// there are 3 function calls in line 4,7 and 9 // c) Using documentation, explain what the expression movieLength % 60 represents // 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? - +// it means that the movie hour is being calculated. totalminutes minus remainingseconds divided by 60. // e) What do you think the variable result represents? Can you think of a better name for this variable? - +// the variable result represents the total length of the movie in hours and minutes. +//Better name is MOvieTime. // 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 because it is using the modulus operator to calculate the remaining seconds and is using division to calculate the total hours. +// The code will correctly handle any length of movie in seconds and convert it to the appropriate format. + diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69a..ee8058199e 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": // the "399p"represents the amount in pence. +// initializes a string variable with the value "399p" +// 2. const penceStringWithoutTrailingP = penceString.substring(0, penceString.length - 1): // the trailing 'p'has been removed from the string to isolate the numeric value. +// 3. const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"): // ensures that the numeric value has at least three digits by padding with leading zeros . +// 4. const pounds = paddedPenceNumberString.substring(0, paddedPenceNumberString.length - 2): // extracts the pounds portion of the string by taking all but the last two characters. +// 5. const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0"): // extracts the pence portion of the string by taking the last two characters and ensures it has two digits by padding with trailing zeros . +// 6. console.log(`£${pounds}.${pence}`): // outputs the final formatted price in pounds and pence to the console, prefixed with the pound symbol (£). diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feafe..d24b0810bd 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -11,8 +11,11 @@ In the Chrome console, invoke the function `alert` with an input string of `"Hello world!"`; What effect does calling the `alert` function have? +the browser stops running javascript at that point and awaits you to click the OK popup. 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? +`prompt`() gives back the value depending on what the user does. What is the return value of `prompt`? +`prompt` returns a string containing what they typed.if they dint type anything it returns empty ("") and if they cancelled it returns null. diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56a..c7077dffa0 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -5,12 +5,18 @@ 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? +f log () {[native code]} Now enter just `console` in the Console, what output do you get back? +console { log: f, erro: f, warn: f,...} Try also entering `typeof console` Answer the following questions: What does `console` store? +console stores an object provided by the browser that contains logging tools. What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? + +dot operator means acessing somthing inside an object. +console is an object while log is a function inside that object diff --git a/app.js b/app.js new file mode 100644 index 0000000000..e69de29bb2 From de0d8144263fa26191d5d29d1c92193bbd2559c3 Mon Sep 17 00:00:00 2001 From: Enice-Codes Date: Fri, 26 Jun 2026 00:27:57 +0200 Subject: [PATCH 3/3] completed key errors excercise 2 --- Sprint-2/1-key-errors/2.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Sprint-2/1-key-errors/2.js b/Sprint-2/1-key-errors/2.js index aad57f7cfe..f20543fb4f 100644 --- a/Sprint-2/1-key-errors/2.js +++ b/Sprint-2/1-key-errors/2.js @@ -1,20 +1,27 @@ // Predict and explain first BEFORE you run any code... +// i predict that the code will fail because js expects a variable name ,not a number and 3 is a number. // this function should square any number but instead we're going to get an error // =============> write your prediction of the error here +// Uncaught SyntaxError: Unexpected number function square(3) { return num * num; } // =============> write the error message here +//Uncaught SyntaxError: Unexpected number // =============> explain this error message here +// function parameters must be identifiers (variable names) such num ,x numbers can not be used like variable names +// and so the engine will be unable to read the code and cause synx errorS -// Finally, correct the code to fix the problem +// Finall correct the code to fix the problem // =============> write your new code here - +function square (num){ + return num*null; +}