From 522d1bd35f2fc9bacc626f1140bef164813412f6 Mon Sep 17 00:00:00 2001 From: Ayodeji Ayorinde Date: Mon, 2 Mar 2026 13:39:16 +0000 Subject: [PATCH] Completion of Sprint 1 Coursework --- Sprint-1/1-key-exercises/1-count.js | 1 + Sprint-1/1-key-exercises/2-initials.js | 2 ++ Sprint-1/1-key-exercises/3-paths.js | 7 +++++-- Sprint-1/2-mandatory-errors/0.js | 7 +++++-- Sprint-1/2-mandatory-errors/1.js | 7 +++++++ Sprint-1/2-mandatory-errors/2.js | 8 ++++++++ Sprint-1/2-mandatory-errors/3.js | 8 ++++++++ Sprint-1/2-mandatory-errors/4.js | 11 ++++++++++- .../3-mandatory-interpret/1-percentage-change.js | 9 +++++---- Sprint-1/3-mandatory-interpret/2-time-format.js | 11 ++++++----- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 9 +++++++++ Sprint-1/4-stretch-explore/chrome.md | 7 +++++++ Sprint-1/4-stretch-explore/objects.md | 12 +++++++++--- 13 files changed, 82 insertions(+), 17 deletions(-) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6..19f2fe950 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -4,3 +4,4 @@ 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 values of count which is 0 and reassing the new value (1+0 =1) to count diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f617..c992d4d58 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -6,6 +6,8 @@ let lastName = "Johnson"; // 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 = ``; +initials = firstName.substring(0, 1) + middleName.substring(0, 1) + lastName.substring(0, 1) +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 ab90ebb28..216e4fbdf 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.substring(0, 44); +console.log(`The dir part of the filePath variable is ${dir}`); +const lastDotIndex = filePath.lastIndexOf("."); +const ext = filePath.slice(lastDotIndex + 1); +console.log(`The ext of ${filePath} is ${ext}`); // https://www.google.com/search?q=slice+mdn \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f..fd81664bc 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,5 @@ -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? + +//ANSWER: +//We change the two lines to comments by using double forward slash (//) at the beginning of the two lines. diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea7..117eac0f1 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -2,3 +2,10 @@ const age = 33; age = age + 1; + +// ANSWER +// In the solution above, 'age' is a constant variable becuse the keyword 'const' was used with it hence the value cannot change. + +// Solution: +let age = 33; +let age = age + 1; \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831..53408c61c 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -3,3 +3,11 @@ console.log(`I was born in ${cityOfBirth}`); const cityOfBirth = "Bolton"; + +//ANSWER: +// The 'cityOfBirth' was not assigned before the console.log statement +// Solution will be to switch the lines as shown below: + + +const cityOfBirth = "Bolton"; +console.log(`I was born in ${cityOfBirth}`); \ 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 ec101884d..a2e630b4e 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -7,3 +7,11 @@ 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 + +//Predcition: slice() probably only work on string. Possible solution will be to put cardNumber in quotes or use String() +// Why does it give this error? It says 'cardNumber.slice is not a function' +// Is this what I predicted? No +// If not, what's different? Since cardNumber is numeric, it shoulf be changed to string fot slice() to work. + +const cardNumber = "4533787178994213"; +const last4Digits = cardNumber.slice(-4); diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 21dad8c5d..ea2dc8924 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,11 @@ const 12HourClockTime = "20:53"; -const 24hourClockTime = "08:53"; \ No newline at end of file +const 24hourClockTime = "08:53"; + +//In naming variable, numbers are not allowed to preceed variable names. + +// Error message: An identifier or keyword cannot immediately follow a numeric literal. + +// SUggested Solutions: + +const ClockTime12Hour = "20:53"; +const ClockTime24hour = "08:53"; \ 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 e24ecb8e1..74833464f 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 - +//ANSWER: Four function calls. Two function calls in line 4 & two function calls in line 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? - +//ANSWER: The comma in the replaceAll() function in Line 5 is missing. Put the comma back in to fix it. // c) Identify all the lines that are variable reassignment statements - +//ANSWER: Lines that are variable reassignment statements are Lines 4 & 5. // d) Identify all the lines that are variable declarations - +//ANSWER: Variable declarations line: 1,2,7,& 8 // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? +//ANSWER: The expression first removes the comma(,) in carPrice and then converts it to a number. \ 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 47d239558..214b3e5ef 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -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? - +//ANSWER: There were six variable declarations // b) How many function calls are there? - +//ANSWER: There were no function calls except for the log() function // c) Using documentation, explain what the expression movieLength % 60 represents // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators - +//ANSWER: The remainder (%) operator returns the remainder left over when one operand is divided by a second operand. It always takes the sign of the dividend. // d) Interpret line 4, what does the expression assigned to totalMinutes mean? - +//ANSWER: Line 4 with find the remainder whenmovieLength is divided by 60 and assigns the remainder to remainingSeconds (24) // e) What do you think the variable result represents? Can you think of a better name for this variable? - +//ANSWER: The variable result represents the total lenth of the movie which shows the total hours, minutes and seconds remain in string format. // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer +//ANSWER: The code semed to work for all values of movieLength. \ 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..2d6553c31 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -25,3 +25,12 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" +// 2. Lines 3 to 6: extracts "399" as a string and assigns the values to penceStringWithoutTrailingP. +// It uses the substring to extract from position 0 to 3. +// 3. Line 8: padStart is used to pad the values in penceStringWithoutTrailingP with "0" from the start of the value to make up a length of 3. +// Since penceStringWithoutTrailingP already has "399" with a length of 3, no padding is done. +// 4. Line 9 to 12: substring is used to extract from paddedPenceNumberString, starting from position 0 to 1 giving 3 which is stored in the variable pounds. +// 5. Line 14 to 16: substring is used to extract from paddedPenceNumberString, starting from position 1 to the end givin "99" +// "99" is padded with "0" from the end of the value to make a length of 2 but sincw "99" already has a length of 2, no padding is done. +// "99" is assigned to the variable pence. +// 6. Line 18: uses console.log() to print the values of pounds and pence preceeded by "£" and separated by "." to give "£3.99" diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feaf..bddd08b8a 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -11,8 +11,15 @@ In the Chrome console, invoke the function `alert` with an input string of `"Hello world!"`; What effect does calling the `alert` function have? +## Got "chrome://new-tab-page says" popup +## 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? +## Got "chrome://new-tab-page says" popup +## Got "What is your name?" +## Got a box for input What is the return value of `prompt`? +## promt: ƒ prompt() { [native code] } +## myName: Ayo diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56..62c3a9e41 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -4,13 +4,19 @@ 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? +## ƒ log() { [native code] } Now enter just `console` in the Console, what output do you get back? - +## console {debug: ƒ, error: ƒ, info: ƒ, log: ƒ, warn: ƒ, …} Try also entering `typeof console` - +## 'object' Answer the following questions: What does `console` store? +## Objects +## console {debug: ƒ, error: ƒ, info: ƒ, log: ƒ, warn: ƒ, …} What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? +## console.log - Prints the text to the Console as a log message +## console.assert() writes an error message to the console if the assertion is false +## The dot(.) allows the access of the log method inside the console object \ No newline at end of file