Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
919f2bc
Hello_World JavaScript file created
MattCarolus10 Sep 13, 2026
f93c281
restore password.js to prep
MattCarolus10 Sep 16, 2026
9f085a5
1-count.js completed
MattCarolus10 Sep 16, 2026
0194cb3
initials.js task completed
MattCarolus10 Sep 17, 2026
6c5a8c8
file path task completed
MattCarolus10 Sep 17, 2026
b1dcb1c
4-random task completed
MattCarolus10 Sep 17, 2026
aed6985
0.js error fixed
MattCarolus10 Sep 17, 2026
dd027fa
add ; to lines
MattCarolus10 Sep 17, 2026
3e2a1d2
add ; to lines
MattCarolus10 Sep 17, 2026
b1660fd
add ; to lines
MattCarolus10 Sep 17, 2026
ed261ff
task 1.js completed
MattCarolus10 Sep 17, 2026
5031f8f
task 2.js completed
MattCarolus10 Sep 17, 2026
ddc8ba6
3.js task completed
MattCarolus10 Sep 17, 2026
8c577d5
task 4.js completed
MattCarolus10 Sep 17, 2026
e44ee66
percentage-change.js task completed
MattCarolus10 Sep 17, 2026
48b94e2
completed task 2-time-format
MattCarolus10 Sep 17, 2026
509ff84
explained task 0.js
MattCarolus10 Sep 18, 2026
f80c15b
task 1.js explained
MattCarolus10 Sep 18, 2026
7d0d970
task 2.js explained
MattCarolus10 Sep 18, 2026
5b4ed9d
task 3.js explained and completed
MattCarolus10 Sep 18, 2026
c41aa67
task 4.js completed and explained
MattCarolus10 Sep 18, 2026
08af9b8
completed and printed task 1-count.js
MattCarolus10 Sep 18, 2026
536761c
task 1-percentage-change explained
MattCarolus10 Sep 18, 2026
276f457
task 2-time-format.js explained and completed
MattCarolus10 Sep 18, 2026
4aa0e25
3-to-pounds
MattCarolus10 Sep 18, 2026
4cc01f5
interpreted task 3-to-pounds.js
MattCarolus10 Sep 18, 2026
0a50eb5
fix: correct console log messages for base and dir parts in 3-paths.js
MattCarolus10 Sep 19, 2026
ae41a8e
fix: update console log for ext part in 3-paths.js
MattCarolus10 Sep 19, 2026
a896a16
task 1-kkey-exercise completed
MattCarolus10 Sep 19, 2026
b5bda05
print file purposes
MattCarolus10 Sep 20, 2026
aedbcb2
created variables for personal information
MattCarolus10 Sep 20, 2026
655c50e
use function and parameters
MattCarolus10 Sep 20, 2026
276400a
practice slice function
MattCarolus10 Sep 20, 2026
c778acb
practice number functions
MattCarolus10 Sep 20, 2026
69717b1
practice substring function
MattCarolus10 Sep 20, 2026
9edf1ff
more substring practice
MattCarolus10 Sep 20, 2026
dba1c5e
padstart function
MattCarolus10 Sep 20, 2026
d8c4077
padEnd practice
MattCarolus10 Sep 20, 2026
90cadba
Math.floor & Math.random practice
MattCarolus10 Sep 20, 2026
903b731
lastIndexOf() function exercise
MattCarolus10 Sep 20, 2026
3be5165
completed
MattCarolus10 Sep 20, 2026
aade124
Math.round task
MattCarolus10 Sep 21, 2026
239699e
Math.round function task
MattCarolus10 Sep 21, 2026
3b45f5d
password checker task
MattCarolus10 Sep 21, 2026
91b22a2
password checker variable scope
MattCarolus10 Sep 21, 2026
5b60bb1
test wrong password
MattCarolus10 Sep 21, 2026
d10542b
return exercise completed
MattCarolus10 Sep 21, 2026
4793a56
output and return exercise completed
MattCarolus10 Sep 21, 2026
51e9adc
parameters arguement function
MattCarolus10 Sep 21, 2026
bc34e0e
1-key-error task completed
MattCarolus10 Sep 22, 2026
79db8a6
task 1.js completed
MattCarolus10 Sep 22, 2026
fb93c79
task 2.js completed
MattCarolus10 Sep 22, 2026
fb14e2c
clear spaces
MattCarolus10 Sep 22, 2026
5839e8d
task mandatory-debug completed
MattCarolus10 Sep 22, 2026
6b32611
task 1.js mandatory error completed
MattCarolus10 Sep 22, 2026
e6d47e5
task 2.js mandatory debug completed
MattCarolus10 Sep 22, 2026
4eb2cc6
BMI task completed
MattCarolus10 Sep 23, 2026
712ef52
Add explanation for getLastDigit function issue and correction
MattCarolus10 Sep 23, 2026
25fdf9b
cases task completed
MattCarolus10 Sep 23, 2026
24751a8
cases task completed
MattCarolus10 Sep 23, 2026
4929bf8
task 3-to-pounds completed
MattCarolus10 Sep 23, 2026
1b7b0d7
task 4 time format completed
MattCarolus10 Sep 23, 2026
e09db2b
testing for bugs
MattCarolus10 Sep 24, 2026
004cb3b
Minutes solved
MattCarolus10 Sep 24, 2026
9224cf2
bug fixed
MattCarolus10 Sep 24, 2026
263727a
format-time.js task completed
MattCarolus10 Sep 24, 2026
ae004f1
task completed
MattCarolus10 Sep 24, 2026
877edfa
Remove prep, password checker and function parameters
MattCarolus10 Sep 24, 2026
af33811
Fix multiplication parameters in console.log output
MattCarolus10 Sep 24, 2026
336821f
Fix variable declaration in upperCase function
MattCarolus10 Sep 24, 2026
e4821c0
Fix variable declaration in calculateBMI function
MattCarolus10 Sep 24, 2026
4556717
Fix console.log output in toPounds function
MattCarolus10 Sep 24, 2026
534fc0c
Fix syntax errors and improve function implementations in various files
MattCarolus10 Sep 24, 2026
9fdc5ce
Fix comments to clarify function behavior in multiply function
MattCarolus10 Sep 24, 2026
bcf8265
Refactor getLastDigit function to accept a parameter and add new pass…
MattCarolus10 Sep 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Sprint-2/1-key-exercises/1-count.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
let count = 0;

