From f2c62afc11b72b648b0230de1aa43154486ba160 Mon Sep 17 00:00:00 2001 From: russom Date: Tue, 16 Jun 2026 21:55:32 +0100 Subject: [PATCH 01/20] Answers on what line 3 is doing --- Sprint-1/1-key-exercises/1-count.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js index 117bcb2b6e..c922c77f13 100644 --- a/Sprint-1/1-key-exercises/1-count.js +++ b/Sprint-1/1-key-exercises/1-count.js @@ -4,3 +4,10 @@ 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 + +// Answers +// Line 3 is updating the value of the variable count by adding 1 to its current value. +// The = operator is an assignment operator that takes the value on the right side +// (which is `count + 1`) and assigns it to the variable on the left side (`count`). +// This means that after line 3 is executed, the value of `count` will be incremented by 1. + From 3bfc796586b4d1a6421a7271d7797a514e5c482b Mon Sep 17 00:00:00 2001 From: russom Date: Tue, 16 Jun 2026 22:08:59 +0100 Subject: [PATCH 02/20] String indexing is used to access the first character of each string. --- Sprint-1/1-key-exercises/2-initials.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js index 47561f6175..1d04258881 100644 --- a/Sprint-1/1-key-exercises/2-initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -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[0] + middleName[0] + lastName[0]; +// String indexing is used to access the first character of each string. // https://www.google.com/search?q=get+first+character+of+string+mdn From 482d8eeea9638f5f7fdd700a971fe8843041c361 Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 17 Jun 2026 20:29:11 +0100 Subject: [PATCH 03/20] A dir and ext variables created to store parts of the file path --- Sprint-1/1-key-exercises/3-paths.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js index ab90ebb28e..8642b63ae9 100644 --- a/Sprint-1/1-key-exercises/3-paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -13,11 +13,16 @@ const filePath = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt"; const lastSlashIndex = filePath.lastIndexOf("/"); const base = filePath.slice(lastSlashIndex + 1); console.log(`The base part of ${filePath} is ${base}`); +// The base part of /Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt is file.txt // 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); // Keeps everything except the last slash just before week-1/interpret. +const ext = filePath.slice(lastSlashIndex + 1).split(".")[1]; // Keeps everything after the last slash and splits it into an array of strings at the dot. +console.log(`The dir part of ${filePath} is ${dir}`); +console.log(`The ext part of ${filePath} is ${ext}`); +// The dir part of /Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt is /Users/mitch/cyf/Module-JS1/week-1/interpret +// The ext part of /Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt is txt -// https://www.google.com/search?q=slice+mdn \ No newline at end of file +// https://www.google.com/search?q=slice+mdn From 57dcff5c764a5b1eb45c49dfd345d60691dd53b3 Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 17 Jun 2026 21:41:25 +0100 Subject: [PATCH 04/20] An explanation of the variable "num" and what it stores --- Sprint-1/1-key-exercises/4-random.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js index 292f83aabb..f5e9531c1d 100644 --- a/Sprint-1/1-key-exercises/4-random.js +++ b/Sprint-1/1-key-exercises/4-random.js @@ -2,8 +2,16 @@ const minimum = 1; const maximum = 100; const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; +console.log(num); // 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 + +// Answers +// num represents a random integer between 1 and 100, inclusive. +// Math.floor() rounds down to the nearest integer. +// Math.random() generates a random decimal number between 0 and 1 but not including 1. +// maximum - minimum + 1 helps to keep both end of the range 1 to 100 after multiplying by Math.random() +// + minimum shifts the range up to start at 1 instead of 0 \ No newline at end of file From 6f1ae810af957b18211238de6f64290e11d3a346 Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 17 Jun 2026 21:52:57 +0100 Subject: [PATCH 05/20] commenting out none code texts --- Sprint-1/2-mandatory-errors/0.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js index cf6c5039f7..ee2b591d3a 100644 --- a/Sprint-1/2-mandatory-errors/0.js +++ b/Sprint-1/2-mandatory-errors/0.js @@ -1,2 +1,5 @@ -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? \ No newline at end of file +/*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 can use forward slash and asterisk for multi-line or block comments as used above line 1 to 3. Or we can use double forward slashes for single line comments as used on this 5. \ No newline at end of file From b9db880e21f22853c3e3597c68480c5488751584 Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 17 Jun 2026 22:03:44 +0100 Subject: [PATCH 06/20] An age variable created and reassigned the value by 1 --- Sprint-1/2-mandatory-errors/1.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js index 7a43cbea76..f0dfa9efa4 100644 --- a/Sprint-1/2-mandatory-errors/1.js +++ b/Sprint-1/2-mandatory-errors/1.js @@ -1,4 +1,6 @@ // trying to create an age variable and then reassign the value by 1 const age = 33; -age = age + 1; +//age = age + 1; The variable age is declared as a constant using the const keyword, which means its value cannot be changed after it is assigned. +const newAge = age + 1; // A new variable called newAge is assigned.This way, we can still calculate the new age without modifying the original constant variable. + From 102980258d5bf0e526c9c83ae2578749d6c7f882 Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 17 Jun 2026 22:16:36 +0100 Subject: [PATCH 07/20] Error fixed by defining city of birth variable first before printing it. --- Sprint-1/2-mandatory-errors/2.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index e09b89831d..36501e4d17 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -2,4 +2,9 @@ // what's the error ? console.log(`I was born in ${cityOfBirth}`); +const cityOfBirth = "Bolton"; // The variable cityOfBirth is declared after it is used in the console.log statement. + +// The order of the code should be as below. + const cityOfBirth = "Bolton"; +console.log(`I was born in ${cityOfBirth}`); \ No newline at end of file From 78c195666791a7241a73e5379c989897150eb3a2 Mon Sep 17 00:00:00 2001 From: russom Date: Thu, 18 Jun 2026 20:13:26 +0100 Subject: [PATCH 08/20] Print the string fixed by defining city of birth variable first and print afterwards --- Sprint-1/2-mandatory-errors/2.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js index 36501e4d17..88bf05ef4c 100644 --- a/Sprint-1/2-mandatory-errors/2.js +++ b/Sprint-1/2-mandatory-errors/2.js @@ -2,9 +2,9 @@ // what's the error ? console.log(`I was born in ${cityOfBirth}`); -const cityOfBirth = "Bolton"; // The variable cityOfBirth is declared after it is used in the console.log statement. +const cityOfBirth = "Bolton"; // The variable cityOfBirth is declared after it is used in the console.log statement. -// The order of the code should be as below. +// The order of the code should be as below. const cityOfBirth = "Bolton"; -console.log(`I was born in ${cityOfBirth}`); \ No newline at end of file +console.log(`I was born in ${cityOfBirth}`); From 33a29e1a378a31b4b7d8b5dea8465d808d80f19a Mon Sep 17 00:00:00 2001 From: russom Date: Thu, 18 Jun 2026 20:35:31 +0100 Subject: [PATCH 09/20] Parentises added into card number in order to convert it into a string. --- Sprint-1/2-mandatory-errors/3.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js index ec101884db..75cca0a19c 100644 --- a/Sprint-1/2-mandatory-errors/3.js +++ b/Sprint-1/2-mandatory-errors/3.js @@ -1,4 +1,4 @@ -const cardNumber = 4533787178994213; +const cardNumber = "4533787178994213"; // parentises const last4Digits = cardNumber.slice(-4); // The last4Digits variable should store the last 4 digits of cardNumber @@ -7,3 +7,11 @@ 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 + +// Answer +// "TypeError: cardNumber.slice is not a function" is the error that it was given when running the code. +// This error occurs because the `slice` method is a string method, and `cardNumber` is a number, not a string. +// Therefore, we cannot use `slice` directly on a number. +// To fix the issue, we need to convert `cardNumber` to a string by adding parentises. + + \ No newline at end of file From 56fa8437ae01f9d13f4919743a2878eddc6bb743 Mon Sep 17 00:00:00 2001 From: russom Date: Thu, 18 Jun 2026 20:43:13 +0100 Subject: [PATCH 10/20] Variable names changed to start with letters instead of numbers. --- Sprint-1/2-mandatory-errors/4.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js index 5f86c730bc..a28275c720 100644 --- a/Sprint-1/2-mandatory-errors/4.js +++ b/Sprint-1/2-mandatory-errors/4.js @@ -1,2 +1,6 @@ const 12HourClockTime = "8:53pm"; const 24hourClockTime = "20:53"; + +// In js variable names cannot start with a number. The variable names are changed to start with a letter instead of a number as below. +const twelveHourClockTime = "8:53pm"; +const twentyFourHourClockTime = "20:53"; From 9a730bc933560bdbaddbd0ce5f412d6f9f197ef1 Mon Sep 17 00:00:00 2001 From: russom Date: Thu, 18 Jun 2026 21:46:16 +0100 Subject: [PATCH 11/20] Questions answered and errors fixed. --- .../1-percentage-change.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js index e24ecb8e18..6738b16413 100644 --- a/Sprint-1/3-mandatory-interpret/1-percentage-change.js +++ b/Sprint-1/3-mandatory-interpret/1-percentage-change.js @@ -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; @@ -20,3 +20,19 @@ console.log(`The percentage change is ${percentageChange}`); // 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? + +// Answer +// a) Line 4: Number(carPrice.replaceAll(",", "")); and carPrice.replaceAll(",", "") +// a) Line 5: Number(priceAfterOneYear.replaceAll("," "")); and priceAfterOneYear.replaceAll("," "") + +// b) The error is coming from line 5. The error is occurring in the replaceAll method a comma is missing between ("," "") it should be (",", "") to fix the problem. + +// c) line 4: carPrice = Number(carPrice.replaceAll(",", "")); +// c) line 5: priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," "")); + +// d) Line 1: let carPrice = "10,000"; +// d) Line 2: let priceAfterOneYear = "8,543"; +// d) Line 7: const priceDifference = carPrice - priceAfterOneYear; +// d) Line 8: const percentageChange = (priceDifference / carPrice) * 100; + +// e) Number() is converting the string into a number. replaceAll() is removing the comma from the string. \ No newline at end of file From dc16f8db5b560191ca509d40cfeebed23b1a5315 Mon Sep 17 00:00:00 2001 From: russom Date: Fri, 19 Jun 2026 19:56:30 +0100 Subject: [PATCH 12/20] Questions a - e answered. --- Sprint-1/3-mandatory-interpret/2-time-format.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js index 47d2395587..f5b0bb82a4 100644 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ b/Sprint-1/3-mandatory-interpret/2-time-format.js @@ -23,3 +23,17 @@ console.log(result); // e) What do you think the variable result represents? Can you think of a better name for this variable? // f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer + +// answer + +// a) 6 variables: movieLength, remainingSeconds, totalMinutes, remainingMinutes, totalHours and result + +// b) 1 function calls: console.log(result) + +// c) Reminder operator: movieLength (8784 seconds)is divided by 60 and converted into minutes. The reminder value then stored as seconds. + +// d) It calculates how many full minutes (60 seconds) in movieLength are there excluding the seconds. + +// e) total movie length in hours, minuets and seconds. movieDuration can be an alternative variable. + +// f) I tried negative and decimal number. The code works but it doesn't make any sense to represent with this type of values other than integers. \ No newline at end of file From 948d792919673c8dc13528c36573f2c9fab2e48e Mon Sep 17 00:00:00 2001 From: russom Date: Fri, 19 Jun 2026 21:58:31 +0100 Subject: [PATCH 13/20] Each line of code explained. --- Sprint-1/3-mandatory-interpret/3-to-pounds.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js index 60c9ace69a..5f36e8dbab 100644 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ b/Sprint-1/3-mandatory-interpret/3-to-pounds.js @@ -25,3 +25,16 @@ console.log(`£${pounds}.${pence}`); // To begin, we can start with // 1. const penceString = "399p": initialises a string variable with the value "399p" + +// Answers +// 1) variable const penceStringWithoutTrailingP stores the value of only the pennies part without the p. +// This is done first with penceString.length -1 removes the last index of pence string (p). +// Then penceString.substring(0) returns the characters from 0 to 2 of the indexes(399) + +// 2) paddedPenceNumberString adds 0 at the beginning until the string is 3 characters long to penceStringWithoutTrailingP variable + +// 3) pounds stores 3 by first paddedPenceNumberString.length - 2 removing index 1 and 2. Then paddedPenceNumberString.substring(0) returning index 0. + +// 4) pence store the pennies first .length starting from index 1 then padEnd adding 0 to characters that less than 2 counts. + +// 5) console.log prints out the final result adding a £ sign at the beginning and a . between pounds and pence. \ No newline at end of file From 1bc9f0c854e33a0be266fccafe8e86dff28bf1a7 Mon Sep 17 00:00:00 2001 From: russom Date: Mon, 22 Jun 2026 14:53:31 +0100 Subject: [PATCH 14/20] Chrome console alert and prompt functions explained. --- Sprint-1/4-stretch-explore/chrome.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md index e7dd5feafe..54c43f139b 100644 --- a/Sprint-1/4-stretch-explore/chrome.md +++ b/Sprint-1/4-stretch-explore/chrome.md @@ -9,10 +9,16 @@ 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? +- A window pops up with `"Hello world!"` message + 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? + +- a new window popup saying what is your name with a text input field for user to type. + What is the return value of `prompt`? + +- A text string that input by the user is returned. \ No newline at end of file From e24a1d69349be6bf145571a1619f601383ccc917 Mon Sep 17 00:00:00 2001 From: russom Date: Mon, 22 Jun 2026 15:14:06 +0100 Subject: [PATCH 15/20] console in Chrome devtools explained. --- Sprint-1/4-stretch-explore/objects.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md index 0216dee56a..ac760a436a 100644 --- a/Sprint-1/4-stretch-explore/objects.md +++ b/Sprint-1/4-stretch-explore/objects.md @@ -5,12 +5,20 @@ 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` +- Object Answer the following questions: What does `console` store? + +- console means display or print a message + What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? + +- console.log display data inside log. console.assert is evaluate if a condition is true. The `.` means telling console or any other function to access data inside that object just after the dot. From 1e73905a7f2e8c9e90efd4de4722d70fd68f207c Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 29 Jul 2026 19:43:27 +0100 Subject: [PATCH 16/20] Line 4, 8, 9 and 10 are deleted as dead code. --- Sprint-3/3-dead-code/exercise-1.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/Sprint-3/3-dead-code/exercise-1.js b/Sprint-3/3-dead-code/exercise-1.js index 4d09f15fa9..e51f0e5871 100644 --- a/Sprint-3/3-dead-code/exercise-1.js +++ b/Sprint-3/3-dead-code/exercise-1.js @@ -1,13 +1,10 @@ // Find the instances of unreachable and redundant code - remove them! // The sayHello function should continue to work for any reasonable input it's given. -let testName = "Jerry"; const greeting = "hello"; function sayHello(greeting, name) { - const greetingStr = greeting + ", " + name + "!"; return `${greeting}, ${name}!`; - console.log(greetingStr); } testName = "Aman"; From 13559dac612334eddd133b25e701b9f8c532e95f Mon Sep 17 00:00:00 2001 From: russom Date: Wed, 29 Jul 2026 19:45:45 +0100 Subject: [PATCH 17/20] line 5, 8, 9 ,10 deleted as dead code. --- Sprint-3/3-dead-code/exercise-2.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Sprint-3/3-dead-code/exercise-2.js b/Sprint-3/3-dead-code/exercise-2.js index 56d7887c4c..d865830a2e 100644 --- a/Sprint-3/3-dead-code/exercise-2.js +++ b/Sprint-3/3-dead-code/exercise-2.js @@ -2,12 +2,10 @@ // The countAndCapitalisePets function should continue to work for any reasonable input it's given, and you shouldn't modify the pets variable. const pets = ["parrot", "hamster", "horse", "dog", "hamster", "cat", "hamster"]; -const capitalisedPets = pets.map((pet) => pet.toUpperCase()); + const petsStartingWithH = pets.filter((pet) => pet[0] === "h"); -function logPets(petsArr) { - petsArr.forEach((pet) => console.log(pet)); -} + function countAndCapitalisePets(petsArr) { const petCount = {}; From c767bfe6e153a11e33eaa12e54e417f68907eee6 Mon Sep 17 00:00:00 2001 From: russom Date: Sat, 1 Aug 2026 22:08:36 +0100 Subject: [PATCH 18/20] Remove wrongly committed files from repo, keep locally --- .gitignore | 7 +- .../1-implement-and-rewrite-tests/README.md | 47 --------- .../implement/1-get-angle-type.js | 37 ------- .../implement/2-is-proper-fraction.js | 33 ------- .../implement/3-get-card-value.js | 54 ---------- .../1-get-angle-type.test.js | 20 ---- .../2-is-proper-fraction.test.js | 10 -- .../3-get-card-value.test.js | 20 ---- .../testing-guide.md | 92 ------------------ Sprint-3/2-practice-tdd/README.md | 13 --- Sprint-3/2-practice-tdd/count.js | 5 - Sprint-3/2-practice-tdd/count.test.js | 24 ----- Sprint-3/2-practice-tdd/get-ordinal-number.js | 5 - .../2-practice-tdd/get-ordinal-number.test.js | 20 ---- Sprint-3/2-practice-tdd/repeat-str.js | 7 -- Sprint-3/2-practice-tdd/repeat-str.test.js | 32 ------ Sprint-3/3-dead-code/README.md | 9 -- Sprint-3/3-dead-code/exercise-1.js | 14 --- Sprint-3/3-dead-code/exercise-2.js | 26 ----- Sprint-3/4-stretch/README.md | 9 -- Sprint-3/4-stretch/card-validator.md | 35 ------- Sprint-3/4-stretch/find.js | 25 ----- Sprint-3/4-stretch/password-validator.js | 6 -- Sprint-3/4-stretch/password-validator.test.js | 26 ----- Sprint-3/readme.md | 18 ---- contributing.md | 19 ---- package.json | 15 --- readme.md | 29 ------ run-this-test.png | Bin 70276 -> 0 bytes test-results-output.png | Bin 219327 -> 0 bytes 30 files changed, 6 insertions(+), 651 deletions(-) delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/README.md delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/implement/1-get-angle-type.js delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/implement/2-is-proper-fraction.js delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/implement/3-get-card-value.js delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/1-get-angle-type.test.js delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/2-is-proper-fraction.test.js delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/3-get-card-value.test.js delete mode 100644 Sprint-3/1-implement-and-rewrite-tests/testing-guide.md delete mode 100644 Sprint-3/2-practice-tdd/README.md delete mode 100644 Sprint-3/2-practice-tdd/count.js delete mode 100644 Sprint-3/2-practice-tdd/count.test.js delete mode 100644 Sprint-3/2-practice-tdd/get-ordinal-number.js delete mode 100644 Sprint-3/2-practice-tdd/get-ordinal-number.test.js delete mode 100644 Sprint-3/2-practice-tdd/repeat-str.js delete mode 100644 Sprint-3/2-practice-tdd/repeat-str.test.js delete mode 100644 Sprint-3/3-dead-code/README.md delete mode 100644 Sprint-3/3-dead-code/exercise-1.js delete mode 100644 Sprint-3/3-dead-code/exercise-2.js delete mode 100644 Sprint-3/4-stretch/README.md delete mode 100644 Sprint-3/4-stretch/card-validator.md delete mode 100644 Sprint-3/4-stretch/find.js delete mode 100644 Sprint-3/4-stretch/password-validator.js delete mode 100644 Sprint-3/4-stretch/password-validator.test.js delete mode 100644 Sprint-3/readme.md delete mode 100644 contributing.md delete mode 100644 package.json delete mode 100644 readme.md delete mode 100644 run-this-test.png delete mode 100644 test-results-output.png diff --git a/.gitignore b/.gitignore index bde36e5302..42d97c1c6a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,9 @@ node_modules .DS_Store .vscode -**/.DS_Store \ No newline at end of file +**/.DS_StoreSprint-3/ +contributing.md +package.json +readme.md +run-this-test.png +test-results-output.png diff --git a/Sprint-3/1-implement-and-rewrite-tests/README.md b/Sprint-3/1-implement-and-rewrite-tests/README.md deleted file mode 100644 index 4658c9423a..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Implement solutions and rewrite tests with Jest - -Before writing any code, please read the [Testing Function Guide](testing-guide.md) to learn how -to choose test values that thoroughly test a function. - -## 1 Implement solutions - -In the `implement` directory you've got a number of functions you'll need to implement. -For each function, you also have a number of different cases you'll need to check for your function. - -Write your implementation and your tests to cover the cases the function should fulfil. - -Here is a recommended order: - -1. `1-get-angle-type.js` -2. `2-is-proper-fraction.js` -3. `3-get-card-value.js` - -## 2 Rewrite tests with Jest - -`console.log` is most often used as a debugging tool. We use to inspect the state of our program during runtime. - -We can use `console.assert` to write assertions: however, it is not very easy to use when writing large test suites. In the first section, Implement, we used a custom "helper function" to make our assertions more readable. - -Jest is a whole library of helper functions we can use to make our assertions more readable and easier to write. - -Your new task is to write the same tests as you wrote in the `implement` directory, but using Jest instead of `console.assert`. - -You shouldn't have to change the contents of `implement` to write these tests. - -There are files for your Jest tests in the `rewrite-tests-with-jest` directory. They will automatically use the functions you already implemented. - -You can run all the tests in this repo by running `npm test` in your terminal. However, VSCode has a built-in test runner that you can use to run the tests, and this should make it much easier to focus on building up your test cases one at a time. - -https://code.visualstudio.com/docs/editor/testing - -1. Go to rewrite-tests-with-jest/1-get-angle-type.test.js -2. Click the green play button to run the test. It's on the left of the test function in the gutter. -3. Read the output in the TEST_RESULTS tab at the bottom of the screen. -4. Explore all the tests in this repo by opening the TEST EXPLORER tab. The logo is a beaker. - -![VSCode Test Runner](../../run-this-test.png) - -![Test Results](../../test-results-output.png) - -> [!TIP] -> You can always run a single test file by running `npm test path/to/test-file.test.js`. diff --git a/Sprint-3/1-implement-and-rewrite-tests/implement/1-get-angle-type.js b/Sprint-3/1-implement-and-rewrite-tests/implement/1-get-angle-type.js deleted file mode 100644 index 9e05a871e2..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/implement/1-get-angle-type.js +++ /dev/null @@ -1,37 +0,0 @@ -// Implement a function getAngleType -// -// When given an angle in degrees, it should return a string indicating the type of angle: -// - "Acute angle" for angles greater than 0° and less than 90° -// - "Right angle" for exactly 90° -// - "Obtuse angle" for angles greater than 90° and less than 180° -// - "Straight angle" for exactly 180° -// - "Reflex angle" for angles greater than 180° and less than 360° -// - "Invalid angle" for angles outside the valid range. - -// Assumption: The parameter is a valid number. (You do not need to handle non-numeric inputs.) - -// Acceptance criteria: -// After you have implemented the function, write tests to cover all the cases, and -// execute the code to ensure all tests pass. - -function getAngleType(angle) { - // TODO: Implement this function -} - -// The line below allows us to load the getAngleType function into tests in other files. -// This will be useful in the "rewrite tests with jest" step. -module.exports = getAngleType; - -// This helper function is written to make our assertions easier to read. -// If the actual output matches the target output, the test will pass -function assertEquals(actualOutput, targetOutput) { - console.assert( - actualOutput === targetOutput, - `Expected ${actualOutput} to equal ${targetOutput}` - ); -} - -// TODO: Write tests to cover all cases, including boundary and invalid cases. -// Example: Identify Right Angles -const right = getAngleType(90); -assertEquals(right, "Right angle"); diff --git a/Sprint-3/1-implement-and-rewrite-tests/implement/2-is-proper-fraction.js b/Sprint-3/1-implement-and-rewrite-tests/implement/2-is-proper-fraction.js deleted file mode 100644 index 970cb9b641..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/implement/2-is-proper-fraction.js +++ /dev/null @@ -1,33 +0,0 @@ -// Implement a function isProperFraction, -// when given two numbers, a numerator and a denominator, it should return true if -// the given numbers form a proper fraction, and false otherwise. - -// Assumption: The parameters are valid numbers (not NaN or Infinity). - -// Note: If you are unfamiliar with proper fractions, please look up its mathematical definition. - -// Acceptance criteria: -// After you have implemented the function, write tests to cover all the cases, and -// execute the code to ensure all tests pass. - -function isProperFraction(numerator, denominator) { - // TODO: Implement this function -} - -// The line below allows us to load the isProperFraction function into tests in other files. -// This will be useful in the "rewrite tests with jest" step. -module.exports = isProperFraction; - -// Here's our helper again -function assertEquals(actualOutput, targetOutput) { - console.assert( - actualOutput === targetOutput, - `Expected ${actualOutput} to equal ${targetOutput}` - ); -} - -// TODO: Write tests to cover all cases. -// What combinations of numerators and denominators should you test? - -// Example: 1/2 is a proper fraction -assertEquals(isProperFraction(1, 2), true); diff --git a/Sprint-3/1-implement-and-rewrite-tests/implement/3-get-card-value.js b/Sprint-3/1-implement-and-rewrite-tests/implement/3-get-card-value.js deleted file mode 100644 index ff5c532e1d..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/implement/3-get-card-value.js +++ /dev/null @@ -1,54 +0,0 @@ -// This problem involves playing cards: https://en.wikipedia.org/wiki/Standard_52-card_deck - -// Implement a function getCardValue, when given a string representing a playing card, -// should return the numerical value of the card. - -// A valid card string will contain a rank followed by the suit. -// The rank can be one of the following strings: -// "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" -// The suit can be one of the following emojis: -// "♠", "♥", "♦", "♣" -// For example: "A♠", "2♥", "10♥", "J♣", "Q♦", "K♦". - -// When the card is an ace ("A"), the function should return 11. -// When the card is a face card ("J", "Q", "K"), the function should return 10. -// When the card is a number card ("2" to "10"), the function should return its numeric value. - -// When the card string is invalid (not following the above format), the function should -// throw an error. - -// Acceptance criteria: -// After you have implemented the function, write tests to cover all the cases, and -// execute the code to ensure all tests pass. - -function getCardValue(card) { - // TODO: Implement this function -} - -// The line below allows us to load the getCardValue function into tests in other files. -// This will be useful in the "rewrite tests with jest" step. -module.exports = getCardValue; - -// Helper functions to make our assertions easier to read. -function assertEquals(actualOutput, targetOutput) { - console.assert( - actualOutput === targetOutput, - `Expected ${actualOutput} to equal ${targetOutput}` - ); -} - -// TODO: Write tests to cover all outcomes, including throwing errors for invalid cards. -// Examples: -assertEquals(getCardValue("9♠"), 9); - -// Handling invalid cards -try { - getCardValue("invalid"); - - // This line will not be reached if an error is thrown as expected - console.error("Error was not thrown for invalid card 😢"); -} catch (e) { - console.log("Error thrown for invalid card 🎉"); -} - -// What other invalid card cases can you think of? diff --git a/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/1-get-angle-type.test.js b/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/1-get-angle-type.test.js deleted file mode 100644 index d777f348d3..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/1-get-angle-type.test.js +++ /dev/null @@ -1,20 +0,0 @@ -// This statement loads the getAngleType function you wrote in the implement directory. -// We will use the same function, but write tests for it using Jest in this file. -const getAngleType = require("../implement/1-get-angle-type"); - -// TODO: Write tests in Jest syntax to cover all cases/outcomes, -// including boundary and invalid cases. - -// Case 1: Acute angles -test(`should return "Acute angle" when (0 < angle < 90)`, () => { - // Test various acute angles, including boundary cases - expect(getAngleType(1)).toEqual("Acute angle"); - expect(getAngleType(45)).toEqual("Acute angle"); - expect(getAngleType(89)).toEqual("Acute angle"); -}); - -// Case 2: Right angle -// Case 3: Obtuse angles -// Case 4: Straight angle -// Case 5: Reflex angles -// Case 6: Invalid angles diff --git a/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/2-is-proper-fraction.test.js b/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/2-is-proper-fraction.test.js deleted file mode 100644 index 7f087b2ba1..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/2-is-proper-fraction.test.js +++ /dev/null @@ -1,10 +0,0 @@ -// This statement loads the isProperFraction function you wrote in the implement directory. -// We will use the same function, but write tests for it using Jest in this file. -const isProperFraction = require("../implement/2-is-proper-fraction"); - -// TODO: Write tests in Jest syntax to cover all combinations of positives, negatives, zeros, and other categories. - -// Special case: numerator is zero -test(`should return false when denominator is zero`, () => { - expect(isProperFraction(1, 0)).toEqual(false); -}); diff --git a/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/3-get-card-value.test.js b/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/3-get-card-value.test.js deleted file mode 100644 index cf7f9dae2e..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/rewrite-tests-with-jest/3-get-card-value.test.js +++ /dev/null @@ -1,20 +0,0 @@ -// This statement loads the getCardValue function you wrote in the implement directory. -// We will use the same function, but write tests for it using Jest in this file. -const getCardValue = require("../implement/3-get-card-value"); - -// TODO: Write tests in Jest syntax to cover all possible outcomes. - -// Case 1: Ace (A) -test(`Should return 11 when given an ace card`, () => { - expect(getCardValue("A♠")).toEqual(11); -}); - -// Suggestion: Group the remaining test data into these categories: -// Number Cards (2-10) -// Face Cards (J, Q, K) -// Invalid Cards - -// To learn how to test whether a function throws an error as expected in Jest, -// please refer to the Jest documentation: -// https://jestjs.io/docs/expect#tothrowerror - diff --git a/Sprint-3/1-implement-and-rewrite-tests/testing-guide.md b/Sprint-3/1-implement-and-rewrite-tests/testing-guide.md deleted file mode 100644 index 917194e7a9..0000000000 --- a/Sprint-3/1-implement-and-rewrite-tests/testing-guide.md +++ /dev/null @@ -1,92 +0,0 @@ -# A Beginner's Guide to Testing Functions - -## 1. What Is a Function? - -``` -Input ──▶ Function ──▶ Output -``` - -A function -- Takes **input** (via **arguments**) -- Does some work -- Produces **one output** (via a **return value**) - -Example: - -``` -sum(2, 3) → 5 -``` - -Important idea: the same input should produce the same output. - - -## 2. Testing Means Predicting - -Testing means: -> If I give this input, what output should I get? - - -## 3. Choosing Good Test Values - -### Step 1: Determining the space of possible inputs -Ask: -- What type of value is expected? -- What values make sense? - - If they are numbers: - - Are they integers or floating-point numbers? - - What is their range? - - If they are strings: - - What are their length and patterns? -- What values would not make sense? - -### Step 2: Choosing Good Test Values - -#### Normal Cases - -These confirm that the function works in normal use. - -- What does a typical, ordinary input look like? -- Are there multiple ordinary groups of inputs? e.g. for an age checking function, maybe there are "adults" and "children" as expected ordinary groups of inputs. - - -#### Boundary Cases - -Test values exactly at, just inside, and just outside defined ranges. -These values are where logic breaks most often. - -#### Consider All Outcomes - -Every outcome must be reached by at least one test. - -- How many different results can this function produce? -- Have I tested a value that leads to each one? - -#### Crossing the Edges and Invalid Values - -This tests how the function behaves when assumptions are violated. -- What happens when input is outside of the expected range? -- What happens when input is not of the expected type? -- What happens when input is not in the expected format? - -## 4. How to Test - -### 1. Using `console.assert()` - -```javascript - // Report a failure only when the first argument is false - console.assert( sum(4, 6) === 10, "Expected 4 + 6 to equal 10" ); -``` - -It is simpler than using `if-else` and requires no setup. - -### 2. Jest Testing Framework - -```javascript - test("Should correctly return the sum of two positive numbers", () => { - expect( sum(4, 6) ).toEqual(10); - ... // Can test multiple samples - }); - -``` - -Jest supports many useful functions for testing but requires additional setup. diff --git a/Sprint-3/2-practice-tdd/README.md b/Sprint-3/2-practice-tdd/README.md deleted file mode 100644 index f7d82fe43d..0000000000 --- a/Sprint-3/2-practice-tdd/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Practice TDD - -In this section you'll practice this key skill of building up your program test first. - -Use the Jest syntax and complete the provided files, meeting the acceptance criteria for each function. Use the VSCode test runner to run your tests and check your progress. - -Write the tests _before_ the code that will make them pass. - -Recommended order: - -1. `count.test.js` -1. `repeat-str.test.js` -1. `get-ordinal-number.test.js` diff --git a/Sprint-3/2-practice-tdd/count.js b/Sprint-3/2-practice-tdd/count.js deleted file mode 100644 index 95b6ebb7d4..0000000000 --- a/Sprint-3/2-practice-tdd/count.js +++ /dev/null @@ -1,5 +0,0 @@ -function countChar(stringOfCharacters, findCharacter) { - return 5 -} - -module.exports = countChar; diff --git a/Sprint-3/2-practice-tdd/count.test.js b/Sprint-3/2-practice-tdd/count.test.js deleted file mode 100644 index 179ea0ddf7..0000000000 --- a/Sprint-3/2-practice-tdd/count.test.js +++ /dev/null @@ -1,24 +0,0 @@ -// implement a function countChar that counts the number of times a character occurs in a string -const countChar = require("./count"); -// Given a string `str` and a single character `char` to search for, -// When the countChar function is called with these inputs, -// Then it should: - -// Scenario: Multiple Occurrences -// Given the input string `str`, -// And a character `char` that occurs one or more times in `str` (e.g., 'a' in 'aaaaa'), -// When the function is called with these inputs, -// Then it should correctly count occurrences of `char`. - -test("should count multiple occurrences of a character", () => { - const str = "aaaaa"; - const char = "a"; - const count = countChar(str, char); - expect(count).toEqual(5); -}); - -// Scenario: No Occurrences -// Given the input string `str`, -// And a character `char` that does not exist within `str`. -// When the function is called with these inputs, -// Then it should return 0, indicating that no occurrences of `char` were found. diff --git a/Sprint-3/2-practice-tdd/get-ordinal-number.js b/Sprint-3/2-practice-tdd/get-ordinal-number.js deleted file mode 100644 index f95d71db13..0000000000 --- a/Sprint-3/2-practice-tdd/get-ordinal-number.js +++ /dev/null @@ -1,5 +0,0 @@ -function getOrdinalNumber(num) { - return "1st"; -} - -module.exports = getOrdinalNumber; diff --git a/Sprint-3/2-practice-tdd/get-ordinal-number.test.js b/Sprint-3/2-practice-tdd/get-ordinal-number.test.js deleted file mode 100644 index adfa58560f..0000000000 --- a/Sprint-3/2-practice-tdd/get-ordinal-number.test.js +++ /dev/null @@ -1,20 +0,0 @@ -const getOrdinalNumber = require("./get-ordinal-number"); -// In this week's prep, we started implementing getOrdinalNumber. - -// Continue testing and implementing getOrdinalNumber for additional cases. -// Write your tests using Jest — remember to run your tests often for continual feedback. - -// To ensure thorough testing, we need broad scenarios that cover all possible cases. -// Listing individual values, however, can quickly lead to an unmanageable number of test cases. -// Instead of writing tests for individual numbers, consider grouping all possible input values -// into meaningful categories. Then, select representative samples from each category to test. -// This approach improves coverage and makes our tests easier to maintain. - -// Case 1: Numbers ending with 1 (but not 11) -// When the number ends with 1, except those ending with 11, -// Then the function should return a string by appending "st" to the number. -test("should append 'st' for numbers ending with 1, except those ending with 11", () => { - expect(getOrdinalNumber(1)).toEqual("1st"); - expect(getOrdinalNumber(21)).toEqual("21st"); - expect(getOrdinalNumber(131)).toEqual("131st"); -}); diff --git a/Sprint-3/2-practice-tdd/repeat-str.js b/Sprint-3/2-practice-tdd/repeat-str.js deleted file mode 100644 index 2af0a2cea7..0000000000 --- a/Sprint-3/2-practice-tdd/repeat-str.js +++ /dev/null @@ -1,7 +0,0 @@ -function repeatStr() { - // Your implementation of this function must *not* call String.prototype.repeat (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat). - // The goal is to re-implement that function, not to use it. - return "hellohellohello"; -} - -module.exports = repeatStr; diff --git a/Sprint-3/2-practice-tdd/repeat-str.test.js b/Sprint-3/2-practice-tdd/repeat-str.test.js deleted file mode 100644 index a3fc1196c4..0000000000 --- a/Sprint-3/2-practice-tdd/repeat-str.test.js +++ /dev/null @@ -1,32 +0,0 @@ -// Implement a function repeatStr -const repeatStr = require("./repeat-str"); -// Given a target string `str` and a positive integer `count`, -// When the repeatStr function is called with these inputs, -// Then it should: - -// Case: handle multiple repetitions: -// Given a target string `str` and a positive integer `count` greater than 1, -// When the repeatStr function is called with these inputs, -// Then it should return a string that contains the original `str` repeated `count` times. - -test("should repeat the string count times", () => { - const str = "hello"; - const count = 3; - const repeatedStr = repeatStr(str, count); - expect(repeatedStr).toEqual("hellohellohello"); -}); - -// Case: handle count of 1: -// Given a target string `str` and a `count` equal to 1, -// When the repeatStr function is called with these inputs, -// Then it should return the original `str` without repetition. - -// Case: Handle count of 0: -// Given a target string `str` and a `count` equal to 0, -// When the repeatStr function is called with these inputs, -// Then it should return an empty string. - -// Case: Handle negative count: -// Given a target string `str` and a negative integer `count`, -// When the repeatStr function is called with these inputs, -// Then it should throw an error, as negative counts are not valid. diff --git a/Sprint-3/3-dead-code/README.md b/Sprint-3/3-dead-code/README.md deleted file mode 100644 index 2bfbfff819..0000000000 --- a/Sprint-3/3-dead-code/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Refactoring Dead Code - -Here are two example of code that has not been built efficiently. Both files have dead code in them. It's your job to go back through this existing code, identify the dead code, and remove it so the code is ready for production. - -## Instructions - -1. Work through each `exercise` file inside this directory. -2. Delete the dead code. -3. Commit your changes and make a PR when done. diff --git a/Sprint-3/3-dead-code/exercise-1.js b/Sprint-3/3-dead-code/exercise-1.js deleted file mode 100644 index e51f0e5871..0000000000 --- a/Sprint-3/3-dead-code/exercise-1.js +++ /dev/null @@ -1,14 +0,0 @@ -// Find the instances of unreachable and redundant code - remove them! -// The sayHello function should continue to work for any reasonable input it's given. - -const greeting = "hello"; - -function sayHello(greeting, name) { - return `${greeting}, ${name}!`; -} - -testName = "Aman"; - -const greetingMessage = sayHello(greeting, testName); - -console.log(greetingMessage); // 'hello, Aman!' diff --git a/Sprint-3/3-dead-code/exercise-2.js b/Sprint-3/3-dead-code/exercise-2.js deleted file mode 100644 index d865830a2e..0000000000 --- a/Sprint-3/3-dead-code/exercise-2.js +++ /dev/null @@ -1,26 +0,0 @@ -// Remove the unused code that does not contribute to the final console log -// The countAndCapitalisePets function should continue to work for any reasonable input it's given, and you shouldn't modify the pets variable. - -const pets = ["parrot", "hamster", "horse", "dog", "hamster", "cat", "hamster"]; - -const petsStartingWithH = pets.filter((pet) => pet[0] === "h"); - - - -function countAndCapitalisePets(petsArr) { - const petCount = {}; - - petsArr.forEach((pet) => { - const capitalisedPet = pet.toUpperCase(); - if (petCount[capitalisedPet]) { - petCount[capitalisedPet] += 1; - } else { - petCount[capitalisedPet] = 1; - } - }); - return petCount; -} - -const countedPetsStartingWithH = countAndCapitalisePets(petsStartingWithH); - -console.log(countedPetsStartingWithH); // { 'HAMSTER': 3, 'HORSE': 1 } <- Final console log diff --git a/Sprint-3/4-stretch/README.md b/Sprint-3/4-stretch/README.md deleted file mode 100644 index 8f01227bf9..0000000000 --- a/Sprint-3/4-stretch/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# 🔍 Stretch - -These stretch activities are not mandatory, but we hope you will explore them after you have completed the mandatory work. - -In this exercise, you'll need to **play computer** with the function `find`. This function makes use of while loop statement. Your task will be to step through the code to figure out what is happening when the computer executes the code. - -Next, try implementing the functions specified in `password-validator.js`. - -Finally, set up your own script and test files for `card-validator.md` diff --git a/Sprint-3/4-stretch/card-validator.md b/Sprint-3/4-stretch/card-validator.md deleted file mode 100644 index e39c6ace6e..0000000000 --- a/Sprint-3/4-stretch/card-validator.md +++ /dev/null @@ -1,35 +0,0 @@ -## **PROJECT: Credit Card Validator** - -In this project you'll write a script that validates whether or not a credit card number is valid. - -Here are the rules for a valid number: - -- Number must be 16 digits, all of them must be numbers. -- You must have at least two different digits represented (all of the digits cannot be the same). -- The final digit must be even. -- The sum of all the digits must be greater than 16. - -For example, the following credit card numbers are valid: - -```markdown -9999777788880000 -6666666666661666 -``` - -And the following credit card numbers are invalid: - -```markdown -a92332119c011112 (invalid characters) -4444444444444444 (only one type of number) -1111111111111110 (sum less than 16) -6666666666666661 (odd final number) -``` - -These are the requirements your project needs to fulfill: - -- Make a JavaScript file with a name that describes its contents. -- Create a function with a descriptive name which makes it clear what the function does. The function should take one argument, the credit card number to validate. -- Write at least 2 comments that explain to others what a line of code is meant to do. -- Return a boolean from the function to indicate whether the credit card number is valid. - -Good luck! diff --git a/Sprint-3/4-stretch/find.js b/Sprint-3/4-stretch/find.js deleted file mode 100644 index c7e79a2f21..0000000000 --- a/Sprint-3/4-stretch/find.js +++ /dev/null @@ -1,25 +0,0 @@ -function find(str, char) { - let index = 0; - - while (index < str.length) { - if (str[index] === char) { - return index; - } - index++; - } - return -1; -} - -console.log(find("code your future", "u")); -console.log(find("code your future", "z")); - -// The while loop statement allows us to do iteration - the repetition of a certain number of tasks according to some condition -// See the docs https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while - -// Use the Python Visualiser to help you play computer with this example and observe how this code is executed -// Pay particular attention to the following: - -// a) How the index variable updates during the call to find -// b) What is the if statement used to check -// c) Why is index++ being used? -// d) What is the condition index < str.length used for? diff --git a/Sprint-3/4-stretch/password-validator.js b/Sprint-3/4-stretch/password-validator.js deleted file mode 100644 index b55d527dba..0000000000 --- a/Sprint-3/4-stretch/password-validator.js +++ /dev/null @@ -1,6 +0,0 @@ -function passwordValidator(password) { - return password.length < 5 ? false : true -} - - -module.exports = passwordValidator; \ No newline at end of file diff --git a/Sprint-3/4-stretch/password-validator.test.js b/Sprint-3/4-stretch/password-validator.test.js deleted file mode 100644 index 8fa3089d6b..0000000000 --- a/Sprint-3/4-stretch/password-validator.test.js +++ /dev/null @@ -1,26 +0,0 @@ -/* -Password Validation - -Write a program that should check if a password is valid -and returns a boolean - -To be valid, a password must: -- Have at least 5 characters. -- Have at least one English uppercase letter (A-Z) -- Have at least one English lowercase letter (a-z) -- Have at least one number (0-9) -- Have at least one of the following non-alphanumeric symbols: ("!", "#", "$", "%", ".", "*", "&") -- Must not be any previous password in the passwords array. - -You must breakdown this problem in order to solve it. Find one test case first and get that working -*/ -const isValidPassword = require("./password-validator"); -test("password has at least 5 characters", () => { - // Arrange - const password = "12345"; - // Act - const result = isValidPassword(password); - // Assert - expect(result).toEqual(true); -} -); \ No newline at end of file diff --git a/Sprint-3/readme.md b/Sprint-3/readme.md deleted file mode 100644 index 028950b927..0000000000 --- a/Sprint-3/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# 🧭 Guide to week 3 exercises - -> https://programming.codeyourfuture.io/structuring-data/sprints/3/prep/ - -> [!TIP] -> You should always do the prep work _before_ attempting the coursework. -> The prep shows you how to do the coursework. -> There is often a step by step video you can code along with too. -> Do the prep. - -This sprint you are expected to produce multiple different pull requests: - -1. One pull request for the `1-implement-and-rewrite-tests` directory. -2. One pull request for the `2-practice-tdd` directory. -3. One pull request for the `3-dead-code` directory. -4. Optionally, one pull request for the `4-stretch` directory. - -Each directory contains a README.md file with instructions for that directory. diff --git a/contributing.md b/contributing.md deleted file mode 100644 index 602c694383..0000000000 --- a/contributing.md +++ /dev/null @@ -1,19 +0,0 @@ - - -# How To Submit Your Coursework - -Use Git & Github to submit your coursework as a pull request. - -[Creating a pull request](https://curriculum.codeyourfuture.io/guides/create-a-pull-request/) - -## Questions & Help - -Contributing to a remote codebase is a necessary skill for a professional developer. Opening PRs is mandatory at CYF. It is part of the coursework. - -If you cannot submit your coursework you **must** post on Slack to get unblocked. - -[How to get help](./HOW-TO-GET-HELP.md) diff --git a/package.json b/package.json deleted file mode 100644 index 0657e22dd8..0000000000 --- a/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "module-structuring-and-testing-data", - "version": "1.0.0", - "description": "Like learning a musical instrument, programming requires daily practice.", - "main": "index.js", - "scripts": { - "test": "jest" - }, - "keywords": [], - "author": "Code Your Future", - "license": "ISC", - "dependencies": { - "jest": "^29.7.0" - } -} \ No newline at end of file diff --git a/readme.md b/readme.md deleted file mode 100644 index 873178bda5..0000000000 --- a/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# Coursework - -> https://programming.codeyourfuture.io/structuring-data/ - -> [!TIP] -> You should always do the prep work _before_ attempting the coursework. -> The prep shows you _how_ to do the coursework. -> There is often a step by step video you can code along with too. -> Do the prep. - -## Setting up your code editor - -There are some tools that will help you to write code. One of these, [Prettier](https://prettier.io/), formats your code, making it easier for you and others to read. Another tool, [Jest](https://jestjs.io/), is a test runner that will turn on Test Explorer in Visual Studio Code. - -### 1. Using Prettier, Test Runner, and other recommended tools in Visual Studio Code - -- Open this repository in Visual Studio Code -- Accept the prompt to install the recommended extensions - -### 2. Enable formatting on save - -- In Visual Studio open the settings file (see https://code.visualstudio.com/docs/getstarted/settings#_creating-user-and-workspace-settings) -- Search for `editor format` -- Set `editor.formatOnSave` and `editor.formatOnPaste` to true - -### 3. Install the packages for this coursework - -- Open the terminal in Visual Studio Code -- Run `npm install` in the root of this repository diff --git a/run-this-test.png b/run-this-test.png deleted file mode 100644 index d3450ae6ea911732d6c925029c2dfc12de54faba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70276 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 diff --git a/test-results-output.png b/test-results-output.png deleted file mode 100644 index ec09726ca5b9a3845a28040541226073065cf819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219327 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�pM^@nanI<2-qS)V0 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

