Skip to content
2 changes: 2 additions & 0 deletions Sprint-1/1-key-exercises/1-count.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ 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
// The = operator is used to assign the new count variable as the original count + 1.
// testing commit
2 changes: 1 addition & 1 deletion Sprint-1/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.slice(0, 1)+middleName.slice(0, 1)+lastName.slice(0, 1);

// https://www.google.com/search?q=get+first+character+of+string+mdn

7 changes: 5 additions & 2 deletions Sprint-1/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,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 = filePath.slice(0, lastSlashIndex);
const ext = base.slice(base.lastIndexOf("."));

console.log(`The dir part of ${filePath} is ${dir}`)
console.log(`The ext part of ${filePath} is ${ext}`)

const dir = ;
const ext = ;

// https://www.google.com/search?q=slice+mdn
16 changes: 14 additions & 2 deletions Sprint-1/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
const minimum = 1;
// A program to generate a random number between 1 and 100
const maximum = 100;

const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;
const num = Math.floor(Math.random() * (maximum)) + 1;

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

console.log(num);

//Math.random generates a decimal number between 0 and 1
//multiplying (maximum - minimum + 1) this part generates a number between 0 and 100 that can still have decimal places.
/// but since minimum in this example is 1 it can be simplified from (maximum -1 +1) ==>(maximum)
//Math.floor rounds down to the nearest whole number
//+ minimum shifts the range from 0-99 to 1-100
//so the final output is a whole number between 1 and 100, this could also be simplified to +1
//obviously the function was more useful for different ranges when using the minimum expression
/// without my simplification, but it is more concise for this specific example.

5 changes: 3 additions & 2 deletions Sprint-1/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
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?
//ADD A COMMENT SYMBOL AT THE START OF EACH LINE (WHICH IS // IN JAVASCRIPT)
3 changes: 2 additions & 1 deletion Sprint-1/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
@@ -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;
//age is a constant variable so cannot be reassigned, can use let instead of const to fix this error
6 changes: 4 additions & 2 deletions Sprint-1/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -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}`);

//ReferenceError: Cannot access 'cityOfBirth' before initialization
// because line 5 should be in front of line 4
7 changes: 6 additions & 1 deletion Sprint-1/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
const cardNumber = 4533787178994213;
const last4Digits = cardNumber.slice(-4);
const last4Digits = String(cardNumber).slice(-4);

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

// i think the error will be that the slice method works for strings not numbers
//this code gives TypeError: cardNumber.slice is not a function, this is probably because of the issue i predicted
//but I don't know for sure base on the error code
//i will change the cardnumber into a string using String() in the last4Digits expression
7 changes: 5 additions & 2 deletions Sprint-1/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
const 12HourClockTime = "20:53";
const 24hourClockTime = "08:53";
const twelveHourClockTime = "20:53";
const twentyfourhourClockTime = "08:53";

// there is an error because the expression 12HourClockTime is not a correct syntax,
// variable names cannot start with a number like that, i will change 12 => twelve 24 => twenty four
8 changes: 7 additions & 1 deletion Sprint-1/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 @@ -12,11 +12,17 @@ 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
// lines 4,5 replaceAll() function is called , and then Number() function is called, and then console.log once on line 10
// so total 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?
// error is in line 5, because of a missing , in replaceAll("," ""), which I will add to fix the problem.

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

// d) Identify all the lines that are variable declarations
//lines 1 and 2, as well as 7 and 8 are variable declarations

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
//.replaceAll() is removing the , in carPrice and Number() is turning it from a string into a number
8 changes: 7 additions & 1 deletion Sprint-1/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const movieLength = 8784; // length of movie in seconds
const movieLength = "0"; // length of movie in seconds

const remainingSeconds = movieLength % 60;
const totalMinutes = (movieLength - remainingSeconds) / 60;
Expand All @@ -12,14 +12,20 @@ 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?
//only 1 function call: 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
//it gives you the remainder when movieLength is divided by 60

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?
//it means it will take the movieLength in seconds, subtract remainingSeconds, and divide the answer by 60 to give the totalMinutes

// e) What do you think the variable result represents? Can you think of a better name for this variable?
//it is the length of time the movie has been running, remainingLength would be a better name

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer
//tried really big, small, and multiples of 60 and found no issue
10 changes: 10 additions & 0 deletions Sprint-1/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,13 @@ console.log(`£${pounds}.${pence}`);

// To begin, we can start with
// 1. const penceString = "399p": initialises a string variable with the value "399p"
// 3-6. initializes a constant string variable penceStringWithoutTrailingP which is penceString with the p removed from the end of the string
// to give a plain number string
// 8. initializes a constant string variable paddedPenceNumberString, which pads "0"s at the start
// of penceStringWithoutTrailingP until it has length=3 the next parts don't delete any numbers accidentally
// 9-12. initializes a constant string variable pounds, which is the paddedPenceNumberString, with the last two digits
// subtracted(i.e. the pence value in the string)
// 14-16. initializes a constant string variable pence, which is the last two digits of paddedPenceNumberString,
// with "0" pads at the front of the string until it has length=2
// 18.calls the console.log function to display the pound-sign and then penceString converted into a pound-value
//