Skip to content
Closed
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 reassigning the 'count' variable to it's initial value plus one
5 changes: 3 additions & 2 deletions Sprint-1/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ 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.charAt(0) + middleName.charAt(0) + lastName.charAt(0)
}`;

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

6 changes: 3 additions & 3 deletions Sprint-1/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ 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(1, lastSlashIndex);
const ext = base.split(".")[1];

// https://www.google.com/search?q=slice+mdn
// https://www.google.com/search?q=slice+mdn
16 changes: 16 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,19 @@ 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

// The num variable will evaluate to a random number between the minimum and maximum values

// Math.random()
// Random decimal number (0 - 1)

// (maximum - minimum + 1)
// The size of the range

// Math.random() * (maximum - minimum + 1)
// Random decimal (0 - 100)

// Math.floor(...)
// Rounds the result down to a whole number (0 - 99)

// Adding minimum shifts the range up, so the final result is between the minimum and maximum (1 - 100 inclusive)
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;
2 changes: 1 addition & 1 deletion Sprint-1/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// 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}`);
4 changes: 3 additions & 1 deletion Sprint-1/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
const cardNumber = 4533787178994213;
const last4Digits = cardNumber.slice(-4);
const last4Digits = Number(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

// .slice() will only work on arrays or strings
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";
23 changes: 22 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 @@ -13,10 +13,31 @@ 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

// carPrice.replaceAll(",", "") (line 4)
// Number(carPrice.replaceAll(",", "")) (line 4)
// priceAfterOneYear.replaceAll(",", "") (line 5)
// Number(priceAfterOneYear.replaceAll(",", "")) (line 5)
// console.log(`The percentage change is ${percentageChange}`) (line 10)

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

// Syntax error - Arguments need to be separated by a comma

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

// carPrice = Number(carPrice.replaceAll(",", "")) (line 4)
// priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", "")) (line 5)

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

// let carPrice = "10,000" (line 1)
// let priceAfterOneYear = "8,543" (line 2)
// const priceDifference = carPrice - priceAfterOneYear (line 7)
// const percentageChange = (priceDifference / carPrice) * 100 (line 8)

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

// (carPrice.replaceAll(",", "")) takes the string stored in the carPrice variable ("10,000") and removes all instances of commas (",")
// Without this, the result of Number(carPrice) would be NaN (Not a Number)

// Number(...) then takes the edited string ("10000") and converts it to a number (10000) so that numerical operations can be performed on this value
17 changes: 17 additions & 0 deletions Sprint-1/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,30 @@ console.log(result);

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

// 6

// b) How many function calls are there?

// 1

// 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 the remainder left over when one number is divided by another

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

// Its subtracts the remainder from the movieLength so that it can be divided into a whole number

// (movieLength - remainingSeconds) / 60
// 8760 / 60 = 146

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

// The variable represents the movie length in seconds converted to a (HH:MM:SS) format
// A better variable name would be 'formattedTime'

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

// No, this code will not work for all values of movieLength
// In edge cases where movieLength is assigned a value of a negative number or string, the output will not make sense
7 changes: 7 additions & 0 deletions Sprint-1/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
// 1. initialises a string variable with the value "399p"
const penceString = "399p";

// 2. removes the trailing 'p' character
const penceStringWithoutTrailingP = penceString.substring(
0,
penceString.length - 1
);

// 3. pads the numeric string with leading zeros so it is at least 3 digits
const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");

// 4. extracts the pound part by taking all but the last two digits
const pounds = paddedPenceNumberString.substring(
0,
paddedPenceNumberString.length - 2
);

// 5. extracts the pence part by taking the last two digits, and pads with trailing zeroes if needed
const pence = paddedPenceNumberString
.substring(paddedPenceNumberString.length - 2)
.padEnd(2, "0");

// 6. formats and prints the result as a pounds and pence string
console.log(${pounds}.${pence}`);

// This program takes a string representing a price in pence
Expand Down
7 changes: 7 additions & 0 deletions Sprint-1/4-stretch-explore/chrome.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,14 @@ invoke the function `alert` with an input string of `"Hello world!"`;

What effect does calling the `alert` function have?

It opens a dialog box in the browser displaying the message you provide.

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?

It opens a dialog box in the browser that asks the user to input text.

What is the return value of `prompt`?

It returns the text entered by the user as a string, or `null` if the user cancels the prompt.
8 changes: 8 additions & 0 deletions Sprint-1/4-stretch-explore/objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,19 @@ 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?

Try also entering `typeof console`

Answer the following questions:

What does `console` store?

Various methods and properties (e.g. `log`, `error`, `trace`)

What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean?

The `.` is dot notation used to access a property or method of an object.
`console.log` means you are accessing the `log` method that belongs to the `console` object.
Loading