From e00edf2e966201b9951b63d0f2b93bf25572967f Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 14:24:11 +0000 Subject: [PATCH 1/7] sprint 1 - rename folders and order them --- Sprint-1/key-errors/0.js | 2 ++ Sprint-1/key-errors/1.js | 4 +++ Sprint-1/key-errors/2.js | 5 ++++ Sprint-1/key-errors/3.js | 9 +++++++ Sprint-1/key-errors/4.js | 2 ++ Sprint-1/mandatory-exercises/count.js | 6 +++++ Sprint-1/mandatory-exercises/decimal.js | 9 +++++++ Sprint-1/mandatory-exercises/initials.js | 6 +++++ Sprint-1/mandatory-exercises/paths.js | 18 +++++++++++++ Sprint-1/mandatory-exercises/random.js | 9 +++++++ .../mandatory-interpret/percentage-change.js | 22 +++++++++++++++ Sprint-1/mandatory-interpret/time-format.js | 25 +++++++++++++++++ Sprint-1/mandatory-interpret/to-pounds.js | 27 +++++++++++++++++++ Sprint-1/readme.md | 8 ++++++ Sprint-1/stretch-explore/chrome.md | 18 +++++++++++++ Sprint-1/stretch-explore/objects.md | 16 +++++++++++ package.json | 15 +++++++++++ readme.md | 8 +++++- 18 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 Sprint-1/key-errors/0.js create mode 100644 Sprint-1/key-errors/1.js create mode 100644 Sprint-1/key-errors/2.js create mode 100644 Sprint-1/key-errors/3.js create mode 100644 Sprint-1/key-errors/4.js create mode 100644 Sprint-1/mandatory-exercises/count.js create mode 100644 Sprint-1/mandatory-exercises/decimal.js create mode 100644 Sprint-1/mandatory-exercises/initials.js create mode 100644 Sprint-1/mandatory-exercises/paths.js create mode 100644 Sprint-1/mandatory-exercises/random.js create mode 100644 Sprint-1/mandatory-interpret/percentage-change.js create mode 100644 Sprint-1/mandatory-interpret/time-format.js create mode 100644 Sprint-1/mandatory-interpret/to-pounds.js create mode 100644 Sprint-1/stretch-explore/chrome.md create mode 100644 Sprint-1/stretch-explore/objects.md create mode 100644 package.json diff --git a/Sprint-1/key-errors/0.js b/Sprint-1/key-errors/0.js new file mode 100644 index 000000000..cf6c5039f --- /dev/null +++ b/Sprint-1/key-errors/0.js @@ -0,0 +1,2 @@ +This is just an instruction for the first activity - but it is just for human consumption +We don't want the computer to run these 2 lines - how can we solve this problem? \ No newline at end of file diff --git a/Sprint-1/key-errors/1.js b/Sprint-1/key-errors/1.js new file mode 100644 index 000000000..7a43cbea7 --- /dev/null +++ b/Sprint-1/key-errors/1.js @@ -0,0 +1,4 @@ +// trying to create an age variable and then reassign the value by 1 + +const age = 33; +age = age + 1; diff --git a/Sprint-1/key-errors/2.js b/Sprint-1/key-errors/2.js new file mode 100644 index 000000000..e09b89831 --- /dev/null +++ b/Sprint-1/key-errors/2.js @@ -0,0 +1,5 @@ +// Currently trying to print the string "I was born in Bolton" but it isn't working... +// what's the error ? + +console.log(`I was born in ${cityOfBirth}`); +const cityOfBirth = "Bolton"; diff --git a/Sprint-1/key-errors/3.js b/Sprint-1/key-errors/3.js new file mode 100644 index 000000000..ec101884d --- /dev/null +++ b/Sprint-1/key-errors/3.js @@ -0,0 +1,9 @@ +const cardNumber = 4533787178994213; +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 diff --git a/Sprint-1/key-errors/4.js b/Sprint-1/key-errors/4.js new file mode 100644 index 000000000..21dad8c5d --- /dev/null +++ b/Sprint-1/key-errors/4.js @@ -0,0 +1,2 @@ +const 12HourClockTime = "20:53"; +const 24hourClockTime = "08:53"; \ No newline at end of file diff --git a/Sprint-1/mandatory-exercises/count.js b/Sprint-1/mandatory-exercises/count.js new file mode 100644 index 000000000..117bcb2b6 --- /dev/null +++ b/Sprint-1/mandatory-exercises/count.js @@ -0,0 +1,6 @@ +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 diff --git a/Sprint-1/mandatory-exercises/decimal.js b/Sprint-1/mandatory-exercises/decimal.js new file mode 100644 index 000000000..cc5947ce2 --- /dev/null +++ b/Sprint-1/mandatory-exercises/decimal.js @@ -0,0 +1,9 @@ +const num = 56.5678; + +// You should look up Math functions for this exercise https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math + +// Create a variable called wholeNumberPart and assign to it an expression that evaluates to 56 ( the whole number part of num ) +// Create a variable called decimalPart and assign to it an expression that evaluates to 0.5678 ( the decimal part of num ) +// Create a variable called roundedNum and assign to it an expression that evaluates to 57 ( num rounded to the nearest whole number ) + +// Log your variables to the console to check your answers diff --git a/Sprint-1/mandatory-exercises/initials.js b/Sprint-1/mandatory-exercises/initials.js new file mode 100644 index 000000000..6b80cd137 --- /dev/null +++ b/Sprint-1/mandatory-exercises/initials.js @@ -0,0 +1,6 @@ +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. diff --git a/Sprint-1/mandatory-exercises/paths.js b/Sprint-1/mandatory-exercises/paths.js new file mode 100644 index 000000000..c91cd2ab3 --- /dev/null +++ b/Sprint-1/mandatory-exercises/paths.js @@ -0,0 +1,18 @@ +// 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}`); + +// Create a variable to store the dir part of the filePath variable +// Create a variable to store the ext part of the variable diff --git a/Sprint-1/mandatory-exercises/random.js b/Sprint-1/mandatory-exercises/random.js new file mode 100644 index 000000000..292f83aab --- /dev/null +++ b/Sprint-1/mandatory-exercises/random.js @@ -0,0 +1,9 @@ +const minimum = 1; +const maximum = 100; + +const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; + +// In this exercise, you will need to work out what num represents? +// 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 diff --git a/Sprint-1/mandatory-interpret/percentage-change.js b/Sprint-1/mandatory-interpret/percentage-change.js new file mode 100644 index 000000000..e24ecb8e1 --- /dev/null +++ b/Sprint-1/mandatory-interpret/percentage-change.js @@ -0,0 +1,22 @@ +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? diff --git a/Sprint-1/mandatory-interpret/time-format.js b/Sprint-1/mandatory-interpret/time-format.js new file mode 100644 index 000000000..47d239558 --- /dev/null +++ b/Sprint-1/mandatory-interpret/time-format.js @@ -0,0 +1,25 @@ +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 diff --git a/Sprint-1/mandatory-interpret/to-pounds.js b/Sprint-1/mandatory-interpret/to-pounds.js new file mode 100644 index 000000000..60c9ace69 --- /dev/null +++ b/Sprint-1/mandatory-interpret/to-pounds.js @@ -0,0 +1,27 @@ +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" diff --git a/Sprint-1/readme.md b/Sprint-1/readme.md index 8337c4199..ba7c7e092 100644 --- a/Sprint-1/readme.md +++ b/Sprint-1/readme.md @@ -1,5 +1,13 @@ # 🧭 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. ## Exercises diff --git a/Sprint-1/stretch-explore/chrome.md b/Sprint-1/stretch-explore/chrome.md new file mode 100644 index 000000000..e7dd5feaf --- /dev/null +++ b/Sprint-1/stretch-explore/chrome.md @@ -0,0 +1,18 @@ +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? + +Now try invoking the function `prompt` with a string input of `"What is your name?"` - store the return value of your call to `prompt` in an variable called `myName`. + +What effect does calling the `prompt` function have? +What is the return value of `prompt`? diff --git a/Sprint-1/stretch-explore/objects.md b/Sprint-1/stretch-explore/objects.md new file mode 100644 index 000000000..0216dee56 --- /dev/null +++ b/Sprint-1/stretch-explore/objects.md @@ -0,0 +1,16 @@ +## 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? + +Now enter just `console` in the Console, what output do you get back? + +Try also entering `typeof console` + +Answer the following questions: + +What does `console` store? +What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? diff --git a/package.json b/package.json new file mode 100644 index 000000000..0657e22dd --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "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 index b9d0c065e..9be60590a 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,12 @@ # Coursework -Like learning a musical instrument, programming requires daily practice. +> 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 From e5bda8c3d1eb52c52bd634de64d0d19df05861c8 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 14:40:47 +0000 Subject: [PATCH 2/7] update sprint 1 prune repetitive or mathy assignments add scaffolding --- .../count.js => 1-key-exercises/1-count.js} | 0 .../2-initials.js} | 5 ++++ .../paths.js => 1-key-exercises/3-paths.js} | 5 ++++ .../random.js => 1-key-exercises/4-random.js} | 0 Sprint-1/{errors => 2-mandatory-errors}/0.js | 0 Sprint-1/{errors => 2-mandatory-errors}/1.js | 0 Sprint-1/{errors => 2-mandatory-errors}/2.js | 0 Sprint-1/{errors => 2-mandatory-errors}/3.js | 0 Sprint-1/{errors => 2-mandatory-errors}/4.js | 0 .../1-percentage-change.js} | 0 .../2-time-format.js} | 0 .../3-to-pounds.js} | 0 .../{explore => 4-stretch-explore}/chrome.md | 0 .../{explore => 4-stretch-explore}/objects.md | 0 Sprint-1/exercises/decimal.js | 9 ------- Sprint-1/exercises/paths.js | 18 ------------- Sprint-1/interpret/time-format.js | 24 ----------------- Sprint-1/key-errors/0.js | 2 -- Sprint-1/key-errors/1.js | 4 --- Sprint-1/key-errors/2.js | 5 ---- Sprint-1/key-errors/3.js | 9 ------- Sprint-1/key-errors/4.js | 2 -- Sprint-1/mandatory-exercises/count.js | 6 ----- Sprint-1/mandatory-exercises/decimal.js | 9 ------- Sprint-1/mandatory-exercises/initials.js | 6 ----- Sprint-1/mandatory-exercises/random.js | 9 ------- .../mandatory-interpret/percentage-change.js | 22 --------------- Sprint-1/mandatory-interpret/to-pounds.js | 27 ------------------- Sprint-1/readme.md | 16 +++++++---- Sprint-1/stretch-explore/chrome.md | 18 ------------- Sprint-1/stretch-explore/objects.md | 16 ----------- Sprint-2/key-errors/0.js | 13 +++++++++ Sprint-2/key-errors/1.js | 20 ++++++++++++++ Sprint-2/key-errors/2.js | 20 ++++++++++++++ Sprint-2/mandatory-debug/0.js | 14 ++++++++++ Sprint-2/mandatory-debug/1.js | 13 +++++++++ Sprint-2/mandatory-debug/2.js | 24 +++++++++++++++++ Sprint-2/mandatory-implement/bmi.js | 15 +++++++++++ Sprint-2/mandatory-implement/cases.js | 15 +++++++++++ Sprint-2/mandatory-implement/to-pounds.js | 6 +++++ 40 files changed, 161 insertions(+), 191 deletions(-) rename Sprint-1/{exercises/count.js => 1-key-exercises/1-count.js} (100%) rename Sprint-1/{exercises/initials.js => 1-key-exercises/2-initials.js} (76%) rename Sprint-1/{mandatory-exercises/paths.js => 1-key-exercises/3-paths.js} (93%) rename Sprint-1/{exercises/random.js => 1-key-exercises/4-random.js} (100%) rename Sprint-1/{errors => 2-mandatory-errors}/0.js (100%) rename Sprint-1/{errors => 2-mandatory-errors}/1.js (100%) rename Sprint-1/{errors => 2-mandatory-errors}/2.js (100%) rename Sprint-1/{errors => 2-mandatory-errors}/3.js (100%) rename Sprint-1/{errors => 2-mandatory-errors}/4.js (100%) rename Sprint-1/{interpret/percentage-change.js => 3-mandatory-interpret/1-percentage-change.js} (100%) rename Sprint-1/{mandatory-interpret/time-format.js => 3-mandatory-interpret/2-time-format.js} (100%) rename Sprint-1/{interpret/to-pounds.js => 3-mandatory-interpret/3-to-pounds.js} (100%) rename Sprint-1/{explore => 4-stretch-explore}/chrome.md (100%) rename Sprint-1/{explore => 4-stretch-explore}/objects.md (100%) delete mode 100644 Sprint-1/exercises/decimal.js delete mode 100644 Sprint-1/exercises/paths.js delete mode 100644 Sprint-1/interpret/time-format.js delete mode 100644 Sprint-1/key-errors/0.js delete mode 100644 Sprint-1/key-errors/1.js delete mode 100644 Sprint-1/key-errors/2.js delete mode 100644 Sprint-1/key-errors/3.js delete mode 100644 Sprint-1/key-errors/4.js delete mode 100644 Sprint-1/mandatory-exercises/count.js delete mode 100644 Sprint-1/mandatory-exercises/decimal.js delete mode 100644 Sprint-1/mandatory-exercises/initials.js delete mode 100644 Sprint-1/mandatory-exercises/random.js delete mode 100644 Sprint-1/mandatory-interpret/percentage-change.js delete mode 100644 Sprint-1/mandatory-interpret/to-pounds.js delete mode 100644 Sprint-1/stretch-explore/chrome.md delete mode 100644 Sprint-1/stretch-explore/objects.md create mode 100644 Sprint-2/key-errors/0.js create mode 100644 Sprint-2/key-errors/1.js create mode 100644 Sprint-2/key-errors/2.js create mode 100644 Sprint-2/mandatory-debug/0.js create mode 100644 Sprint-2/mandatory-debug/1.js create mode 100644 Sprint-2/mandatory-debug/2.js create mode 100644 Sprint-2/mandatory-implement/bmi.js create mode 100644 Sprint-2/mandatory-implement/cases.js create mode 100644 Sprint-2/mandatory-implement/to-pounds.js diff --git a/Sprint-1/exercises/count.js b/Sprint-1/1-key-exercises/1-count.js similarity index 100% rename from Sprint-1/exercises/count.js rename to Sprint-1/1-key-exercises/1-count.js diff --git a/Sprint-1/exercises/initials.js b/Sprint-1/1-key-exercises/2-initials.js similarity index 76% rename from Sprint-1/exercises/initials.js rename to Sprint-1/1-key-exercises/2-initials.js index 6b80cd137..47561f617 100644 --- a/Sprint-1/exercises/initials.js +++ b/Sprint-1/1-key-exercises/2-initials.js @@ -4,3 +4,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 = ``; + +// https://www.google.com/search?q=get+first+character+of+string+mdn + diff --git a/Sprint-1/mandatory-exercises/paths.js b/Sprint-1/1-key-exercises/3-paths.js similarity index 93% rename from Sprint-1/mandatory-exercises/paths.js rename to Sprint-1/1-key-exercises/3-paths.js index c91cd2ab3..ab90ebb28 100644 --- a/Sprint-1/mandatory-exercises/paths.js +++ b/Sprint-1/1-key-exercises/3-paths.js @@ -16,3 +16,8 @@ console.log(`The base part of ${filePath} is ${base}`); // Create a variable to store the dir part of the filePath variable // Create a variable to store the ext part of the variable + +const dir = ; +const ext = ; + +// https://www.google.com/search?q=slice+mdn \ No newline at end of file diff --git a/Sprint-1/exercises/random.js b/Sprint-1/1-key-exercises/4-random.js similarity index 100% rename from Sprint-1/exercises/random.js rename to Sprint-1/1-key-exercises/4-random.js diff --git a/Sprint-1/errors/0.js b/Sprint-1/2-mandatory-errors/0.js similarity index 100% rename from Sprint-1/errors/0.js rename to Sprint-1/2-mandatory-errors/0.js diff --git a/Sprint-1/errors/1.js b/Sprint-1/2-mandatory-errors/1.js similarity index 100% rename from Sprint-1/errors/1.js rename to Sprint-1/2-mandatory-errors/1.js diff --git a/Sprint-1/errors/2.js b/Sprint-1/2-mandatory-errors/2.js similarity index 100% rename from Sprint-1/errors/2.js rename to Sprint-1/2-mandatory-errors/2.js diff --git a/Sprint-1/errors/3.js b/Sprint-1/2-mandatory-errors/3.js similarity index 100% rename from Sprint-1/errors/3.js rename to Sprint-1/2-mandatory-errors/3.js diff --git a/Sprint-1/errors/4.js b/Sprint-1/2-mandatory-errors/4.js similarity index 100% rename from Sprint-1/errors/4.js rename to Sprint-1/2-mandatory-errors/4.js diff --git a/Sprint-1/interpret/percentage-change.js b/Sprint-1/3-mandatory-interpret/1-percentage-change.js similarity index 100% rename from Sprint-1/interpret/percentage-change.js rename to Sprint-1/3-mandatory-interpret/1-percentage-change.js diff --git a/Sprint-1/mandatory-interpret/time-format.js b/Sprint-1/3-mandatory-interpret/2-time-format.js similarity index 100% rename from Sprint-1/mandatory-interpret/time-format.js rename to Sprint-1/3-mandatory-interpret/2-time-format.js diff --git a/Sprint-1/interpret/to-pounds.js b/Sprint-1/3-mandatory-interpret/3-to-pounds.js similarity index 100% rename from Sprint-1/interpret/to-pounds.js rename to Sprint-1/3-mandatory-interpret/3-to-pounds.js diff --git a/Sprint-1/explore/chrome.md b/Sprint-1/4-stretch-explore/chrome.md similarity index 100% rename from Sprint-1/explore/chrome.md rename to Sprint-1/4-stretch-explore/chrome.md diff --git a/Sprint-1/explore/objects.md b/Sprint-1/4-stretch-explore/objects.md similarity index 100% rename from Sprint-1/explore/objects.md rename to Sprint-1/4-stretch-explore/objects.md diff --git a/Sprint-1/exercises/decimal.js b/Sprint-1/exercises/decimal.js deleted file mode 100644 index cc5947ce2..000000000 --- a/Sprint-1/exercises/decimal.js +++ /dev/null @@ -1,9 +0,0 @@ -const num = 56.5678; - -// You should look up Math functions for this exercise https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math - -// Create a variable called wholeNumberPart and assign to it an expression that evaluates to 56 ( the whole number part of num ) -// Create a variable called decimalPart and assign to it an expression that evaluates to 0.5678 ( the decimal part of num ) -// Create a variable called roundedNum and assign to it an expression that evaluates to 57 ( num rounded to the nearest whole number ) - -// Log your variables to the console to check your answers diff --git a/Sprint-1/exercises/paths.js b/Sprint-1/exercises/paths.js deleted file mode 100644 index c91cd2ab3..000000000 --- a/Sprint-1/exercises/paths.js +++ /dev/null @@ -1,18 +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}`); - -// Create a variable to store the dir part of the filePath variable -// Create a variable to store the ext part of the variable diff --git a/Sprint-1/interpret/time-format.js b/Sprint-1/interpret/time-format.js deleted file mode 100644 index 83232e43a..000000000 --- a/Sprint-1/interpret/time-format.js +++ /dev/null @@ -1,24 +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 - -// 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 diff --git a/Sprint-1/key-errors/0.js b/Sprint-1/key-errors/0.js deleted file mode 100644 index cf6c5039f..000000000 --- a/Sprint-1/key-errors/0.js +++ /dev/null @@ -1,2 +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? \ No newline at end of file diff --git a/Sprint-1/key-errors/1.js b/Sprint-1/key-errors/1.js deleted file mode 100644 index 7a43cbea7..000000000 --- a/Sprint-1/key-errors/1.js +++ /dev/null @@ -1,4 +0,0 @@ -// trying to create an age variable and then reassign the value by 1 - -const age = 33; -age = age + 1; diff --git a/Sprint-1/key-errors/2.js b/Sprint-1/key-errors/2.js deleted file mode 100644 index e09b89831..000000000 --- a/Sprint-1/key-errors/2.js +++ /dev/null @@ -1,5 +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"; diff --git a/Sprint-1/key-errors/3.js b/Sprint-1/key-errors/3.js deleted file mode 100644 index ec101884d..000000000 --- a/Sprint-1/key-errors/3.js +++ /dev/null @@ -1,9 +0,0 @@ -const cardNumber = 4533787178994213; -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 diff --git a/Sprint-1/key-errors/4.js b/Sprint-1/key-errors/4.js deleted file mode 100644 index 21dad8c5d..000000000 --- a/Sprint-1/key-errors/4.js +++ /dev/null @@ -1,2 +0,0 @@ -const 12HourClockTime = "20:53"; -const 24hourClockTime = "08:53"; \ No newline at end of file diff --git a/Sprint-1/mandatory-exercises/count.js b/Sprint-1/mandatory-exercises/count.js deleted file mode 100644 index 117bcb2b6..000000000 --- a/Sprint-1/mandatory-exercises/count.js +++ /dev/null @@ -1,6 +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 diff --git a/Sprint-1/mandatory-exercises/decimal.js b/Sprint-1/mandatory-exercises/decimal.js deleted file mode 100644 index cc5947ce2..000000000 --- a/Sprint-1/mandatory-exercises/decimal.js +++ /dev/null @@ -1,9 +0,0 @@ -const num = 56.5678; - -// You should look up Math functions for this exercise https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math - -// Create a variable called wholeNumberPart and assign to it an expression that evaluates to 56 ( the whole number part of num ) -// Create a variable called decimalPart and assign to it an expression that evaluates to 0.5678 ( the decimal part of num ) -// Create a variable called roundedNum and assign to it an expression that evaluates to 57 ( num rounded to the nearest whole number ) - -// Log your variables to the console to check your answers diff --git a/Sprint-1/mandatory-exercises/initials.js b/Sprint-1/mandatory-exercises/initials.js deleted file mode 100644 index 6b80cd137..000000000 --- a/Sprint-1/mandatory-exercises/initials.js +++ /dev/null @@ -1,6 +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. diff --git a/Sprint-1/mandatory-exercises/random.js b/Sprint-1/mandatory-exercises/random.js deleted file mode 100644 index 292f83aab..000000000 --- a/Sprint-1/mandatory-exercises/random.js +++ /dev/null @@ -1,9 +0,0 @@ -const minimum = 1; -const maximum = 100; - -const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum; - -// In this exercise, you will need to work out what num represents? -// 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 diff --git a/Sprint-1/mandatory-interpret/percentage-change.js b/Sprint-1/mandatory-interpret/percentage-change.js deleted file mode 100644 index e24ecb8e1..000000000 --- a/Sprint-1/mandatory-interpret/percentage-change.js +++ /dev/null @@ -1,22 +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? diff --git a/Sprint-1/mandatory-interpret/to-pounds.js b/Sprint-1/mandatory-interpret/to-pounds.js deleted file mode 100644 index 60c9ace69..000000000 --- a/Sprint-1/mandatory-interpret/to-pounds.js +++ /dev/null @@ -1,27 +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" diff --git a/Sprint-1/readme.md b/Sprint-1/readme.md index ba7c7e092..62d24c958 100644 --- a/Sprint-1/readme.md +++ b/Sprint-1/readme.md @@ -10,20 +10,26 @@ This README will guide you through the different sections for this week. -## Exercises +## 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. +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. -## Errors +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. -## Interpret +## 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. -## Explore - Stretch 💪 +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-1/stretch-explore/chrome.md b/Sprint-1/stretch-explore/chrome.md deleted file mode 100644 index e7dd5feaf..000000000 --- a/Sprint-1/stretch-explore/chrome.md +++ /dev/null @@ -1,18 +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? - -Now try invoking the function `prompt` with a string input of `"What is your name?"` - store the return value of your call to `prompt` in an variable called `myName`. - -What effect does calling the `prompt` function have? -What is the return value of `prompt`? diff --git a/Sprint-1/stretch-explore/objects.md b/Sprint-1/stretch-explore/objects.md deleted file mode 100644 index 0216dee56..000000000 --- a/Sprint-1/stretch-explore/objects.md +++ /dev/null @@ -1,16 +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? - -Now enter just `console` in the Console, what output do you get back? - -Try also entering `typeof console` - -Answer the following questions: - -What does `console` store? -What does the syntax `console.log` or `console.assert` mean? In particular, what does the `.` mean? diff --git a/Sprint-2/key-errors/0.js b/Sprint-2/key-errors/0.js new file mode 100644 index 000000000..653d6f5a0 --- /dev/null +++ b/Sprint-2/key-errors/0.js @@ -0,0 +1,13 @@ +// 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/key-errors/1.js b/Sprint-2/key-errors/1.js new file mode 100644 index 000000000..f2d56151f --- /dev/null +++ b/Sprint-2/key-errors/1.js @@ -0,0 +1,20 @@ +// 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/key-errors/2.js b/Sprint-2/key-errors/2.js new file mode 100644 index 000000000..aad57f7cf --- /dev/null +++ b/Sprint-2/key-errors/2.js @@ -0,0 +1,20 @@ + +// 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/mandatory-debug/0.js b/Sprint-2/mandatory-debug/0.js new file mode 100644 index 000000000..b27511b41 --- /dev/null +++ b/Sprint-2/mandatory-debug/0.js @@ -0,0 +1,14 @@ +// 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/mandatory-debug/1.js b/Sprint-2/mandatory-debug/1.js new file mode 100644 index 000000000..37cedfbcf --- /dev/null +++ b/Sprint-2/mandatory-debug/1.js @@ -0,0 +1,13 @@ +// 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/mandatory-debug/2.js b/Sprint-2/mandatory-debug/2.js new file mode 100644 index 000000000..57d3f5dc3 --- /dev/null +++ b/Sprint-2/mandatory-debug/2.js @@ -0,0 +1,24 @@ +// 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/mandatory-implement/bmi.js b/Sprint-2/mandatory-implement/bmi.js new file mode 100644 index 000000000..259f62d48 --- /dev/null +++ b/Sprint-2/mandatory-implement/bmi.js @@ -0,0 +1,15 @@ +// 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 diff --git a/Sprint-2/mandatory-implement/cases.js b/Sprint-2/mandatory-implement/cases.js new file mode 100644 index 000000000..9e56a27b6 --- /dev/null +++ b/Sprint-2/mandatory-implement/cases.js @@ -0,0 +1,15 @@ +// 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 string documentation to help you find a solution diff --git a/Sprint-2/mandatory-implement/to-pounds.js b/Sprint-2/mandatory-implement/to-pounds.js new file mode 100644 index 000000000..6265a1a70 --- /dev/null +++ b/Sprint-2/mandatory-implement/to-pounds.js @@ -0,0 +1,6 @@ +// 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 From 4da80d06ecdb80e08c37983b27a6b0ed7d8993e7 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 15:20:39 +0000 Subject: [PATCH 3/7] updated sprint 2 scaffold each script file with faded examples https://cafe.cognitiveload.com.au/kb/fadedworkedexamples --- Sprint-2/{key-errors => 1-key-errors}/0.js | 0 Sprint-2/{key-errors => 1-key-errors}/1.js | 0 Sprint-2/{key-errors => 1-key-errors}/2.js | 0 .../0.js | 0 .../1.js | 0 .../2.js | 0 .../bmi.js => 3-mandatory-implement/1-bmi.js} | 4 +++ .../2-cases.js} | 3 +- .../3-to-pounds.js} | 0 .../time-format.js | 9 ++++-- .../format-time.js | 1 + Sprint-2/debug/0.js | 7 ----- Sprint-2/debug/1.js | 8 ----- Sprint-2/debug/2.js | 14 --------- Sprint-2/errors/0.js | 9 ------ Sprint-2/errors/1.js | 13 -------- Sprint-2/errors/2.js | 10 ------ Sprint-2/implement/vat.js | 10 ------ Sprint-2/mandatory-implement/bmi.js | 15 --------- Sprint-2/mandatory-implement/cases.js | 15 --------- Sprint-2/mandatory-implement/to-pounds.js | 6 ---- Sprint-2/readme.md | 31 +++++++++++++------ 22 files changed, 34 insertions(+), 121 deletions(-) rename Sprint-2/{key-errors => 1-key-errors}/0.js (100%) rename Sprint-2/{key-errors => 1-key-errors}/1.js (100%) rename Sprint-2/{key-errors => 1-key-errors}/2.js (100%) rename Sprint-2/{mandatory-debug => 2-mandatory-debug}/0.js (100%) rename Sprint-2/{mandatory-debug => 2-mandatory-debug}/1.js (100%) rename Sprint-2/{mandatory-debug => 2-mandatory-debug}/2.js (100%) rename Sprint-2/{implement/bmi.js => 3-mandatory-implement/1-bmi.js} (86%) rename Sprint-2/{implement/cases.js => 3-mandatory-implement/2-cases.js} (75%) rename Sprint-2/{implement/to-pounds.js => 3-mandatory-implement/3-to-pounds.js} (100%) rename Sprint-2/{interpret => 4-mandatory-interpret}/time-format.js (78%) rename Sprint-2/{extend => 5-stretch-extend}/format-time.js (93%) delete mode 100644 Sprint-2/debug/0.js delete mode 100644 Sprint-2/debug/1.js delete mode 100644 Sprint-2/debug/2.js delete mode 100644 Sprint-2/errors/0.js delete mode 100644 Sprint-2/errors/1.js delete mode 100644 Sprint-2/errors/2.js delete mode 100644 Sprint-2/implement/vat.js delete mode 100644 Sprint-2/mandatory-implement/bmi.js delete mode 100644 Sprint-2/mandatory-implement/cases.js delete mode 100644 Sprint-2/mandatory-implement/to-pounds.js diff --git a/Sprint-2/key-errors/0.js b/Sprint-2/1-key-errors/0.js similarity index 100% rename from Sprint-2/key-errors/0.js rename to Sprint-2/1-key-errors/0.js diff --git a/Sprint-2/key-errors/1.js b/Sprint-2/1-key-errors/1.js similarity index 100% rename from Sprint-2/key-errors/1.js rename to Sprint-2/1-key-errors/1.js diff --git a/Sprint-2/key-errors/2.js b/Sprint-2/1-key-errors/2.js similarity index 100% rename from Sprint-2/key-errors/2.js rename to Sprint-2/1-key-errors/2.js diff --git a/Sprint-2/mandatory-debug/0.js b/Sprint-2/2-mandatory-debug/0.js similarity index 100% rename from Sprint-2/mandatory-debug/0.js rename to Sprint-2/2-mandatory-debug/0.js diff --git a/Sprint-2/mandatory-debug/1.js b/Sprint-2/2-mandatory-debug/1.js similarity index 100% rename from Sprint-2/mandatory-debug/1.js rename to Sprint-2/2-mandatory-debug/1.js diff --git a/Sprint-2/mandatory-debug/2.js b/Sprint-2/2-mandatory-debug/2.js similarity index 100% rename from Sprint-2/mandatory-debug/2.js rename to Sprint-2/2-mandatory-debug/2.js diff --git a/Sprint-2/implement/bmi.js b/Sprint-2/3-mandatory-implement/1-bmi.js similarity index 86% rename from Sprint-2/implement/bmi.js rename to Sprint-2/3-mandatory-implement/1-bmi.js index 259f62d48..17b1cbde1 100644 --- a/Sprint-2/implement/bmi.js +++ b/Sprint-2/3-mandatory-implement/1-bmi.js @@ -13,3 +13,7 @@ // 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/implement/cases.js b/Sprint-2/3-mandatory-implement/2-cases.js similarity index 75% rename from Sprint-2/implement/cases.js rename to Sprint-2/3-mandatory-implement/2-cases.js index 9e56a27b6..5b0ef77ad 100644 --- a/Sprint-2/implement/cases.js +++ b/Sprint-2/3-mandatory-implement/2-cases.js @@ -12,4 +12,5 @@ // 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 string documentation to help you find a solution +// 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/implement/to-pounds.js b/Sprint-2/3-mandatory-implement/3-to-pounds.js similarity index 100% rename from Sprint-2/implement/to-pounds.js rename to Sprint-2/3-mandatory-implement/3-to-pounds.js diff --git a/Sprint-2/interpret/time-format.js b/Sprint-2/4-mandatory-interpret/time-format.js similarity index 78% rename from Sprint-2/interpret/time-format.js rename to Sprint-2/4-mandatory-interpret/time-format.js index c5a0c1619..7c98eb0e8 100644 --- a/Sprint-2/interpret/time-format.js +++ b/Sprint-2/4-mandatory-interpret/time-format.js @@ -8,9 +8,7 @@ function formatTimeDisplay(seconds) { const remainingMinutes = totalMinutes % 60; const totalHours = (totalMinutes - remainingMinutes) / 60; - return `${pad(totalHours)}:${pad(remainingMinutes)}:${pad( - remainingSeconds - )}`; + 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 @@ -19,13 +17,18 @@ function formatTimeDisplay(seconds) { // 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 assigned to num when pad is called for the last time in this program? Explain your answer +// =============> write your answer here diff --git a/Sprint-2/extend/format-time.js b/Sprint-2/5-stretch-extend/format-time.js similarity index 93% rename from Sprint-2/extend/format-time.js rename to Sprint-2/5-stretch-extend/format-time.js index f3b83062d..32a32e66b 100644 --- a/Sprint-2/extend/format-time.js +++ b/Sprint-2/5-stretch-extend/format-time.js @@ -1,4 +1,5 @@ // 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) { diff --git a/Sprint-2/debug/0.js b/Sprint-2/debug/0.js deleted file mode 100644 index b46d471a8..000000000 --- a/Sprint-2/debug/0.js +++ /dev/null @@ -1,7 +0,0 @@ -// Predict and explain first... - -function multiply(a, b) { - console.log(a * b); -} - -console.log(`The result of multiplying 10 and 32 is ${multiply(10, 32)}`); diff --git a/Sprint-2/debug/1.js b/Sprint-2/debug/1.js deleted file mode 100644 index df4020cae..000000000 --- a/Sprint-2/debug/1.js +++ /dev/null @@ -1,8 +0,0 @@ -// Predict and explain first... - -function sum(a, b) { - return; - a + b; -} - -console.log(`The sum of 10 and 32 is ${sum(10, 32)}`); diff --git a/Sprint-2/debug/2.js b/Sprint-2/debug/2.js deleted file mode 100644 index bae9652a8..000000000 --- a/Sprint-2/debug/2.js +++ /dev/null @@ -1,14 +0,0 @@ -// Predict and explain first... - -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)}`); - -// 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/errors/0.js b/Sprint-2/errors/0.js deleted file mode 100644 index 74640e118..000000000 --- a/Sprint-2/errors/0.js +++ /dev/null @@ -1,9 +0,0 @@ -// Predict and explain first... - -// 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; -} diff --git a/Sprint-2/errors/1.js b/Sprint-2/errors/1.js deleted file mode 100644 index 4602ed237..000000000 --- a/Sprint-2/errors/1.js +++ /dev/null @@ -1,13 +0,0 @@ -// Predict and explain first... - -// Why will an error occur when this program runs? -// 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); diff --git a/Sprint-2/errors/2.js b/Sprint-2/errors/2.js deleted file mode 100644 index 814334d9e..000000000 --- a/Sprint-2/errors/2.js +++ /dev/null @@ -1,10 +0,0 @@ - -// Predict and explain first... - -// this function should square any number but instead we're going to get an error - -function square(3) { - return num * num; -} - - diff --git a/Sprint-2/implement/vat.js b/Sprint-2/implement/vat.js deleted file mode 100644 index 3fb167226..000000000 --- a/Sprint-2/implement/vat.js +++ /dev/null @@ -1,10 +0,0 @@ -// If products or services are subject to the 20% standard rate of VAT: -// You must add 20% to the price you charge for the goods or service. -// You can do this by multiplying the price you charge by 1.2. -// For example, if your business sells sports equipment for £50, you multiply £50 by 1.2 for a total VAT inclusive price of £60. - -// Implement a function that calculates the new price with VAT (Value Added Tax) added on - -// Given a number, -// When I call this function with a number -// it returns the new price with VAT added on diff --git a/Sprint-2/mandatory-implement/bmi.js b/Sprint-2/mandatory-implement/bmi.js deleted file mode 100644 index 259f62d48..000000000 --- a/Sprint-2/mandatory-implement/bmi.js +++ /dev/null @@ -1,15 +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 diff --git a/Sprint-2/mandatory-implement/cases.js b/Sprint-2/mandatory-implement/cases.js deleted file mode 100644 index 9e56a27b6..000000000 --- a/Sprint-2/mandatory-implement/cases.js +++ /dev/null @@ -1,15 +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 string documentation to help you find a solution diff --git a/Sprint-2/mandatory-implement/to-pounds.js b/Sprint-2/mandatory-implement/to-pounds.js deleted file mode 100644 index 6265a1a70..000000000 --- a/Sprint-2/mandatory-implement/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/readme.md b/Sprint-2/readme.md index d9be7aca3..0e7cd80bc 100644 --- a/Sprint-2/readme.md +++ b/Sprint-2/readme.md @@ -1,30 +1,41 @@ # 🧭 Guide to week 2 exercises -## Errors +> 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. -## Debug +## 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. -## Implement +## 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. `to-pounds.js` -2. `vat.js` -3. `cases.js` -4. `bmi.js` +1. `1-bmi.js` +1. `2-cases.js` +1. `3-to-pounds.js` -## Interpret +## 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. -## Extend +## 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. + +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 will also help you solve some similar kata in Codewars. From 7d8699ef2e0a369a488dc621961abd8b7b11e356 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 15:21:14 +0000 Subject: [PATCH 4/7] Update Sprint 3 reduce tasks, add naively passing tests --- Sprint-3/1-key-implement/1-get-angle-type.js | 56 +++++++++++++++ .../2-is-proper-fraction.js} | 37 +++++++--- .../3-get-card-value.js} | 22 +++++- .../2-mandatory-rewrite/1-get-angle-type.js | 18 +++++ .../1-get-angle-type.test.js} | 23 +++--- .../2-is-proper-fraction.js | 6 ++ .../2-is-proper-fraction.test.js | 11 +++ .../2-mandatory-rewrite/3-get-card-value.js | 5 ++ .../3-get-card-value.test.js | 11 +++ .../3-mandatory-practice/implement/count.js | 5 ++ .../implement/count.test.js | 9 ++- .../implement/get-ordinal-number.js | 5 ++ .../implement/get-ordinal-number.test.js | 13 ++++ .../3-mandatory-practice/implement/repeat.js | 5 ++ .../implement/repeat.test.js | 9 ++- .../card-validator.md | 0 .../find.js | 0 .../password-validator.js | 6 ++ .../password-validator.test.js | 10 +++ Sprint-3/implement/is-valid-triangle.js | 35 --------- Sprint-3/implement/rotate-char.js | 43 ----------- Sprint-3/readme.md | 71 +++++++++++++++++-- .../implement/get-ordinal-number.test.js | 4 -- Sprint-3/revise/implement/is-prime.test.js | 3 - Sprint-3/revise/readme.md | 36 ---------- 25 files changed, 290 insertions(+), 153 deletions(-) create mode 100644 Sprint-3/1-key-implement/1-get-angle-type.js rename Sprint-3/{implement/is-proper-fraction.js => 1-key-implement/2-is-proper-fraction.js} (54%) rename Sprint-3/{implement/get-card-value.js => 1-key-implement/3-get-card-value.js} (59%) create mode 100644 Sprint-3/2-mandatory-rewrite/1-get-angle-type.js rename Sprint-3/{implement/get-angle-type.js => 2-mandatory-rewrite/1-get-angle-type.test.js} (52%) create mode 100644 Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.js create mode 100644 Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.test.js create mode 100644 Sprint-3/2-mandatory-rewrite/3-get-card-value.js create mode 100644 Sprint-3/2-mandatory-rewrite/3-get-card-value.test.js create mode 100644 Sprint-3/3-mandatory-practice/implement/count.js rename Sprint-3/{revise => 3-mandatory-practice}/implement/count.test.js (80%) create mode 100644 Sprint-3/3-mandatory-practice/implement/get-ordinal-number.js create mode 100644 Sprint-3/3-mandatory-practice/implement/get-ordinal-number.test.js create mode 100644 Sprint-3/3-mandatory-practice/implement/repeat.js rename Sprint-3/{revise => 3-mandatory-practice}/implement/repeat.test.js (82%) rename Sprint-3/{revise/implement => 4-stretch-investigate}/card-validator.md (100%) rename Sprint-3/{revise/investigate => 4-stretch-investigate}/find.js (100%) create mode 100644 Sprint-3/4-stretch-investigate/password-validator.js rename Sprint-3/{revise/implement => 4-stretch-investigate}/password-validator.test.js (68%) delete mode 100644 Sprint-3/implement/is-valid-triangle.js delete mode 100644 Sprint-3/implement/rotate-char.js delete mode 100644 Sprint-3/revise/implement/get-ordinal-number.test.js delete mode 100644 Sprint-3/revise/implement/is-prime.test.js delete mode 100644 Sprint-3/revise/readme.md diff --git a/Sprint-3/1-key-implement/1-get-angle-type.js b/Sprint-3/1-key-implement/1-get-angle-type.js new file mode 100644 index 000000000..08d1f0cba --- /dev/null +++ b/Sprint-3/1-key-implement/1-get-angle-type.js @@ -0,0 +1,56 @@ +// Implement a function getAngleType +// Build up your function case by case, writing tests as you go +// The first test and case is written for you. The next case has a test, but no code. +// Execute this script in your terminal +// node 1-get-angle-type.js +// The assertion error will tell you what the expected output is +// Write the code to pass the test +// Then, write the next test! :) Go through this process until all the cases are implemented + +function getAngleType(angle) { + if (angle === 90) return "Right angle"; + // read to the end, complete line 36, then pass your test here +} + +// we're going to use this helper function 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}` + ); +} + +// Acceptance criteria: + +// Given an angle in degrees, +// When the function getAngleType is called with this angle, +// Then it should: + +// Case 1: Identify Right Angles: +// When the angle is exactly 90 degrees, +// Then the function should return "Right angle" +const right = getAngleType(90); +assertEquals(right, "Right angle"); + +// Case 2: Identify Acute Angles: +// When the angle is less than 90 degrees, +// Then the function should return "Acute angle" +const acute = getAngleType(45); +assertEquals(acute, "Acute angle"); + +// Case 3: Identify Obtuse Angles: +// When the angle is greater than 90 degrees and less than 180 degrees, +// Then the function should return "Obtuse angle" +const obtuse = getAngleType(120); +// ====> write your test here, and then add a line to pass the test in the function above + +// Case 4: Identify Straight Angles: +// When the angle is exactly 180 degrees, +// Then the function should return "Straight angle" +// ====> write your test here, and then add a line to pass the test in the function above + +// Case 5: Identify Reflex Angles: +// When the angle is greater than 180 degrees and less than 360 degrees, +// Then the function should return "Reflex angle" +// ====> write your test here, and then add a line to pass the test in the function above \ No newline at end of file diff --git a/Sprint-3/implement/is-proper-fraction.js b/Sprint-3/1-key-implement/2-is-proper-fraction.js similarity index 54% rename from Sprint-3/implement/is-proper-fraction.js rename to Sprint-3/1-key-implement/2-is-proper-fraction.js index 6493da0be..91583e941 100644 --- a/Sprint-3/implement/is-proper-fraction.js +++ b/Sprint-3/1-key-implement/2-is-proper-fraction.js @@ -1,9 +1,23 @@ -// You wil need to implement a function isProperFraction -// You need to write assertions for your function to check it works in different cases - +// Implement a function isProperFraction +// Write assertions for your function to check it works in different cases // Terms: // Fractions: https://www.bbc.co.uk/bitesize/topics/zt9n6g8/articles/zjxpp4j // Written here like this: 1/2 == Numerator/Denominator +// the first test and first case is written for you +// complete the rest of the tests and cases +// write one test at a time, and make it pass, build your solution up methodically + +function isProperFraction(numerator, denominator) { + if (numerator < denominator) return true; +} + +// here's our helper again +function assertEquals(actualOutput, targetOutput) { + console.assert( + actualOutput === targetOutput, + `Expected ${actualOutput} to equal ${targetOutput}` + ); +} // Acceptance criteria: @@ -11,24 +25,29 @@ // Input: numerator = 2, denominator = 3 // target output: true // Explanation: The fraction 2/3 is a proper fraction, where the numerator is less than the denominator. The function should return true. +const properFraction = isProperFraction(2, 3); +assertEquals(properFraction, true); // Improper Fraction check: // Input: numerator = 5, denominator = 2 // target output: false // Explanation: The fraction 5/2 is an improper fraction, where the numerator is greater than or equal to the denominator. The function should return false. - -// Zero Denominator check: -// Input: numerator = 3, denominator = 0 -// No target output: Error (Denominator cannot be zero) -// Explanation: The function should throw an error when the denominator is zero, as it's not a valid fraction. +const improperFraction = isProperFraction(5, 2); +assertEquals(improperFraction, false); // Negative Fraction check: // Input: numerator = -4, denominator = 7 // target output: true // Explanation: The fraction -4/7 is a proper fraction because the absolute value of the numerator (4) is less than the denominator (7). The function should return true. +const negativeFraction = isProperFraction(-4, 7); +// ====> complete with your assertion // Equal Numerator and Denominator check: // Input: numerator = 3, denominator = 3 // target output: false // Explanation: The fraction 3/3 is not a proper fraction because the numerator is equal to the denominator. The function should return false. -// These acceptance criteria cover a range of scenarios to ensure that the isProperFraction function handles both proper and improper fractions correctly and handles potential errors such as a zero denominator. +const equalFraction = isProperFraction(3, 3); +// ====> complete with your assertion + +// Stretch: +// What other scenarios could you test for? diff --git a/Sprint-3/implement/get-card-value.js b/Sprint-3/1-key-implement/3-get-card-value.js similarity index 59% rename from Sprint-3/implement/get-card-value.js rename to Sprint-3/1-key-implement/3-get-card-value.js index edaeb8275..aa1cc9f90 100644 --- a/Sprint-3/implement/get-card-value.js +++ b/Sprint-3/1-key-implement/3-get-card-value.js @@ -1,19 +1,39 @@ // This problem involves playing cards: https://en.wikipedia.org/wiki/Standard_52-card_deck // You will need to implement a function getCardValue +// the function takes a single parameter, a string representing a playing card +// the function should return the numerical value of the card +// the first test and first case is written for you +// complete the rest of the tests and cases +// write one test at a time, and make it pass, build your solution up methodically +// just make one change at a time -- don't rush -- programmers are deep and careful thinkers +function getCardValue(card) { + if (rank === "A") return 11; +} // You need to write assertions for your function to check it works in different cases - +// we're going to use this helper function 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}` + ); +} // Acceptance criteria: // Given a card string in the format "A♠" (representing a card in blackjack - the last character will always be an emoji for a suit, and all characters before will be a number 2-10, or one letter of J, Q, K, A), // When the function getCardValue is called with this card string as input, // Then it should return the numerical card value +const aceofSpades = getCardValue("A♠"); +assertEquals(aceofSpades, 11); // Handle Number Cards (2-10): // Given a card with a rank between "2" and "9", // When the function is called with such a card, // Then it should return the numeric value corresponding to the rank (e.g., "5" should return 5). +const fiveofHearts = getCardValue("5♥"); +// ====> write your test here, and then add a line to pass the test in the function above // Handle Face Cards (J, Q, K): // Given a card with a rank of "10," "J," "Q," or "K", diff --git a/Sprint-3/2-mandatory-rewrite/1-get-angle-type.js b/Sprint-3/2-mandatory-rewrite/1-get-angle-type.js new file mode 100644 index 000000000..d61254bd7 --- /dev/null +++ b/Sprint-3/2-mandatory-rewrite/1-get-angle-type.js @@ -0,0 +1,18 @@ +function getAngleType(angle) { + if (angle === 90) return "Right angle"; + // replace with your completed function from key-implement + +} + + + + + + + + +// Don't get bogged down in this detail +// Jest uses CommonJS module syntax by default as it's quite old +// We will upgrade our approach to ES6 modules in the next course module, so for now +// we have just written the CommonJS module.exports syntax for you +module.exports = getAngleType; \ No newline at end of file diff --git a/Sprint-3/implement/get-angle-type.js b/Sprint-3/2-mandatory-rewrite/1-get-angle-type.test.js similarity index 52% rename from Sprint-3/implement/get-angle-type.js rename to Sprint-3/2-mandatory-rewrite/1-get-angle-type.test.js index db952494f..b62827b7c 100644 --- a/Sprint-3/implement/get-angle-type.js +++ b/Sprint-3/2-mandatory-rewrite/1-get-angle-type.test.js @@ -1,27 +1,24 @@ -// Implement a function getAngleType +const getAngleType = require("./1-get-angle-type"); -// Acceptance criteria: +test("should identify right angle (90°)", () => { + expect(getAngleType(90)).toEqual("Right angle"); +}); -// Given an angle in degrees, -// When the function getAngleType is called with this angle, -// Then it should: +// REPLACE the comments with the tests +// make your test descriptions as clear and readable as possible -// Identify Right Angles: -// When the angle is exactly 90 degrees, -// Then the function should return "Right angle" - -// Identify Acute Angles: +// Case 2: Identify Acute Angles: // When the angle is less than 90 degrees, // Then the function should return "Acute angle" -// Identify Obtuse Angles: +// Case 3: Identify Obtuse Angles: // When the angle is greater than 90 degrees and less than 180 degrees, // Then the function should return "Obtuse angle" -// Identify Straight Angles: +// Case 4: Identify Straight Angles: // When the angle is exactly 180 degrees, // Then the function should return "Straight angle" -// Identify Reflex Angles: +// Case 5: Identify Reflex Angles: // When the angle is greater than 180 degrees and less than 360 degrees, // Then the function should return "Reflex angle" diff --git a/Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.js b/Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.js new file mode 100644 index 000000000..9836fe398 --- /dev/null +++ b/Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.js @@ -0,0 +1,6 @@ +function isProperFraction(numerator, denominator) { + if (numerator < denominator) return true; + // add your completed function from key-implement here +} + +module.exports = isProperFraction; \ No newline at end of file diff --git a/Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.test.js b/Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.test.js new file mode 100644 index 000000000..ff1cc8173 --- /dev/null +++ b/Sprint-3/2-mandatory-rewrite/2-is-proper-fraction.test.js @@ -0,0 +1,11 @@ +const isProperFraction = require("./2-is-proper-fraction"); + +test("should return true for a proper fraction", () => { + expect(isProperFraction(2, 3)).toEqual(true); +}); + +// Case 2: Identify Improper Fractions: + +// Case 3: Identify Negative Fractions: + +// Case 4: Identify Equal Numerator and Denominator: diff --git a/Sprint-3/2-mandatory-rewrite/3-get-card-value.js b/Sprint-3/2-mandatory-rewrite/3-get-card-value.js new file mode 100644 index 000000000..0d95d3736 --- /dev/null +++ b/Sprint-3/2-mandatory-rewrite/3-get-card-value.js @@ -0,0 +1,5 @@ +function getCardValue(card) { + // replace with your code from key-implement + return 11; +} +module.exports = getCardValue; \ No newline at end of file diff --git a/Sprint-3/2-mandatory-rewrite/3-get-card-value.test.js b/Sprint-3/2-mandatory-rewrite/3-get-card-value.test.js new file mode 100644 index 000000000..03a8e2f34 --- /dev/null +++ b/Sprint-3/2-mandatory-rewrite/3-get-card-value.test.js @@ -0,0 +1,11 @@ +const getCardValue = require("./3-get-card-value"); + +test("should return 11 for Ace of Spades", () => { + const aceofSpades = getCardValue("A♠"); + expect(aceofSpades).toEqual(11); + }); + +// Case 2: Handle Number Cards (2-10): +// Case 3: Handle Face Cards (J, Q, K): +// Case 4: Handle Ace (A): +// Case 5: Handle Invalid Cards: diff --git a/Sprint-3/3-mandatory-practice/implement/count.js b/Sprint-3/3-mandatory-practice/implement/count.js new file mode 100644 index 000000000..fce249650 --- /dev/null +++ b/Sprint-3/3-mandatory-practice/implement/count.js @@ -0,0 +1,5 @@ +function countChar(stringOfCharacters, findCharacter) { + return 5 +} + +module.exports = countChar; \ No newline at end of file diff --git a/Sprint-3/revise/implement/count.test.js b/Sprint-3/3-mandatory-practice/implement/count.test.js similarity index 80% rename from Sprint-3/revise/implement/count.test.js rename to Sprint-3/3-mandatory-practice/implement/count.test.js index d85877b0b..42baf4b4b 100644 --- a/Sprint-3/revise/implement/count.test.js +++ b/Sprint-3/3-mandatory-practice/implement/count.test.js @@ -1,5 +1,5 @@ // 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: @@ -10,6 +10,13 @@ // When the function is called with these inputs, // Then it should correctly count overlapping occurrences of char (e.g., 'a' appears five times in 'aaaaa'). +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 the case-sensitive str, diff --git a/Sprint-3/3-mandatory-practice/implement/get-ordinal-number.js b/Sprint-3/3-mandatory-practice/implement/get-ordinal-number.js new file mode 100644 index 000000000..24f528b0d --- /dev/null +++ b/Sprint-3/3-mandatory-practice/implement/get-ordinal-number.js @@ -0,0 +1,5 @@ +function getOrdinalNumber(num) { + return "1st"; +} + +module.exports = getOrdinalNumber; \ No newline at end of file diff --git a/Sprint-3/3-mandatory-practice/implement/get-ordinal-number.test.js b/Sprint-3/3-mandatory-practice/implement/get-ordinal-number.test.js new file mode 100644 index 000000000..6d55dfbb4 --- /dev/null +++ b/Sprint-3/3-mandatory-practice/implement/get-ordinal-number.test.js @@ -0,0 +1,13 @@ +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 + +// Case 1: Identify the ordinal number for 1 +// When the number is 1, +// Then the function should return "1st" + +test("should return '1st' for 1", () => { + expect(getOrdinalNumber(1)).toEqual("1st"); + }); diff --git a/Sprint-3/3-mandatory-practice/implement/repeat.js b/Sprint-3/3-mandatory-practice/implement/repeat.js new file mode 100644 index 000000000..621f9bd35 --- /dev/null +++ b/Sprint-3/3-mandatory-practice/implement/repeat.js @@ -0,0 +1,5 @@ +function repeat() { + return "hellohellohello"; +} + +module.exports = repeat; \ No newline at end of file diff --git a/Sprint-3/revise/implement/repeat.test.js b/Sprint-3/3-mandatory-practice/implement/repeat.test.js similarity index 82% rename from Sprint-3/revise/implement/repeat.test.js rename to Sprint-3/3-mandatory-practice/implement/repeat.test.js index 0b2b0a3e8..8a4ab42ef 100644 --- a/Sprint-3/revise/implement/repeat.test.js +++ b/Sprint-3/3-mandatory-practice/implement/repeat.test.js @@ -1,5 +1,5 @@ // Implement a function repeat - +const repeat = require("./repeat"); // Given a target string str and a positive integer count, // When the repeat function is called with these inputs, // Then it should: @@ -9,6 +9,13 @@ // When the repeat function is called with these inputs, // Then it should repeat the str count times and return a new string containing the repeated str values. +test("should repeat the string count times", () => { + const str = "hello"; + const count = 3; + const repeatedStr = repeat(str, count); + expect(repeatedStr).toEqual("hellohellohello"); + }); + // case: handle Count of 1: // Given a target string str and a count equal to 1, // When the repeat function is called with these inputs, diff --git a/Sprint-3/revise/implement/card-validator.md b/Sprint-3/4-stretch-investigate/card-validator.md similarity index 100% rename from Sprint-3/revise/implement/card-validator.md rename to Sprint-3/4-stretch-investigate/card-validator.md diff --git a/Sprint-3/revise/investigate/find.js b/Sprint-3/4-stretch-investigate/find.js similarity index 100% rename from Sprint-3/revise/investigate/find.js rename to Sprint-3/4-stretch-investigate/find.js diff --git a/Sprint-3/4-stretch-investigate/password-validator.js b/Sprint-3/4-stretch-investigate/password-validator.js new file mode 100644 index 000000000..b55d527db --- /dev/null +++ b/Sprint-3/4-stretch-investigate/password-validator.js @@ -0,0 +1,6 @@ +function passwordValidator(password) { + return password.length < 5 ? false : true +} + + +module.exports = passwordValidator; \ No newline at end of file diff --git a/Sprint-3/revise/implement/password-validator.test.js b/Sprint-3/4-stretch-investigate/password-validator.test.js similarity index 68% rename from Sprint-3/revise/implement/password-validator.test.js rename to Sprint-3/4-stretch-investigate/password-validator.test.js index e01e6da63..8fa3089d6 100644 --- a/Sprint-3/revise/implement/password-validator.test.js +++ b/Sprint-3/4-stretch-investigate/password-validator.test.js @@ -14,3 +14,13 @@ To be valid, a password must: 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/implement/is-valid-triangle.js b/Sprint-3/implement/is-valid-triangle.js deleted file mode 100644 index f3643ab22..000000000 --- a/Sprint-3/implement/is-valid-triangle.js +++ /dev/null @@ -1,35 +0,0 @@ -// Implement a function isValidTriangle -// Terms -// the Triangle Inequality says: the sum of any two sides is always greater than the third side. -// practical examples: -// Side a = 3 -// Side b = 3 -// Side c = 3 - -// This is a valid triangle, because a plus b = 6 and 6 is greater than 3 -// Another way to write this is a + b > c -// It's also true that b + c > a -// It's also true that a + c > b - -// In our function isValidTriangle which takes as parameters the lengths of three sides, we need to invalidate any triangle where the sum of any two sides is less than or equal to the length of the third side. -// and we need to validate any triangle where the sum of any two sides is greater than the length of the third side. - -// Acceptance criteria: - -// scenario: invalid triangle -// Given the side lengths a, b, and c, -// When the sum of any two side lengths is less than or equal to the length of the third side (i.e., a + b <= c, a + c <= b, b + c <= a), -// Then it should return false because these conditions violate the Triangle Inequality, which states that the sum of the lengths of any two sides of a triangle must be greater than the length of the third side. - -// scenario: invalid triangle -// Check for Valid Input: -// Given the sides a, b, and c, -// When any of the sides are less than or equal to zero, -// Then it should return false because a triangle cannot have zero or negative side lengths. - -// scenario: valid triangle -// Given valid side lengths where the sum of any two sides is greater than the third side, -// When the function is called with these values as input, -// Then it should return true because the input forms a valid triangle. - -// This specification outlines the behavior of the isValidTriangle function for different input scenarios, ensuring it properly checks for invalid side lengths and whether they form a valid triangle according to the Triangle Inequality Theorem. diff --git a/Sprint-3/implement/rotate-char.js b/Sprint-3/implement/rotate-char.js deleted file mode 100644 index e8c961310..000000000 --- a/Sprint-3/implement/rotate-char.js +++ /dev/null @@ -1,43 +0,0 @@ -// The rotateCharacter function takes a character and a shift value as input. -// If the character is a letter (either uppercase or lowercase), -// it rotates the character by the specified shift value within the alphabet, -// considering wrapping around if necessary. Non-letter characters are returned unchanged. - -// This function is commonly used for text encryption and decryption, -// where shifting characters by a certain value can obscure their meaning or reveal hidden messages. - -// Acceptance criteria: - -// Given a character and a shift value, -// When the function rotateCharacter is called with these inputs, -// Then it should: - -// Scenario: Rotate Lowercase Letters: -// Given a lowercase letter character and a positive integer shift, -// When the function is called with these inputs, -// Then it should rotate the lowercase letter by shift positions within the lowercase alphabet, wrapping around if necessary, and return the rotated lowercase letter as a string. -console.log(rotateCharacter("a", 3)); // Output: "d" -console.log(rotateCharacter("f", 1)); // Output: "g" - -// Scenario: Rotate Uppercase Letters: -// Given an uppercase letter character and a positive integer shift, -// When the function is called with these inputs, -// Then it should rotate the uppercase letter by shift positions within the uppercase alphabet, wrapping around if necessary, and return the rotated uppercase letter as a string. -console.log(rotateCharacter("A", 3)); // Output: "D" -console.log(rotateCharacter("F", 1)); // Output: "G" - -// Scenario: Leave Non-Letter Characters Unchanged: -// Given a character that is not a letter (neither uppercase nor lowercase) and any positive or negative shift value, -// When the function is called with these inputs, -// Then it should return the character unchanged. -// This specification outlines the behavior of the rotateCharacter function for different input scenarios, including valid and invalid characters, and defines the expected output or action for each case. -console.log(rotateCharacter("7", 5)); // Output: "7" (unchanged, not a letter) - -// Scenario: Shifting a Character with Wraparound -// Given a character char within the lowercase alphabet range (e.g., 'z') or the uppercase alphabet range (e.g., 'Z'), -// And a positive integer shift that causes the character to wrap around the alphabet when rotated (e.g., a shift of 3 for 'z' or 'Z'), -// When the rotateCharacter function is called with char and shift as inputs, -// Then it should correctly rotate the character by shift positions within the alphabet while handling the wraparound, -// And the function should return the rotated character as a string (e.g., 'z' rotated by 3 should become 'c', 'Z' rotated by 3 should become 'C'). -console.log(rotateCharacter("z", 1)); // Output: "a" (preserves case, but wraps around) -console.log(rotateCharacter("Y", 2)); // Output: "A" (preserves case, but wraps around) diff --git a/Sprint-3/readme.md b/Sprint-3/readme.md index cd7f34388..4cbb096fb 100644 --- a/Sprint-3/readme.md +++ b/Sprint-3/readme.md @@ -1,16 +1,73 @@ # 🧭 Guide to week 3 exercises -## 🔧 Implement +> 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. + +## 🔧 1 Implement 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. -Use the acceptance criteria as an aid to **_write tests_** for the different cases using Jest. Use your assertions to check the functionality you're building as you go along. Make sure you cover all edge-cases. +Write your assertions and build up your program case by case. Don't rush to a solution. The point of these assignments is to learn how to write assertions and build up a program step by step. Here is a recommended order: -1. `get-angle-type.js` -1. `is-proper-fraction.js` -1. `get-card-value.js` -1. `is-valid-triangle.js` -1. `implement/rotate-char` +1. `1-get-angle-type.js` +1. `2-is-proper-fraction.js` +1. `3-get-card-value.js` + +## 🔧 2 Rewrite + +`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 _rewrite_ the assertions from `./1-key-implement` using Jest syntax. +Blank files have been created for you. Each script file has a paired `.test.js` file. Write your tests in the test file and the implementation in the script file. + +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 2-mandatory-rewrite/1-get-angle-type.test.js +1. Click the green play button to run the test. It's on the left of the test function in the gutter. +1. Read the output in the TEST_RESULTS tab at the bottom of the screen. +1. 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`. + +## 3 Practice + +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. + +Recommended order: + +1. `count.test.js` +1. `repeat.test.js` +1. `get-ordinal-number.test.js` + +## 🔍 4 Investigate Stretch + +These stretch activities are not mandatory, but we hope you will explore them after you have completed the key and 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/revise/implement/get-ordinal-number.test.js b/Sprint-3/revise/implement/get-ordinal-number.test.js deleted file mode 100644 index 4e735d0bf..000000000 --- a/Sprint-3/revise/implement/get-ordinal-number.test.js +++ /dev/null @@ -1,4 +0,0 @@ -// 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 diff --git a/Sprint-3/revise/implement/is-prime.test.js b/Sprint-3/revise/implement/is-prime.test.js deleted file mode 100644 index 382ce74f8..000000000 --- a/Sprint-3/revise/implement/is-prime.test.js +++ /dev/null @@ -1,3 +0,0 @@ -// Given a positive integer num, -// When the isPrime function is called with num as input, -// Then it should check if the num is prime diff --git a/Sprint-3/revise/readme.md b/Sprint-3/revise/readme.md deleted file mode 100644 index ab3c68c9e..000000000 --- a/Sprint-3/revise/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# 🧭 Guide to revision exercises, do these last - -## 🧰 Setup - -**Note: You must install Jest in the root of this repo.** - -## 🔧 Rewrite - -`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 effective for writing large test suites. - -Your first task is to rewrite the assertions from `./implement` using Jest syntax. -You will also need to update the filenames in `./implement` so they have a `.test.js` extension and _not_ just a `.js` extension. -Keep running `npm test` to check the new tests you've created. - -## 🔍 Investigate - -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. - -## 🔧 Implement - -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. - -Use the acceptance criteria as an aid in writing tests to check your functionality. - -Recommended order: - -1. `get-ordinal-number.test.js` -1. `count.test.js` -1. `repeat.test.js` -1. `is-prime.test.js` - -## 💪 Stretch - -Try implementing the functions specified in `password-validator.js` and `card-validator.md` From cd2f382b6bc898e90f9b6d634d006309cd93a766 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 15:21:25 +0000 Subject: [PATCH 5/7] pics of the test explorer --- run-this-test.png | Bin 0 -> 70276 bytes test-results-output.png | Bin 0 -> 219327 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 run-this-test.png create mode 100644 test-results-output.png diff --git a/run-this-test.png b/run-this-test.png new file mode 100644 index 0000000000000000000000000000000000000000..d3450ae6ea911732d6c925029c2dfc12de54faba GIT binary patch literal 70276 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 literal 0 HcmV?d00001 diff --git a/test-results-output.png b/test-results-output.png new file mode 100644 index 0000000000000000000000000000000000000000..ec09726ca5b9a3845a28040541226073065cf819 GIT binary patch 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 literal 0 HcmV?d00001 From 4dc2ece02ca4f8787bf67fcdb99b25428ad41576 Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 15:28:40 +0000 Subject: [PATCH 6/7] tweak readme --- Sprint-2/readme.md | 2 +- readme.md | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Sprint-2/readme.md b/Sprint-2/readme.md index 0e7cd80bc..44c118e33 100644 --- a/Sprint-2/readme.md +++ b/Sprint-2/readme.md @@ -38,4 +38,4 @@ You can also use `console.log` to check the value of different variables in the 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 will also help you solve some similar kata in Codewars. +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/readme.md b/readme.md index 9be60590a..23731548e 100644 --- a/readme.md +++ b/readme.md @@ -23,3 +23,8 @@ There are some tools that will help you to write code. One of these, [Prettier]( - 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 From deffeae83e8c62e9c3880349d4d64bac03cb849e Mon Sep 17 00:00:00 2001 From: Sally McGrath Date: Tue, 17 Dec 2024 18:01:40 +0000 Subject: [PATCH 7/7] add jest as extension and suggest they install it --- .vscode/extensions.json | 3 ++- readme.md | 9 ++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 255490743..2dd5a2432 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -5,6 +5,7 @@ "streetsidesoftware.code-spell-checker", "eamodio.gitlens", "ritwickdey.LiveServer", - "vsliveshare.vsliveshare" + "vsliveshare.vsliveshare", + "Orta.vscode-jest" ] } diff --git a/readme.md b/readme.md index 23731548e..873178bda 100644 --- a/readme.md +++ b/readme.md @@ -10,13 +10,12 @@ ## 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. +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 +### 1. Using Prettier, Test Runner, and other recommended tools in Visual Studio Code -- In Visual Studio open the extensions panel (see https://code.visualstudio.com/docs/editor/extension-gallery#_browse-and-install-extensions) -- Search for `Prettier - Code formatter` -- Click install on the top result +- Open this repository in Visual Studio Code +- Accept the prompt to install the recommended extensions ### 2. Enable formatting on save