count = count + 1;
console.log(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
// Line 3 has been able to reassign the value of the count variable from 0 to 1. The operator = assign the new value to be stored as 1.
7 changes: 2 additions & 5 deletions Sprint-2/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
const firstName = "Creola";
const middleName = "Katherine";
const lastName = "Johnson";
const initials = `${firstName[0]}${middleName[0]}${lastName[0]}`;

// 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.
console.log(initials);

const initials = ``;

// https://www.google.com/search?q=get+first+character+of+string+mdn
8 changes: 6 additions & 2 deletions Sprint-2/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ 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);
console.log(`The dir part of ${filePath} is ${dir}`);

const ext = base.slice(4);
console.log(`The ext part of ${filePath} is ${ext}`);


// https://www.google.com/search?q=slice+mdn
11 changes: 7 additions & 4 deletions Sprint-2/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ const minimum = 1;
const maximum = 100;

const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;
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
// Try logging the value of num and running the program several times to build an idea of what the program is doing

// num variable that carries the result of the expressions evaluated.
// (maximum - minimum) does basic math: 100 - 1 + 1 = 100
// Math.floor() takes out all decimal and make them an integer.
// Math.random() gives random numbers between 0 and 100.
// + minimum add 1 at the end but randomise to the value between 0 and 100
7 changes: 5 additions & 2 deletions Sprint-2/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -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?
// 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?


// This error is a syntaxError because javaScript could not understand the text. The error can be solved by commenting the lines using ("//")
6 changes: 5 additions & 1 deletion Sprint-2/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// 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);

// This code returns a "TypeError: Assignment to constant variable.", because the variable age has been made constant and can't be manipulated.
// To solve the problem, we have to reassign the age variable from "const" to "let", that way it will allow for further manipulation and solve the error.
6 changes: 5 additions & 1 deletion Sprint-2/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// 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}`);


// In this task, the variable was not assigned before attempting to print. Therefore, it gives the error "ReferenceError: Cannot access 'cityOfBirth' before initialization"
// The solution would be to assign the variable "cityOfBirth" first before printing the code.
13 changes: 6 additions & 7 deletions Sprint-2/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
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
// 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?
// Then try updating the expression last4Digits is assigned to, in order to get the correct value
// The variable cardNumber is not a string and the slice() function works with strings or array

// Consider: Why does it give this error?
// It gave that error "TypeError: cardNumber.slice is not a function" brcause the slice() function tool are not applicable to numbers.
8 changes: 6 additions & 2 deletions Sprint-2/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
const 12HourClockTime = "8:53pm";
const 24hourClockTime = "20:53";
const HourClockTime1 = "8:53pm";
const hourClockTime2 = "20:53";
console.log(`${HourClockTime1}, ${hourClockTime2}`)

