Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
//Answer:
//In line 3 to existing variable count assigned new value = old value of variable + 1.
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.charAt(0)}+${middleName.charAt(0)}+${lastName.charAt(0)}}`;
let initials = `${firstName.charAt(0)+middleName.charAt(0)+lastName.charAt(0)}`;

Choose a reason for hiding this comment

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

If you are concatenating values together, do you need the surrounding ${}?

Copy link
Author

Choose a reason for hiding this comment

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

No, we need them only when combining text with variables. I have removed them.

console.log(`The initials are: ${initials}`)

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

8 changes: 6 additions & 2 deletions Sprint-1/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,17 @@

const filePath = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt";
const lastSlashIndex = filePath.lastIndexOf("/");
console.log(`Last slash index ${lastSlashIndex}`)
const base = filePath.slice(lastSlashIndex + 1);
console.log(`Base: ${base}`)
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 + 1);
console.log(`The dir part is: ${dir}`);
const ext = console.log(`The ext part is: ${filePath.slice(-3)}`) ;

// 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
console.log(num)

//Explenation:

// Math.random - generates a random number (could be anything like: 0,1-0,750 etc in the range from 0(inclusive) to 1 (exclusive));
// Math.floar - rounds the number to the closest integer;
// Consequently, given expression on line 4 gives us a random round number in the range from minimum to maximum.
4 changes: 3 additions & 1 deletion 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?
We don't want the computer to run these 2 lines - how can we solve this problem?

//We have to add " // "
2 changes: 2 additions & 0 deletions Sprint-1/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@

const age = 33;
age = age + 1;

// declared variable is const which means that can't be changed (Should be assigned like "let age");
2 changes: 2 additions & 0 deletions Sprint-1/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@

console.log(`I was born in ${cityOfBirth}`);
const cityOfBirth = "Bolton";

//The variable declaration should be on the beginning
5 changes: 5 additions & 0 deletions Sprint-1/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,8 @@ const last4Digits = cardNumber.slice(-4);
// 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


//Explenation: method Slice is valid for String type.
//we need to change a type:
//const last4Digits = cardNumber.toString.slice(-4);
4 changes: 3 additions & 1 deletion Sprint-1/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
const 12HourClockTime = "20:53";
const 24hourClockTime = "08:53";
const 24hourClockTime = "08:53";

//Explenation: the name of value in JS can not start with numbers.

Choose a reason for hiding this comment

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

Can you suggest some alternative names?

Copy link
Author

Choose a reason for hiding this comment

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

My variants:
twelveHourClockTime
twentyFourHourClockTime

12 changes: 7 additions & 5 deletions 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,13 @@ 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

//4,5
// 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

//4,5
// d) Identify all the lines that are variable declarations

//1,2,7,8
// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
// we replace all commas into "". Then, we convert variable CarPrice into Integer, because it was String.
// The purpose of this action is next step of calculation.
15 changes: 9 additions & 6 deletions Sprint-1/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const movieLength = 8784; // length of movie in seconds
const movieLength = -8784; // length of movie in seconds (8784)

const remainingSeconds = movieLength % 60;
//console.log(`Remaining Seconds:${remainingSeconds}`)
const totalMinutes = (movieLength - remainingSeconds) / 60;

const remainingMinutes = totalMinutes % 60;
Expand All @@ -12,14 +13,16 @@ 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?

//1
// c) Using documentation, explain what the expression movieLength % 60 represents
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators

// %-this is remaider operator that help us get remaining. In this case, dividing MovieLength % 60 returned
// remainder. It is not a typical mathematic division, it is division where we can get remainder.
// d) Interpret line 4, what does the expression assigned to totalMinutes mean?

// Mean the subtraction remaider(second) from the total length (in second) and divide by 60, because we need Minutes (1 min = 60 sec)
// e) What do you think the variable result represents? Can you think of a better name for this variable?

//time

Choose a reason for hiding this comment

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

Is it clear what the difference is between 'time' and movieLength? Could I understand the difference by quickly reading these two variable names?

Copy link
Author

Choose a reason for hiding this comment

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

I changed to more explicit name: "FormattedMovieTime".

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer
//It works with a different values(negative and positive numbers).
23 changes: 12 additions & 11 deletions Sprint-1/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
const penceString = "399p";

const penceStringWithoutTrailingP = penceString.substring(
0,
penceString.length - 1
);
const penceStringWithoutTrailingP = penceString.substring( 0,penceString.length - 1);
console.log(penceStringWithoutTrailingP);

const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");
const pounds = paddedPenceNumberString.substring(
0,
paddedPenceNumberString.length - 2
);
console.log(paddedPenceNumberString);
const pounds = paddedPenceNumberString.substring(0, paddedPenceNumberString.length - 2);
console.log(pounds);

const pence = paddedPenceNumberString
.substring(paddedPenceNumberString.length - 2)
.padEnd(2, "0");
const pence = paddedPenceNumberString.substring(paddedPenceNumberString.length - 2).padEnd(2, "0");
console.log(pence);

console.log(`£${pounds}.${pence}`);

Expand All @@ -25,3 +21,8 @@ console.log(`£${pounds}.${pence}`);

// To begin, we can start with
// 1. const penceString = "399p": initialises a string variable with the value "399p"
// 3. declaration of penceStringWithoutTrailingP, that = 399 because of method substracting()
// 6. declaration of paddedPenceNumberString, that = 399 because of padStart(3, "0")
// 8. declaration of paddedPenceNumberString, substring() cut two last characters, padEnd(3,"0") - add "0" on the right side.
// 11. declaration of pence, that substring(two last characters of paddedPenceNumberString ) and padEnd(2, "0") that may add two "00" in the end of the right side.
// 14. shoows pounds and pence with special sign and comma.
4 changes: 3 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,10 @@ In the Chrome console,
invoke the function `alert` with an input string of `"Hello world!"`;

What effect does calling the `alert` function have?

//pop up window appeared.
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?
//pop up with input appeared
What is the return value of `prompt`?
//return value is user input
9 changes: 7 additions & 2 deletions Sprint-1/4-stretch-explore/objects.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,18 @@ 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?

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

// 'object'
Answer the following questions:

What does `console` store?
// Console is JS object for logging output.
What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean?
// log() and assert() are method of console object that can be accesed with "." notation.
Loading