Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
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
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

// Line 3 is an assignment where = is an assignment operator and in there we are adding value of 1 to the count variable
4 changes: 2 additions & 2 deletions Sprint-1/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ 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 = ``;
console.log(`the initials is ${firstName.charAt(0)}, ${middleName.charAt(0), lastName.charAt(0)}`);

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

// https://www.google.com/search?q=get+first+character+of+string+mdn
9 changes: 5 additions & 4 deletions Sprint-1/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ const base = filePath.slice(lastSlashIndex + 1);
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
// Create a variable to store the ext part of the variable

const dir = ;
const ext = ;
const dir = filePath.slice(0, lastSlashIndex);
const ext = filePath.slice(filePath.lastIndexOf("."));

// https://www.google.com/search?q=slice+mdn

// https://www.google.com/search?q=slice+mdn
7 changes: 7 additions & 0 deletions Sprint-1/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@ const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;
// 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

// math.floor will make the number as a whole and remove any decimals or more likely to round the the nearest whole number
// math.random will generate a random number from 0 to 1 but not 1
// (maximum - minimum + 1) provide a range of generated random number
// num is a random whole number between 1 and 100

console.log(num);
4 changes: 2 additions & 2 deletions Sprint-1/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
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?
2 changes: 1 addition & 1 deletion Sprint-1/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// trying to create an age variable and then reassign the value by 1

const age = 33;
let age = 33;
age = age + 1;
5 changes: 4 additions & 1 deletion Sprint-1/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -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}`);
//const cityOfBirth = "Bolton";

// the error is that cityOfBirth varaible declared after the logging command
5 changes: 4 additions & 1 deletion Sprint-1/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
const cardNumber = 4533787178994213;
const last4Digits = cardNumber.slice(-4);
//const last4Digits = 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 predicted the last four digits bit it has to be a string in order to use the method slice and that explain why it wasn't working
const last4Digits = cardNumber.toString.slice(-4);
4 changes: 2 additions & 2 deletions Sprint-1/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
const 12HourClockTime = "20:53";
const 24hourClockTime = "08:53";
const twelveHourClockTime = "20:53";
const twentyFourHourClockTime = "08:53";
18 changes: 17 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,27 @@ 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
//1-carPrice.replaceAll(",", "") in line 4
//3-number(...) in line 4 - enumerate the first result of replaceAll
//2-priceAfterOneYear.replaceAll("," ,"")) in line 5
//4-number(...) in line 5 - enumerate the second result of replaceAll
//5-console.log(..) - line 9


// 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?
// the error is : a syntax error coming from the missing comma in line 5 between the arguments



// c) Identify all the lines that are variable reassignment statements
// const priceDifference = carPrice - priceAfterOneYear; Line 7
// const percentageChange = (priceDifference / carPrice) * 100; Line 8

// d) Identify all the lines that are variable declarations
// carPrice = Number(carPrice.replaceAll(",", "")); Line 4
// priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", "")); Line 5

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
// the number function convert the enumerate a string to a number and the method replaceAll replace ever comma with a space
// the purpose is to clean the value so that it can be converted to a proper number using Number().

18 changes: 17 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,5 @@
const movieLength = 8784; // length of movie in seconds

const movieLength = -8789; // length of movie in seconds

const remainingSeconds = movieLength % 60;
const totalMinutes = (movieLength - remainingSeconds) / 60;
Expand All @@ -12,14 +13,29 @@ 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?
// There are 5 variable declarations

// b) How many function calls are there?
// There are 4 function calls in line 9 and 10

// c) Using documentation, explain what the expression movieLength % 60 represents
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
// % is a modulo operator that return the remainder of a multiplied number

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?
// movieLength subtract the left over seconds from the total seconds(movieLength) to get a number that is divisible by 60
// when dividing by 60 would convert the remaining seconds into whole minutes which ensures there is no decimal in totalMinutes


// e) What do you think the variable result represents? Can you think of a better name for this variable?
// results present length of movie formatted as Hours:Minutes:Seconds and a better name could be movieDuration


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

// whole positive value: for the 8789 seconds the formatted duration would be fine 2:26:29 and the code would be working as expected
// under 60 seconds: 59 seconds would assign the hours and minutes both as 0s resulting 0:0:59 instead of the normal formatted way 00:00:59 but still correct
// zero value: the formatted duration would also be correct 0:0:0 even though it is an unusual value it still show that it can handle it
// Negative value: for the -8789 seconds would give us an output of -2:-26:-29 which is not a valid format and doesn't make any sense
// the logic breaks where we need to give the user a message to enter a valid number
//
18 changes: 18 additions & 0 deletions Sprint-1/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,23 @@ console.log(`£${pounds}.${pence}`);
// You need to do a step-by-step breakdown of each line in this program
// 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"

// 2. const penceStringWithoutTrailingP = penceString.substring(0,penceString.length - 1); reassigned a new value
// using the method substring starting form the index 0 ="3" and ending with -1 exclusively meaning doesn't include 'p'
// resulting with a numeric part of the price which is '399'

//3.const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");
// ensure the number in a 3 digits format by adding zeros minding the consistency of the formatting.

//4.const pounds = paddedPenceNumberString.substring(0,paddedPenceNumberString.length - 2);
//extracts everything except the last two number to form the pound portion of the price

//5.const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0");
//extracts the last two digits to form the pence portion of the price and the padEnd method ensure the number in a two digits format consistent

//6.console.log(`£${pounds}.${pence}`);
//Combines everything into the final formatted price string. Result: £3.99
//basically the program will take the string "399p" and print out a string of "£3.99"
5 changes: 4 additions & 1 deletion Sprint-1/4-stretch-explore/chrome.md
Original file line number Diff line number Diff line change
Expand Up @@ -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?
It shows a message on the middle top of the page with a sting "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?
What is the return value of `prompt`?
It shows a pop up box message with the sting "What is your name?" as an input in the middle top of the page
What is the return value of `prompt`?
it returns the text the user enters or an empty string if enter nothing in case cancel would return null
4 changes: 4 additions & 0 deletions Sprint-1/4-stretch-explore/objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ 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?
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`

Answer the following questions:

What does `console` store?
The console stores the history of messages your code prints while it runs
What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean?
"." is called a dot notation where we can get access sth that belong to an object and the syntax means that we are accessing the methods that belong to the object console.
Loading