// The code displayed the error "SyntaxError: Invalid or unexpected token", this is because javaScript does not understand the variable name format.
// This error is solved by renaming the variable name starting it with an alphabet and avoiding starting the variable with a number.
15 changes: 14 additions & 1 deletion Sprint-2/3-mandatory-interpret/1-percentage-change.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -13,10 +13,23 @@ console.log(`The percentage change is ${percentageChange}`);

// a) How many function calls are there in this file? Write down all the lines where a function call is made

// Answer: Line 4 has 2 function call :'Number(), replaceAll()'.
// Line 5 has 2 function call: 'Number(), replaceAll()'.
// Line 10 has 1 function call console.log()
// In total there are 5 function calls.

// 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 error is coming from line 5, spotting at the Number(priceAfterOneYear.replaceAll("," ""));
// It's a "SyntaxError: missing ) after argument list", missing a comma inside the replaceAll.() function.

// c) Identify all the lines that are variable reassignment statements

// Answer: Line 4 and 5 are variable assignment statements

// d) Identify all the lines that are variable declarations

// Answer: Line 1,2,7 and 8 are variable declearations

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?

// Answer: ReplaceAll() function clears out all the commas in the strings, the number() converts the strings to numbers to help with calculation
14 changes: 14 additions & 0 deletions Sprint-2/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,27 @@ console.log(result);

// a) How many variable declarations are there in this program?

// Answer: There is only 6 variable declearation altogether in this program

// b) How many function calls are there?

// Answer: There is only 1 call function in this program console.log()

// 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 % symbol represent the remainder (modulo) operator, it calculates the leftover/remainder after integer division.
// Answer: % 60 divides the movieLength by 60 and returns only the remainder.

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?

// Answer: Line 4 expression helps to eliminate any remainder from the equation, so its left with a clean multiple of 60 to avoid any decimal

// e) What do you think the variable result represents? Can you think of a better name for this variable?

// Answer: It represent the total duration of the movie formatted into hours, minutes and seconds
// Answer: A better name could be "totalMovieDuration"

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer

// Answer: It will work for integer values and will give us clear and clean result using this code. However, the result would not be clean as this using float values
32 changes: 32 additions & 0 deletions Sprint-2/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,35 @@ console.log(`£${pounds}.${pence}`);

// To begin, we can start with
// 1. const penceString = "399p": initialises a string variable with the value "399p"

// Answers: In line 1, a variable "penceString" was created holding the value "399p"

// In line 3-6, Another variable "penceStringWithoutTrailingP" was created to remove the trainling "p".
// That is, taking off the "p" in '399p' leaving it at just "399".

// Also, line 3-6 used the function substring(0, penceString.lrength - 1) to cut out the "p" in the "penceString" variable.
// By starting count fron 0 (beginnning) of "399p".
// "Using penceString.lenght - 1" to check the length of the value in the variable penceString = "399p" (4),
// And deducting 1 from the value (4 - 1), because length - 1 subtract 1 from the character/value count 4. leaving the value at "399"

// Line 8 a variable "paddedPenceNumberString" was created and a function padStart(3, "0")
// was used to ensure the value of the variable remains at 3 and to be filled with "0" at the beginning if the value is less 3

// Line 9-12 created a variable "pounds" and used the subString(0, paddedPenceNumberString.length - 2 )
// to start count from 0 of the "penceStringWithoutTrailingP" value which is 399.
// It further removed the last two number in the value by checking the length of the value with "paddedPenceNumberString.length"
// And subtracting 2 (3 - 2), because length - 2 subtract 2 from the character/value count. Cutting out 99 and leaving the value to remain 3.

// Line 14-16 created a variable "pence", using the subString(paddedPenceNumberString.length - 2)
// to check the length of the value of the variable "paddedPenceNumberString" which remain 399 from line 8
// The "substring(paddedPenceNumberString.length - 2)" function deducts 3 leaving the last two numbers 99
// PadEnd(2, "0") ensure the value remains 2 and 0 to be added to value less than 2.
// However, we already have in our "pence" variable at a value of 2 numbers "99"

// Line 18 printed our codes a formatted style adding the pound sign "£"






Empty file added Sprint-2/Prep/Hello_World.js
Empty file.
2 changes: 2 additions & 0 deletions Sprint-2/Prep/facts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
console.log("One fact i love about git is that it allows people to collaborate on projects");

66 changes: 66 additions & 0 deletions Sprint-2/Prep/functions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
console.log("In this exercise I will be learning different functions, and preactising them. ");

let userName = "Matthew";
let location = "Manchester";
let favoriteFood = "Jollof rice";

