-
-
Notifications
You must be signed in to change notification settings - Fork 387
Manchester | ITP-May-2026 | Szidonia Bodo | Sprint 1 | Coursework Exercises #1417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
fa0f428
aaf910d
be2aedf
49a51a7
0e64290
eac1ebb
3a4947c
ef80dd1
2ca0d04
176f6b7
3231276
9080a92
7dd742e
3c4f80e
25702d2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,8 +16,8 @@ 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, 16); | ||
| const ext = filePath.slice(-4); | ||
| console.log(`The base part of ${dir} is ${ext}`); | ||
|
Comment on lines
+19
to
+21
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you make these statements to work for any valid path? For example, they could still work correctly if we changed line 12 to |
||
|
|
||
| // https://www.google.com/search?q=slice+mdn | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,6 +4,13 @@ const maximum = 100; | |
| const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; | ||
|
|
||
| // In this exercise, you will need to work out what num represents? | ||
| console.log(Math.random()) | ||
| console.log(num); | ||
| // 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 | ||
| // num = Math.floor which will remove all the numbers after the decimal point | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you look up the differences among |
||
| // (Math.random that will generate a random decimal number | ||
| // which will be times with the value of maximum - minimum + 1 + minimum ) | ||
| // which is 100 * the Math.random generated | ||
|
Comment on lines
+14
to
+16
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Could you describe what each of these expressions does, and the range of the numbers it may produce?
Note: To describe a range of numbers, we could use the math interval notation:
For example, |
||
| 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? | ||
| // need to use pseudo code |
| 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; | ||
| // const variable cannot reassign the value - we need to use let |
| 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}`); | ||
|
|
||
| // the variable cityOfBirth was after the console log which means you cannot log before you actually have the variable |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,14 @@ | ||
| const cardNumber = 4533787178994213; | ||
| const cardNumber = "4533787178994213"; | ||
| const last4Digits = cardNumber.slice(-4); | ||
|
Comment on lines
+1
to
2
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Suppose you were not allowed to modify the statement |
||
| console.log(last4Digits); | ||
|
|
||
| // 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. | ||
| //const last4Digits = cardNumber.slice(-4); | ||
|
|
||
| // Consider: Why does it give this error? Is this what I predicted? If not, what's different? | ||
| // The error comes up cause the value of the cardNumber is not a string it's a number | ||
| //Once you change the value to a string the .slice() | ||
| // Then try updating the expression last4Digits is assigned to, in order to get the correct value | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,4 @@ | ||
| const 12HourClockTime = "8:53pm"; | ||
| const 24hourClockTime = "20:53"; | ||
| const twelveHourClockTime = "8:53pm"; | ||
| const twentyFourHourClockTime = "20:53"; | ||
|
|
||
| //we cannot start a variable name with a number |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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; | ||
|
|
@@ -12,11 +12,16 @@ 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 | ||
| // there is 5 calls: 2* Number() 2* .replaceAll() AND 1* .log() | ||
|
|
||
| // 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? | ||
| // line 5 missing a comma: .replaceAll("," "") | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We could more precisely describe "A comma is missing between What is this programming term that refers to the values passed to a function? It begins with an 'a'. |
||
|
|
||
| // c) Identify all the lines that are variable reassignment statements | ||
| // line 4 carPrice and line 5 priceAfterOneYear | ||
|
|
||
| // d) Identify all the lines that are variable declarations | ||
| // line 1 carPrice and line 2 priceAfterOneYear | ||
|
|
||
| // e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression? | ||
| //the Number() function converts the string value into number - however we cannot convert comma we would need to replace this with the .replaceAll() method | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,6 @@ | ||
| const movieLength = 8784; // length of movie in seconds | ||
| let movieLength = 8784; // length of movie in seconds | ||
| movieLength = 9000; | ||
| movieLength = 6500; | ||
|
|
||
| const remainingSeconds = movieLength % 60; | ||
| const totalMinutes = (movieLength - remainingSeconds) / 60; | ||
|
|
@@ -11,15 +13,23 @@ 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 is 6 variable declaration | ||
|
|
||
| // b) How many function calls are there? | ||
| // there is only the log() call | ||
|
|
||
| // c) Using documentation, explain what the expression movieLength % 60 represents | ||
| // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators | ||
| // the logic is to calculate the movieLength remainder - operator returns the remainder left over when one operand is divided by a second operand. | ||
| // It always takes the sign of the dividend. | ||
|
|
||
| // d) Interpret line 4, what does the expression assigned to totalMinutes mean? | ||
| // to calculate the movie length into minutes | ||
|
|
||
| // e) What do you think the variable result represents? Can you think of a better name for this variable? | ||
| // the result represent the movie length - hours minutes and second in a string - movieTime | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The name Could you suggest a more descriptive name? |
||
|
|
||
| // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer | ||
| // Yes - the above logic calculates the movie length in hours minutes and seconds | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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? - alert is a pop up display message with an OK button - you can close once you click on the OK button | ||
|
|
||
| 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? - the prompt will also display a message usually question - however this time you will have an empty field to enter the value or answer - a cancel and a OK button | ||
|
|
||
| What is the return value of `prompt`? - whatever the user inputs into the empty field | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What if the a enters something and then click "Cancel" instead of "OK? |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Operation like
count = count + 1is very common in programming, and there is a programming term describing such operation.Could you find out what one-word programming term describes the operation on line 3?