Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 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
973eda4
random.js task fixed
MattCarolus10 Sep 25, 2026
e29ee81
variable names changed
MattCarolus10 Sep 25, 2026
a675566
number() fixed
MattCarolus10 Sep 25, 2026
9cbdc83
rephrased comments
MattCarolus10 Sep 25, 2026
a6c7eb1
restore Sprint-3 to upstream
MattCarolus10 Sep 25, 2026
ca8e18f
remove untracked Sprint-3 files
MattCarolus10 Sep 25, 2026
3c63ee6
path exercises fixed
MattCarolus10 Sep 25, 2026
a5df0de
comment rephrased on 3-to-pounds
MattCarolus10 Sep 25, 2026
31c3d98
correct spelling
MattCarolus10 Sep 25, 2026
f214a57
pad time output to 2 digits
MattCarolus10 Sep 25, 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
9 changes: 7 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,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 dir = ;
const ext = ;
const dir = filePath.slice(0, lastSlashIndex);
console.log(`The dir part of ${filePath} is ${dir}`);

const lastDotIndex = base.lastIndexOf(".");
const ext = base.slice(lastDotIndex + 1);
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 carries the result/value of the expressions evaluated.
// (maximum - minimum) workout the size of the range: 100 - 1 + 1 = 100
// Math.floor() takes out all decimal and make them a whole number from 0 to 99.
// Math.random() gives a decimal from 0 up to just under 1 (0.9999999).
// + minimum add 1 to the expression at the end because it is decleared a variable.
Comment on lines +8 to +12

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The revised explanation looks much better now. Just a few minor issues to fix further:

  • Math.random() inside the (... * ...) would be evaluated before Math.floor() outside of it. So it would be better to swap lines 10 and 11 in your explanation.
  • + minimum at the end is not because of "it is declared a variable". This final part has its own purpose in this program. Can you think of the purpose of adding minimum at the end?

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" because 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 time12Hours = "8:53pm";
const time24Hours = "20:53";
console.log(`${time12Hours}, ${time24Hours}`)

// 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
18 changes: 16 additions & 2 deletions Sprint-2/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,39 @@
const movieLength = 8784; // length of movie in seconds
const movieLength = 3661; // length of movie in seconds

const remainingSeconds = movieLength % 60;
const totalMinutes = (movieLength - remainingSeconds) / 60;

const remainingMinutes = totalMinutes % 60;
const totalHours = (totalMinutes - remainingMinutes) / 60;

const result = `${totalHours}:${remainingMinutes}:${remainingSeconds}`;
const result = `${String(totalHours).padStart(2, "0")}:${String(remainingMinutes).padStart(2, "0")}:${String(remainingSeconds).padStart(2, "0")}`;
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 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

One more situation that make this program won't work well even an integer value is provided. Can you think of it?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I will check and make research to see

30 changes: 30 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,33 @@ 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"

// 3-6. substring(0, penceString.length - 1):
// the first argument is the start index, so 0 means the first character
// penceString.length is 4 because there are 4 characters, at indexes 0 to 3
// the second argument is the end index and it is exclusive, it stops just before that position
// length - 1 is 3, so it stops before index 3, dropping the "p" and leaving "399"

// 8. padStart(3, "0") pads the start until the string is at least 3 characters long
// "399" is already 3, so nothing gets added here

// 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);


Loading