Skip to content
2 changes: 1 addition & 1 deletion Sprint-1/1-key-exercises/1-count.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ let count = 0;
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 current value of count and stores the result back into count
4 changes: 3 additions & 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,9 @@ 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[0]}${middleName[0]}${lastName[0]}`;

console.log(initials);

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

11 changes: 8 additions & 3 deletions Sprint-1/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,19 @@
// (All spaces in the "" line should be ignored. They are purely for formatting.)

const filePath = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt";

// Find where the last slash is — that’s the boundary between the directory and the file
const lastSlashIndex = filePath.lastIndexOf("/");

// The "base" is everything after the last slash
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

const dir = ;
const ext = ;
const dir = filePath.slice(0, lastSlashIndex); // everything before the last slash
const ext = base.slice(base.lastIndexOf(".")); // everything after the last dot, including the dot

// https://www.google.com/search?q=slice+mdn
console.log(`The dir part of ${filePath} is ${dir}`);
console.log(`The ext part of ${filePath} is ${ext}`);
6 changes: 2 additions & 4 deletions Sprint-1/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
const minimum = 1;
const maximum = 100;

// Generate a random integer between minimum and maximum (inclusive)
const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;

// 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(`The random number is: ${num}`);
6 changes: 4 additions & 2 deletions Sprint-1/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
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?

//added // sign in begining of each comment to make sure that its is a comment not a part of the code.
7 changes: 5 additions & 2 deletions Sprint-1/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
// trying to create an age variable and then reassign the value by 1

const age = 33;
age = age + 1;
let age = 33; // use 'let' instead of 'const'
age = age + 1; // reassigns 'age' by adding 1

console.log(age);

7 changes: 3 additions & 4 deletions Sprint-1/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Currently trying to print the string "I was born in Bolton" but it isn't working...
// what's the error ?
const cityOfBirth = "Bolton"; // declared and initialized
console.log(`I was born in ${cityOfBirth}`); // variable now accessible

console.log(`I was born in ${cityOfBirth}`);
const cityOfBirth = "Bolton";
//Fixed Execution Order
12 changes: 5 additions & 7 deletions Sprint-1/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
const cardNumber = 4533787178994213;
const last4Digits = cardNumber.slice(-4);
const last4Digits = cardNumber.toString().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
console.log(last4Digits);

// Output: "4213"
//converted the number to a string to make slice out of it
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 hour12ClockTime = "08:53 PM"; // 12-hour format should include AM/PM
const hour24ClockTime = "20:53"; // 24-hour format
18 changes: 4 additions & 14 deletions Sprint-1/3-mandatory-interpret/1-percentage-change.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,12 @@
let carPrice = "10,000";
let priceAfterOneYear = "8,543";

// Remove commas and convert strings to numbers
carPrice = Number(carPrice.replaceAll(",", ""));
priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," ""));
priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", ""));

// Calculate price difference and percentage change
const priceDifference = carPrice - priceAfterOneYear;
const percentageChange = (priceDifference / carPrice) * 100;

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

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

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

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

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
console.log(`The percentage change is ${percentageChange}%`);
25 changes: 10 additions & 15 deletions Sprint-1/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,20 @@
const movieLength = 8784; // length of movie in seconds

// Calculate remaining seconds after converting to minutes
const remainingSeconds = movieLength % 60;

// Total minutes (integer division)
const totalMinutes = (movieLength - remainingSeconds) / 60;

// Calculate remaining minutes after converting to hours
const remainingMinutes = totalMinutes % 60;
const totalHours = (totalMinutes - remainingMinutes) / 60;

const result = `${totalHours}:${remainingMinutes}:${remainingSeconds}`;
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?

// b) How many function calls are there?

// c) Using documentation, explain what the expression movieLength % 60 represents
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
// Total hours (integer division)
const totalHours = (totalMinutes - remainingMinutes) / 60;

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?
// Format the result as "hours:minutes:seconds"
const movieDuration = `${totalHours}:${remainingMinutes}:${remainingSeconds}`;

// e) What do you think the variable result represents? Can you think of a better name for this variable?
console.log(movieDuration);

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer
//6 variable declaration and 1 function call done
16 changes: 7 additions & 9 deletions Sprint-1/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@
// 1️⃣ Initialize a string representing a price in pence, ending with 'p'
const penceString = "399p";

// 2️⃣ Remove the trailing "p" from the string
const penceStringWithoutTrailingP = penceString.substring(
0,
penceString.length - 1
);

// 3️⃣ Pad the number string on the left with zeros to ensure it has at least 3 digits
const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");

// 4️⃣ Extract the pounds part (all digits except the last 2)
const pounds = paddedPenceNumberString.substring(
0,
paddedPenceNumberString.length - 2
);

// 5️⃣ Extract the pence part (the last 2 digits) and pad it on the right if needed
const pence = paddedPenceNumberString
.substring(paddedPenceNumberString.length - 2)
.padEnd(2, "0");

// 6️⃣ Build the final formatted price string in pounds and pence
console.log(`£${pounds}.${pence}`);

// This program takes a string representing a price in pence
// The program then builds up a string representing the price in pounds

// 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"
9 changes: 5 additions & 4 deletions Sprint-1/4-stretch-explore/chrome.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ Let's try an example.
In the Chrome console,
invoke the function `alert` with an input string of `"Hello world!"`;

What effect does calling the `alert` function have?
What effect does calling the `alert` function have? It pops up a small alert tab mentioning `"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`.
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`?
What effect does calling the `prompt` function have? In this pop up tab I now see a prompt `" What is your name"` and under it an empty input space to add `my name`.

What is the return value of `prompt`? It is empty if I don't input my name.
12 changes: 9 additions & 3 deletions Sprint-1/4-stretch-explore/objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -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? I get : ƒ log() { [native code] }

Now enter just `console` in the Console, what output do you get back?

Try also entering `typeof console`
Try also entering `typeof console` I get : `object`

Answer the following questions:

What does `console` store?
What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean?
Console is an object that holds many `methods` and `functions`.

What does the syntax `console.log` or `console.assert` mean?
console.log means `"use the log method from the console object.”`

In particular, what does the `.` mean?
The dot means “go inside this object and grab this property or method.”