h&9<^hocZa3W;fh@jcZpJnhfTJR5J4j zDu~P0pIAEkO?W3+#m_h0XK^)RDdLO4Uv*7^dGXQJa_*JnQyR<;A7rno(9v-WiKcq6 zHev-b@;|>r`H^(hg0TuG>Z56BPK@SF3iuwj6W+AL1_M-(ZP79wTuv-+qW)}L`%(*-_idG$&{$}c%d&ZxE-ZkS4OGtJEx84o zOL39p=c9n+P(uE^Wq>q=1}GnZImV^Iyv=_SW3T~8jBAX~!)-=}efMsDJ7CGpK7S7` zz+@_)uC^;!msj8qs|iZN�`>p?2$chHGZh{hZgA4koT1oXgnJ{5G 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 ZS4A$K%`tXLXczc9uVr+uNW=cte*lr_!vFvP From fdeb28478df4279d7629c63e74ea71bbbe896b90 Mon Sep 17 00:00:00 2001 From: russom Date: Sat, 1 Aug 2026 22:21:15 +0100 Subject: [PATCH 19/20] Keep only exercise-1.js and exercise-2.js on this branch --- .github/FUNDING.yml | 2 - .github/workflows/validate-pr-metadata.yml | 18 -------- .gitignore | 13 ++---- .npmrc | 1 - .prettierrc | 19 --------- .vscode/extensions.json | 11 ----- Sprint-1/1-key-exercises/1-count.js | 13 ------ Sprint-1/1-key-exercises/2-initials.js | 12 ------ Sprint-1/1-key-exercises/3-paths.js | 28 ------------- Sprint-1/1-key-exercises/4-random.js | 17 -------- Sprint-1/2-mandatory-errors/0.js | 5 --- Sprint-1/2-mandatory-errors/1.js | 6 --- Sprint-1/2-mandatory-errors/2.js | 10 ----- Sprint-1/2-mandatory-errors/3.js | 17 -------- Sprint-1/2-mandatory-errors/4.js | 6 --- .../1-percentage-change.js | 38 ----------------- .../3-mandatory-interpret/2-time-format.js | 39 ------------------ Sprint-1/3-mandatory-interpret/3-to-pounds.js | 40 ------------------ Sprint-1/4-stretch-explore/chrome.md | 24 ----------- Sprint-1/4-stretch-explore/objects.md | 24 ----------- Sprint-1/readme.md | 35 ---------------- Sprint-2/1-key-errors/0.js | 13 ------ Sprint-2/1-key-errors/1.js | 20 --------- Sprint-2/1-key-errors/2.js | 20 --------- Sprint-2/2-mandatory-debug/0.js | 14 ------- Sprint-2/2-mandatory-debug/1.js | 13 ------ Sprint-2/2-mandatory-debug/2.js | 24 ----------- Sprint-2/3-mandatory-implement/1-bmi.js | 19 --------- Sprint-2/3-mandatory-implement/2-cases.js | 16 -------- Sprint-2/3-mandatory-implement/3-to-pounds.js | 6 --- Sprint-2/4-mandatory-interpret/time-format.js | 38 ----------------- Sprint-2/5-stretch-extend/format-time.js | 25 ----------- Sprint-2/readme.md | 41 ------------------- Sprint-3/3-dead-code/exercise-1.js | 14 +++++++ Sprint-3/3-dead-code/exercise-2.js | 26 ++++++++++++ 35 files changed, 44 insertions(+), 623 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 .github/workflows/validate-pr-metadata.yml delete mode 100644 .npmrc delete mode 100644 .prettierrc delete mode 100644 .vscode/extensions.json delete mode 100644 Sprint-1/1-key-exercises/1-count.js delete mode 100644 Sprint-1/1-key-exercises/2-initials.js delete mode 100644 Sprint-1/1-key-exercises/3-paths.js delete mode 100644 Sprint-1/1-key-exercises/4-random.js delete mode 100644 Sprint-1/2-mandatory-errors/0.js delete mode 100644 Sprint-1/2-mandatory-errors/1.js delete mode 100644 Sprint-1/2-mandatory-errors/2.js delete mode 100644 Sprint-1/2-mandatory-errors/3.js delete mode 100644 Sprint-1/2-mandatory-errors/4.js delete mode 100644 Sprint-1/3-mandatory-interpret/1-percentage-change.js delete mode 100644 Sprint-1/3-mandatory-interpret/2-time-format.js delete mode 100644 Sprint-1/3-mandatory-interpret/3-to-pounds.js delete mode 100644 Sprint-1/4-stretch-explore/chrome.md delete mode 100644 Sprint-1/4-stretch-explore/objects.md delete mode 100644 Sprint-1/readme.md delete mode 100644 Sprint-2/1-key-errors/0.js delete mode 100644 Sprint-2/1-key-errors/1.js delete mode 100644 Sprint-2/1-key-errors/2.js delete mode 100644 Sprint-2/2-mandatory-debug/0.js delete mode 100644 Sprint-2/2-mandatory-debug/1.js delete mode 100644 Sprint-2/2-mandatory-debug/2.js delete mode 100644 Sprint-2/3-mandatory-implement/1-bmi.js delete mode 100644 Sprint-2/3-mandatory-implement/2-cases.js delete mode 100644 Sprint-2/3-mandatory-implement/3-to-pounds.js delete mode 100644 Sprint-2/4-mandatory-interpret/time-format.js delete mode 100644 Sprint-2/5-stretch-extend/format-time.js delete mode 100644 Sprint-2/readme.md create mode 100644 Sprint-3/3-dead-code/exercise-1.js create mode 100644 Sprint-3/3-dead-code/exercise-2.js diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index ea03447fed..0000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: CodeYourFuture -custom: https://codeyourfuture.io/donate diff --git a/.github/workflows/validate-pr-metadata.yml b/.github/workflows/validate-pr-metadata.yml deleted file mode 100644 index 10ef3c74ab..0000000000 --- a/.github/workflows/validate-pr-metadata.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Validate PR Metadata -on: - pull_request_target: - types: - - labeled - - unlabeled - - opened - - edited - - reopened - -jobs: - validate_pr_metadata: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: CodeYourFuture/actions/validate-pr-metadata@main - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 42d97c1c6a..1f39502382 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,4 @@ -node_modules -.DS_Store -.vscode -**/.DS_StoreSprint-3/ -contributing.md -package.json -readme.md -run-this-test.png -test-results-output.png +* +!Sprint-3/3-dead-code/exercise-1.js +!Sprint-3/3-dead-code/exercise-2.js +!.gitignore diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 43c97e719a..0000000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -package-lock=false diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 59bb3b44f1..0000000000 --- a/.prettierrc +++ /dev/null @@ -1,19 +0,0 @@ -{ - "arrowParens": "always", - "bracketSpacing": true, - "embeddedLanguageFormatting": "auto", - "htmlWhitespaceSensitivity": "css", - "insertPragma": false, - "jsxBracketSameLine": false, - "jsxSingleQuote": false, - "printWidth": 80, - "proseWrap": "preserve", - "quoteProps": "as-needed", - "requirePragma": false, - "semi": true, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "es5", - "useTabs": false, - "vueIndentScriptAndStyle": false -} diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 2dd5a24324..0000000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "recommendations": [ - "esbenp.prettier-vscode", - "dbaeumer.vscode-eslint", - "streetsidesoftware.code-spell-checker", - "eamodio.gitlens", - "ritwickdey.LiveServer", - "vsliveshare.vsliveshare", - "Orta.vscode-jest" - ] -} diff --git a/Sprint-1/1-key-exercises/1-count.js b/Sprint-1/1-key-exercises/1-count.js deleted file mode 100644 index c922c77f13..0000000000 --- a/Sprint-1/1-key-exercises/1-count.js +++ /dev/null @@ -1,13 +0,0 @@ -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 - -// Answers -// Line 3 is updating the value of the variable count by adding 1 to its current value. -// The = operator is an assignment operator that takes the value on the right side -// (which is `count + 1`) and assigns it to the variable on the left side (`count`). -// This means that after line 3 is executed, the value of `count` will be incremented by 1. - diff --git a/Sprint-1/1-key-exercises/2-initials.js b/Sprint-1/1-key-exercises/2-initials.js deleted file mode 100644 index 1d04258881..0000000000 --- a/Sprint-1/1-key-exercises/2-initials.js +++ /dev/null @@ -1,12 +0,0 @@ -let firstName = "Creola"; -let middleName = "Katherine"; -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 = firstName[0] + middleName[0] + lastName[0]; -// String indexing is used to access the first character of each string. - -// https://www.google.com/search?q=get+first+character+of+string+mdn - diff --git a/Sprint-1/1-key-exercises/3-paths.js b/Sprint-1/1-key-exercises/3-paths.js deleted file mode 100644 index 8642b63ae9..0000000000 --- a/Sprint-1/1-key-exercises/3-paths.js +++ /dev/null @@ -1,28 +0,0 @@ -// The diagram below shows the different names for parts of a file path on a Unix operating system - -// ┌─────────────────────┬────────────┐ -// │ dir │ base │ -// ├──────┬ ├──────┬─────┤ -// │ root │ │ name │ ext │ -// " / home/user/dir / file .txt " -// └──────┴──────────────┴──────┴─────┘ - -// (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"; -const lastSlashIndex = filePath.lastIndexOf("/"); -const base = filePath.slice(lastSlashIndex + 1); -console.log(`The base part of ${filePath} is ${base}`); -// The base part of /Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt is file.txt - -// 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 = filePath.slice(0, lastSlashIndex); // Keeps everything except the last slash just before week-1/interpret. -const ext = filePath.slice(lastSlashIndex + 1).split(".")[1]; // Keeps everything after the last slash and splits it into an array of strings at the dot. -console.log(`The dir part of ${filePath} is ${dir}`); -console.log(`The ext part of ${filePath} is ${ext}`); -// The dir part of /Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt is /Users/mitch/cyf/Module-JS1/week-1/interpret -// The ext part of /Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt is txt - -// https://www.google.com/search?q=slice+mdn diff --git a/Sprint-1/1-key-exercises/4-random.js b/Sprint-1/1-key-exercises/4-random.js deleted file mode 100644 index f5e9531c1d..0000000000 --- a/Sprint-1/1-key-exercises/4-random.js +++ /dev/null @@ -1,17 +0,0 @@ -const minimum = 1; -const maximum = 100; - -const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; -console.log(num); - -// 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 - -// Answers -// num represents a random integer between 1 and 100, inclusive. -// Math.floor() rounds down to the nearest integer. -// Math.random() generates a random decimal number between 0 and 1 but not including 1. -// maximum - minimum + 1 helps to keep both end of the range 1 to 100 after multiplying by Math.random() -// + minimum shifts the range up to start at 1 instead of 0 \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/0.js b/Sprint-1/2-mandatory-errors/0.js deleted file mode 100644 index ee2b591d3a..0000000000 --- a/Sprint-1/2-mandatory-errors/0.js +++ /dev/null @@ -1,5 +0,0 @@ -/*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 can use forward slash and asterisk for multi-line or block comments as used above line 1 to 3. Or we can use double forward slashes for single line comments as used on this 5. \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/1.js b/Sprint-1/2-mandatory-errors/1.js deleted file mode 100644 index f0dfa9efa4..0000000000 --- a/Sprint-1/2-mandatory-errors/1.js +++ /dev/null @@ -1,6 +0,0 @@ -// trying to create an age variable and then reassign the value by 1 - -const age = 33; -//age = age + 1; The variable age is declared as a constant using the const keyword, which means its value cannot be changed after it is assigned. -const newAge = age + 1; // A new variable called newAge is assigned.This way, we can still calculate the new age without modifying the original constant variable. - diff --git a/Sprint-1/2-mandatory-errors/2.js b/Sprint-1/2-mandatory-errors/2.js deleted file mode 100644 index 88bf05ef4c..0000000000 --- a/Sprint-1/2-mandatory-errors/2.js +++ /dev/null @@ -1,10 +0,0 @@ -// 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"; // The variable cityOfBirth is declared after it is used in the console.log statement. - -// The order of the code should be as below. - -const cityOfBirth = "Bolton"; -console.log(`I was born in ${cityOfBirth}`); diff --git a/Sprint-1/2-mandatory-errors/3.js b/Sprint-1/2-mandatory-errors/3.js deleted file mode 100644 index 75cca0a19c..0000000000 --- a/Sprint-1/2-mandatory-errors/3.js +++ /dev/null @@ -1,17 +0,0 @@ -const cardNumber = "4533787178994213"; // parentises -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 - -// Answer -// "TypeError: cardNumber.slice is not a function" is the error that it was given when running the code. -// This error occurs because the `slice` method is a string method, and `cardNumber` is a number, not a string. -// Therefore, we cannot use `slice` directly on a number. -// To fix the issue, we need to convert `cardNumber` to a string by adding parentises. - - \ No newline at end of file diff --git a/Sprint-1/2-mandatory-errors/4.js b/Sprint-1/2-mandatory-errors/4.js deleted file mode 100644 index a28275c720..0000000000 --- a/Sprint-1/2-mandatory-errors/4.js +++ /dev/null @@ -1,6 +0,0 @@ -const 12HourClockTime = "8:53pm"; -const 24hourClockTime = "20:53"; - -// In js variable names cannot start with a number. The variable names are changed to start with a letter instead of a number as below. -const twelveHourClockTime = "8:53pm"; -const twentyFourHourClockTime = "20:53"; diff --git a/Sprint-1/3-mandatory-interpret/1-percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js deleted file mode 100644 index 6738b16413..0000000000 --- a/Sprint-1/3-mandatory-interpret/1-percentage-change.js +++ /dev/null @@ -1,38 +0,0 @@ -let carPrice = "10,000"; -let priceAfterOneYear = "8,543"; - -carPrice = Number(carPrice.replaceAll(",", "")); -priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," , "")); - -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? - -// Answer -// a) Line 4: Number(carPrice.replaceAll(",", "")); and carPrice.replaceAll(",", "") -// a) Line 5: Number(priceAfterOneYear.replaceAll("," "")); and priceAfterOneYear.replaceAll("," "") - -// b) The error is coming from line 5. The error is occurring in the replaceAll method a comma is missing between ("," "") it should be (",", "") to fix the problem. - -// c) line 4: carPrice = Number(carPrice.replaceAll(",", "")); -// c) line 5: priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," "")); - -// d) Line 1: let carPrice = "10,000"; -// d) Line 2: let priceAfterOneYear = "8,543"; -// d) Line 7: const priceDifference = carPrice - priceAfterOneYear; -// d) Line 8: const percentageChange = (priceDifference / carPrice) * 100; - -// e) Number() is converting the string into a number. replaceAll() is removing the comma from the string. \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/2-time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js deleted file mode 100644 index f5b0bb82a4..0000000000 --- a/Sprint-1/3-mandatory-interpret/2-time-format.js +++ /dev/null @@ -1,39 +0,0 @@ -const movieLength = 8784; // length of movie in seconds - -const remainingSeconds = movieLength % 60; -const totalMinutes = (movieLength - remainingSeconds) / 60; - -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 - -// d) Interpret line 4, what does the expression assigned to totalMinutes mean? - -// e) What do you think the variable result represents? Can you think of a better name for this variable? - -// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer - -// answer - -// a) 6 variables: movieLength, remainingSeconds, totalMinutes, remainingMinutes, totalHours and result - -// b) 1 function calls: console.log(result) - -// c) Reminder operator: movieLength (8784 seconds)is divided by 60 and converted into minutes. The reminder value then stored as seconds. - -// d) It calculates how many full minutes (60 seconds) in movieLength are there excluding the seconds. - -// e) total movie length in hours, minuets and seconds. movieDuration can be an alternative variable. - -// f) I tried negative and decimal number. The code works but it doesn't make any sense to represent with this type of values other than integers. \ No newline at end of file diff --git a/Sprint-1/3-mandatory-interpret/3-to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js deleted file mode 100644 index 5f36e8dbab..0000000000 --- a/Sprint-1/3-mandatory-interpret/3-to-pounds.js +++ /dev/null @@ -1,40 +0,0 @@ -const penceString = "399p"; - -const penceStringWithoutTrailingP = penceString.substring( - 0, - penceString.length - 1 -); - -const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0"); -const pounds = paddedPenceNumberString.substring( - 0, - paddedPenceNumberString.length - 2 -); - -const pence = paddedPenceNumberString - .substring(paddedPenceNumberString.length - 2) - .padEnd(2, "0"); - -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" - -// Answers -// 1) variable const penceStringWithoutTrailingP stores the value of only the pennies part without the p. -// This is done first with penceString.length -1 removes the last index of pence string (p). -// Then penceString.substring(0) returns the characters from 0 to 2 of the indexes(399) - -// 2) paddedPenceNumberString adds 0 at the beginning until the string is 3 characters long to penceStringWithoutTrailingP variable - -// 3) pounds stores 3 by first paddedPenceNumberString.length - 2 removing index 1 and 2. Then paddedPenceNumberString.substring(0) returning index 0. - -// 4) pence store the pennies first .length starting from index 1 then padEnd adding 0 to characters that less than 2 counts. - -// 5) console.log prints out the final result adding a £ sign at the beginning and a . between pounds and pence. \ No newline at end of file diff --git a/Sprint-1/4-stretch-explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md deleted file mode 100644 index 54c43f139b..0000000000 --- a/Sprint-1/4-stretch-explore/chrome.md +++ /dev/null @@ -1,24 +0,0 @@ -Open a new window in Chrome, - -then locate the **Console** tab. - -Voila! You now have access to the [Chrome V8 Engine](https://www.cloudflare.com/en-gb/learning/serverless/glossary/what-is-chrome-v8/). -Just like the Node REPL, you can input JavaScript code into the Console tab and the V8 engine will execute it. - -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? - -- A window pops up with `"Hello world!"` message - -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? - -- a new window popup saying what is your name with a text input field for user to type. - -What is the return value of `prompt`? - -- A text string that input by the user is returned. \ No newline at end of file diff --git a/Sprint-1/4-stretch-explore/objects.md b/Sprint-1/4-stretch-explore/objects.md deleted file mode 100644 index ac760a436a..0000000000 --- a/Sprint-1/4-stretch-explore/objects.md +++ /dev/null @@ -1,24 +0,0 @@ -## Objects - -In this activity, we'll explore some additional concepts that you'll encounter in more depth later on in the course. - -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` -- Object - -Answer the following questions: - -What does `console` store? - -- console means display or print a message - -What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? - -- console.log display data inside log. console.assert is evaluate if a condition is true. The `.` means telling console or any other function to access data inside that object just after the dot. diff --git a/Sprint-1/readme.md b/Sprint-1/readme.md deleted file mode 100644 index 62d24c9580..0000000000 --- a/Sprint-1/readme.md +++ /dev/null @@ -1,35 +0,0 @@ -# 🧭 Guide to Week 1 exercises - -> https://programming.codeyourfuture.io/structuring-data/sprints/1/prep/ - -> [!TIP] -> You should always do the prep work _before_ attempting the coursework. -> The prep shows you _how_ to do the coursework. -> There is often a step by step video you can code along with too. -> Do the prep. - -This README will guide you through the different sections for this week. - -## 1 Exercises - -In this section, you'll have a short program and task. Some of the syntax may be unfamiliar - in this case, you'll need to look things up in documentation. - -https://developer.mozilla.org/en-US/docs/Web/JavaScript - -## 2 Errors - -In this section, you'll need to go to each file in `errors` directory and run the file with node to check what the error is. Your task is to interpret the error message and explain why it occurs. The [errors documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors) will help you figure out the solution. - -## 3 Interpret - -In these tasks, you have to interpret a slightly larger program with some syntax / operators / functions that may be unfamiliar. - -You must use documentation to make sense of anything unfamiliar - learning how to look things up this way is a fundamental part of being a developer! - -You can also use `console.log` to check the value of different variables in the code. - -https://developer.mozilla.org/en-US/docs/Web/JavaScript - -## 4 Explore - Stretch 💪 - -This stretch activity will get you to start exploring new concepts and environments by yourself. It will do so by prompting you to reflect on some questions. diff --git a/Sprint-2/1-key-errors/0.js b/Sprint-2/1-key-errors/0.js deleted file mode 100644 index 653d6f5a07..0000000000 --- a/Sprint-2/1-key-errors/0.js +++ /dev/null @@ -1,13 +0,0 @@ -// Predict and explain first... -// =============> write your prediction here - -// call the function capitalise with a string input -// interpret the error message and figure out why an error is occurring - -function capitalise(str) { - let str = `${str[0].toUpperCase()}${str.slice(1)}`; - return str; -} - -// =============> write your explanation here -// =============> write your new code here diff --git a/Sprint-2/1-key-errors/1.js b/Sprint-2/1-key-errors/1.js deleted file mode 100644 index f2d56151f4..0000000000 --- a/Sprint-2/1-key-errors/1.js +++ /dev/null @@ -1,20 +0,0 @@ -// Predict and explain first... - -// Why will an error occur when this program runs? -// =============> write your prediction here - -// Try playing computer with the example to work out what is going on - -function convertToPercentage(decimalNumber) { - const decimalNumber = 0.5; - const percentage = `${decimalNumber * 100}%`; - - return percentage; -} - -console.log(decimalNumber); - -// =============> write your explanation here - -// Finally, correct the code to fix the problem -// =============> write your new code here diff --git a/Sprint-2/1-key-errors/2.js b/Sprint-2/1-key-errors/2.js deleted file mode 100644 index aad57f7cfe..0000000000 --- a/Sprint-2/1-key-errors/2.js +++ /dev/null @@ -1,20 +0,0 @@ - -// Predict and explain first BEFORE you run any code... - -// this function should square any number but instead we're going to get an error - -// =============> write your prediction of the error here - -function square(3) { - return num * num; -} - -// =============> write the error message here - -// =============> explain this error message here - -// Finally, correct the code to fix the problem - -// =============> write your new code here - - diff --git a/Sprint-2/2-mandatory-debug/0.js b/Sprint-2/2-mandatory-debug/0.js deleted file mode 100644 index b27511b417..0000000000 --- a/Sprint-2/2-mandatory-debug/0.js +++ /dev/null @@ -1,14 +0,0 @@ -// Predict and explain first... - -// =============> write your prediction here - -function multiply(a, b) { - console.log(a * b); -} - -console.log(`The result of multiplying 10 and 32 is ${multiply(10, 32)}`); - -// =============> write your explanation here - -// Finally, correct the code to fix the problem -// =============> write your new code here diff --git a/Sprint-2/2-mandatory-debug/1.js b/Sprint-2/2-mandatory-debug/1.js deleted file mode 100644 index 37cedfbcfd..0000000000 --- a/Sprint-2/2-mandatory-debug/1.js +++ /dev/null @@ -1,13 +0,0 @@ -// Predict and explain first... -// =============> write your prediction here - -function sum(a, b) { - return; - a + b; -} - -console.log(`The sum of 10 and 32 is ${sum(10, 32)}`); - -// =============> write your explanation here -// Finally, correct the code to fix the problem -// =============> write your new code here diff --git a/Sprint-2/2-mandatory-debug/2.js b/Sprint-2/2-mandatory-debug/2.js deleted file mode 100644 index 57d3f5dc35..0000000000 --- a/Sprint-2/2-mandatory-debug/2.js +++ /dev/null @@ -1,24 +0,0 @@ -// Predict and explain first... - -// Predict the output of the following code: -// =============> Write your prediction here - -const num = 103; - -function getLastDigit() { - return num.toString().slice(-1); -} - -console.log(`The last digit of 42 is ${getLastDigit(42)}`); -console.log(`The last digit of 105 is ${getLastDigit(105)}`); -console.log(`The last digit of 806 is ${getLastDigit(806)}`); - -// Now run the code and compare the output to your prediction -// =============> write the output here -// Explain why the output is the way it is -// =============> write your explanation here -// Finally, correct the code to fix the problem -// =============> write your new code here - -// This program should tell the user the last digit of each number. -// Explain why getLastDigit is not working properly - correct the problem diff --git a/Sprint-2/3-mandatory-implement/1-bmi.js b/Sprint-2/3-mandatory-implement/1-bmi.js deleted file mode 100644 index 17b1cbde1b..0000000000 --- a/Sprint-2/3-mandatory-implement/1-bmi.js +++ /dev/null @@ -1,19 +0,0 @@ -// Below are the steps for how BMI is calculated - -// The BMI calculation divides an adult's weight in kilograms (kg) by their height in metres (m) squared. - -// For example, if you weigh 70kg (around 11 stone) and are 1.73m (around 5 feet 8 inches) tall, you work out your BMI by: - -// squaring your height: 1.73 x 1.73 = 2.99 -// dividing 70 by 2.99 = 23.41 -// Your result will be displayed to 1 decimal place, for example 23.4. - -// You will need to implement a function that calculates the BMI of someone based off their weight and height - -// Given someone's weight in kg and height in metres -// Then when we call this function with the weight and height -// It should return their Body Mass Index to 1 decimal place - -function calculateBMI(weight, height) { - // return the BMI of someone based off their weight and height -} \ No newline at end of file diff --git a/Sprint-2/3-mandatory-implement/2-cases.js b/Sprint-2/3-mandatory-implement/2-cases.js deleted file mode 100644 index 5b0ef77ad9..0000000000 --- a/Sprint-2/3-mandatory-implement/2-cases.js +++ /dev/null @@ -1,16 +0,0 @@ -// A set of words can be grouped together in different cases. - -// For example, "hello there" in snake case would be written "hello_there" -// UPPER_SNAKE_CASE means taking a string and writing it in all caps with underscores instead of spaces. - -// Implement a function that: - -// Given a string input like "hello there" -// When we call this function with the input string -// it returns the string in UPPER_SNAKE_CASE, so "HELLO_THERE" - -// Another example: "lord of the rings" should be "LORD_OF_THE_RINGS" - -// You will need to come up with an appropriate name for the function -// Use the MDN string documentation to help you find a solution -// This might help https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase diff --git a/Sprint-2/3-mandatory-implement/3-to-pounds.js b/Sprint-2/3-mandatory-implement/3-to-pounds.js deleted file mode 100644 index 6265a1a703..0000000000 --- a/Sprint-2/3-mandatory-implement/3-to-pounds.js +++ /dev/null @@ -1,6 +0,0 @@ -// In Sprint-1, there is a program written in interpret/to-pounds.js - -// You will need to take this code and turn it into a reusable block of code. -// You will need to declare a function called toPounds with an appropriately named parameter. - -// You should call this function a number of times to check it works for different inputs diff --git a/Sprint-2/4-mandatory-interpret/time-format.js b/Sprint-2/4-mandatory-interpret/time-format.js deleted file mode 100644 index 17127bc01e..0000000000 --- a/Sprint-2/4-mandatory-interpret/time-format.js +++ /dev/null @@ -1,38 +0,0 @@ -function pad(num) { - let numString = num.toString(); - while (numString.length < 2) { - numString = "0" + numString; - } - return numString; -} - -function formatTimeDisplay(seconds) { - const remainingSeconds = seconds % 60; - const totalMinutes = (seconds - remainingSeconds) / 60; - const remainingMinutes = totalMinutes % 60; - const totalHours = (totalMinutes - remainingMinutes) / 60; - - return `${pad(totalHours)}:${pad(remainingMinutes)}:${pad(remainingSeconds)}`; -} - -// You will need to play computer with this example - use the Python Visualiser https://pythontutor.com/visualize.html#mode=edit -// to help you answer these questions - -// Questions - -// a) When formatTimeDisplay is called how many times will pad be called? -// =============> write your answer here - -// Call formatTimeDisplay with an input of 61, now answer the following: - -// b) What is the value assigned to num when pad is called for the first time? -// =============> write your answer here - -// c) What is the return value of pad is called for the first time? -// =============> write your answer here - -// d) What is the value assigned to num when pad is called for the last time in this program? Explain your answer -// =============> write your answer here - -// e) What is the return value of pad when it is called for the last time in this program? Explain your answer -// =============> write your answer here diff --git a/Sprint-2/5-stretch-extend/format-time.js b/Sprint-2/5-stretch-extend/format-time.js deleted file mode 100644 index 32a32e66b8..0000000000 --- a/Sprint-2/5-stretch-extend/format-time.js +++ /dev/null @@ -1,25 +0,0 @@ -// This is the latest solution to the problem from the prep. -// Make sure to do the prep before you do the coursework -// Your task is to write tests for as many different groups of input data or edge cases as you can, and fix any bugs you find. - -function formatAs12HourClock(time) { - const hours = Number(time.slice(0, 2)); - if (hours > 12) { - return `${hours - 12}:00 pm`; - } - return `${time} am`; -} - -const currentOutput = formatAs12HourClock("08:00"); -const targetOutput = "08:00 am"; -console.assert( - currentOutput === targetOutput, - `current output: ${currentOutput}, target output: ${targetOutput}` -); - -const currentOutput2 = formatAs12HourClock("23:00"); -const targetOutput2 = "11:00 pm"; -console.assert( - currentOutput2 === targetOutput2, - `current output: ${currentOutput2}, target output: ${targetOutput2}` -); diff --git a/Sprint-2/readme.md b/Sprint-2/readme.md deleted file mode 100644 index 44c118e338..0000000000 --- a/Sprint-2/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# 🧭 Guide to week 2 exercises - -> https://programming.codeyourfuture.io/structuring-data/sprints/2/prep/ - -> [!TIP] -> You should always do the prep work _before_ attempting the coursework. -> The prep shows you how to do the coursework. -> There is often a step by step video you can code along with too. -> Do the prep. - -## 1 Errors - -In this section, you need to go to each file in `errors` directory. Read the file and predict what error will happen. Then run the file with node to check what the error is. Your task is to interpret the error message and explain why it occurs. The [errors documentation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors) will help you figure out the solution. - -## 2 Debug - -In this section, you need to go to each file in `debug` to **explain and predict** why the program isn't behaving as intended. Then you'll need to run the program with node to check your prediction. You will also need to correct the code too. - -## 3 Implement - -In this section, you will have a short set of requirements about a function. You will need to implement a function based off this set of requirements. Make sure you check your function works for a number of different inputs. - -Here is a recommended order: - -1. `1-bmi.js` -1. `2-cases.js` -1. `3-to-pounds.js` - -## 4 Interpret - -In these tasks, you have to interpret a slightly larger program with some syntax / operators / functions that may be unfamiliar. - -You must use documentation to make sense of anything unfamiliar. Learning how to look things up this way is a fundamental part of being a developer! - -You can also use `console.log` to check the value of different variables in the code. - -## 5 Extend - -In the prep for this sprint, we developed a function to convert 24 hour clock times to 12 hour clock times. - -Your task is to write tests for as many different groups of input data or edge cases as you can, and fix any bugs you find. This section is not mandatory, but it will also help you solve some similar kata in Codewars. diff --git a/Sprint-3/3-dead-code/exercise-1.js b/Sprint-3/3-dead-code/exercise-1.js new file mode 100644 index 0000000000..e51f0e5871 --- /dev/null +++ b/Sprint-3/3-dead-code/exercise-1.js @@ -0,0 +1,14 @@ +// Find the instances of unreachable and redundant code - remove them! +// The sayHello function should continue to work for any reasonable input it's given. + +const greeting = "hello"; + +function sayHello(greeting, name) { + return `${greeting}, ${name}!`; +} + +testName = "Aman"; + +const greetingMessage = sayHello(greeting, testName); + +console.log(greetingMessage); // 'hello, Aman!' diff --git a/Sprint-3/3-dead-code/exercise-2.js b/Sprint-3/3-dead-code/exercise-2.js new file mode 100644 index 0000000000..d865830a2e --- /dev/null +++ b/Sprint-3/3-dead-code/exercise-2.js @@ -0,0 +1,26 @@ +// Remove the unused code that does not contribute to the final console log +// The countAndCapitalisePets function should continue to work for any reasonable input it's given, and you shouldn't modify the pets variable. + +const pets = ["parrot", "hamster", "horse", "dog", "hamster", "cat", "hamster"]; + +const petsStartingWithH = pets.filter((pet) => pet[0] === "h"); + + + +function countAndCapitalisePets(petsArr) { + const petCount = {}; + + petsArr.forEach((pet) => { + const capitalisedPet = pet.toUpperCase(); + if (petCount[capitalisedPet]) { + petCount[capitalisedPet] += 1; + } else { + petCount[capitalisedPet] = 1; + } + }); + return petCount; +} + +const countedPetsStartingWithH = countAndCapitalisePets(petsStartingWithH); + +console.log(countedPetsStartingWithH); // { 'HAMSTER': 3, 'HORSE': 1 } <- Final console log From adb19d83d67889392f27b92a24ed0621ce3749ac Mon Sep 17 00:00:00 2001 From: russom Date: Sat, 1 Aug 2026 22:23:37 +0100 Subject: [PATCH 20/20] Remove .gitignore from repo, keep locally --- .gitignore | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1f39502382..0000000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -* -!Sprint-3/3-dead-code/exercise-1.js -!Sprint-3/3-dead-code/exercise-2.js -!.gitignore