function myInfo(userName, location, favoriteFood) {
console.log(`My name is ${userName}` )
console.log(`I live in ${location}` )
console.log(`My favorite food is ${favoriteFood}` )
};
myInfo(userName, location, favoriteFood);

sliceUserName = userName.slice(0, 4);
console.log(`My friends love to call me ${sliceUserName}`);

sliceLocation = location.lastIndexOf("h");
console.log(sliceLocation);

const number1 = "50";
const number2 = "100";
const result = Number(number1) + Number(number2);
console.log(result);

let hobby = "I love football and traveling";
let moreHobby = hobby.replaceAll("football", "swiming").replaceAll("traveling", "hiking");
console.log(moreHobby);

const passion = hobby.substring(6, 15);
console.log(passion);

const luckyNumber = "7";
const changeNumber = luckyNumber.padStart(5, "0");
console.log(changeNumber);

const anotherNumber = luckyNumber.padEnd(5, "0");
console.log(anotherNumber);

const carPrice = 30000.50;
const updatedCarPrice = Math.floor(carPrice);
console.log(updatedCarPrice);

const addNumber = 20;
const addNumber2 = 30;
const addNumber3 = addNumber + addNumber2;
const addNumberResult = Math.random() * addNumber3
console.log(addNumberResult);

const repeatedText = "one, two, three";
const lastOnePosition = repeatedText.lastIndexOf("one");
console.log(lastOnePosition);

// const yourName = prompt("Please enter your name: ");
// const yourLocation = prompt("Please enter your location: ");
// const yourHobby = prompt("Enter your hobby: ");
// const yourFavoriteFood = prompt("Please enter your favorite food: ")

// function userInfo(yourName, yourLocation, yourHobby, yourFavoriteFood) {
// console.log(`Your name is ${yourName}`)
// console.log(`You live in ${yourLocation}`)
// console.log(`Your hobby is ${yourHobby}`)
// console.log(`Your favorite food is ${yourFavoriteFood}`)
// }

// userInfo(yourName, yourLocation, yourHobby, yourFavoriteFood)
// Chrome devOps prompt function, variable and parameters
34 changes: 34 additions & 0 deletions Sprint-2/Prep/greeting.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
const greeting = "Hello There !";
console.log(greeting);

const name = "Matt";
console.log(`${greeting}, I am ${name}`);

let location = "Manchester";
console.log(`${greeting}, my name is ${name} and i live in ${location} `);

let location2 = "London";
console.log(`${greeting}, I am ${name}, I will be traveling to ${location2} soon`);

console.log("Dog" === "Mango");

console.log(5 + 15 === 20);

console.log("dog" == "dog");

console.log(40+5 == "45");

console.log(60+40 > 50);

console.log(100<= 90);











16 changes: 16 additions & 0 deletions Sprint-2/Prep/password.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const password = "Matt123";
const userInput = "Anything";
const administrator = "Anything";
let response = " ";

if (password === userInput) {
response = "Login successful";
} else if (userInput === administrator) {
response = "Welcome to the site";
}
else {
response = "Please try again";
}
console.log(response);


22 changes: 16 additions & 6 deletions Sprint-3/1-key-errors/0.js

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello! Fantastic job analyzing the error message. You correctly spotted that using let str = ... was trying to re-declare the parameter, causing that SyntaxError. Great problem-solving!

Your solution using str2 works and successfully capitalizes the word. I just have a couple of questions to help us think about code cleanliness:

Look closely at your function body. Since you are already creating the transformed string inside the template literal, could you put the return keyword right in front of it?

If you do that, do you actually need to declare str2 at all?

You are doing amazing. Let me know what you think! 😊

Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
// Predict and explain first...
// =============> write your prediction here
// ======> write your prediction here: I predict that the code should cut out, and make the first letter of the string an uppercase letter,
// then add every letters that comes after

// call the function capitalise with a string input
// interpret the error message and figure out why an error is occurring

function capitalise(str) {
let str = `${str[0].toUpperCase()}${str.slice(1)}`;
return str;
}
// function capitalise(str) {
// let str= `${str[0].toUpperCase()}${str.slice(1)}`
// return str;
// }


// =============> write your explanation here: The error read "SyntaxError: Identifier 'str' has already been declared",
// this is as a result of having two variables with same name. The error occoured in this code because the variable "str" has been decleared twice

// =============> write your explanation here
// =============> write your new code here

function capitalise(str) {
let str2= `${str[0].toUpperCase()}${str.slice(1)}`
return str2;
}
console.log(capitalise("money"))
Loading
Loading