Notifications
Clear all
Topic starter
23/04/2023 3:37 am
First programming assignment
This is your first programming assignment for this course.
# Lab Instructions: Building a Functional Program
In this exercise, you'll get hands-on practice with functional programming concepts.
Note: It is best to follow these instructions in the Preview tab on the right side.
>### **Tips: Before you Begin**
>#### To view your code and instructions side-by-side, select the following in your VSCode toolbar:
>- View -> Editor Layout -> Two Columns
>- To view this file in Preview mode, right click on this README.md file and `Open Preview`
>- Select your code file in the code tree, which will open it up in a new VSCode tab.
>- Drag your assessment code files over to the second column.
>- Great work! You can now see instructions and code at the same time.
>- Questions about using VSCode? Please see our support resources here:
[Visual Studio Code on Coursera]( https://www.coursera.org/learn/programming-with-javascript/supplement/roMvE/visual-studio-code-on-coursera)
>#### **To run your JavaScript code**
>- Select your JavaScript file
>- Select the "Run Code" button in the upper right hand toolbar of VSCode. Ex: It looks like a triangular "Play" button. <br><br>
<br>
## Task 1: Build a function-based console log message generator
In this exercise, your task is to code a function named `consoleStyler`, which accepts four parameters:
-`color`
-`background`
-`fontSize`
-`txt`
Inside the body of the consoleStyler() function declaration, you need to do the following:
1. Create a new variable named message, and assign the following to it on the very first line inside the consoleStyler() function body.:
```
"%c" + txt;
```
Tip: Do not copy the 3 back ticks. These are used to format this document in the Preview tab.
2. Create a style variable and assign the following to it on the next line:
```
`color: ${color};`
```
Tip: The single backtick before color and after the semi-colon must be included.
3. Next, update the style variable (using the += operator) with the following code:
```
`background: ${background};`
```
Tip: The single backtick before background and after the semi-colon must be included.
4. Then, update the style variable (again, using the += operator) with the following code:
```
`font-size: ${fontSize};`
```
Tip: The single backtick before font-size and after the semi-colon must be included.
5. Finally, console log the message and style variables inside the `consoleStyler` function declaration.
Hint: Be sure to use backticks (``) when updating your variable styles and not single ('') or double ("") quotes.
<br>
## Task 2: Build another console log message generator.
Your task is to code another function, and name it `celebrateStyler()`. The function accepts a single parameter, reason, which should be of string data type.
Inside the function declaration's body, code the following:
1. A new variable, named fontStyle, assigning it this code:
```
"color: tomato; font-size: 50px";
```
2. On the next line, an if statement, verifying that `reason == "birthday"`.
3. Inside the body of the if block, code the following:
```
console.log(`%cHappy birthday`, fontStyle);
```
4. On the next line, add an else if, and inside the parentheses, check that
```
reason == "champions"
```
5. Inside the else if block, add this code:
```
console.log(`%cCongrats on the title!`, fontStyle);
```
6. Add an else block, with the following code inside of it:
```
console.log(message, style);
```
<br>
## Task 3: Run both the consoleStyler and the celebrateStyler functions
1. Invoke the consoleStyler() function, with the following arguments:
-`'#1d5c63'`
-`'#ede6db'`
-`'40px'`
-`'Congrats!'`
2. Next, invoke the celebrateStyler() function, with the following argument:
-`'birthday'`
## Task 4: Insert a congratulatory and custom message
1. Code another function, named `styleAndCelebrate()`.
The function declaration's body should consist of two function invocations:
```
consoleStyler(color, background, fontSize, txt);
celebrateStyler(reason);
```
2. Next, invoke the new function, using the following arguments:
-`'ef7c8e'`
-`'fae8e0'`
-`'30px'`
-`'You made it!'`
-`'champions'`
<br>
## Final Step: Let's submit your code!
Nice work! To complete this assessment:
1. Save your file through File -> Save
2. Select "Submit Assignment" in your Lab toolbar.
Your code will be autograded and return feedback shortly on the "Grades" tab.
You can also see your score in your Programming Assignment "My Submission" tab.
<br><br>
### SOLUTIONS
function consoleStyler(color, background, fontSize, txt) { var message = "%c" + txt; var style = `color: ${color};` style += `background: ${background};` style += `font-size: ${fontSize};` console.log(message, style);} function celebrateStyler(reason) { var fontStyle = "color:tomato; fontsize: 50px"; if (reason == "birthday") { console.log(`%cHappy birthday`, fontStyle); } else if (reason == "champions") { console.log(`%cCongrats on the title!`, fontStyle); } else { console.log(message, style); } }consoleStyler('#1d5c63','#ede6db', '40px', 'Congrats!'); celebrateStyler('birthday'); function styleAndCelebrate(color, background, fontSize, txt, reason) { consoleStyler(color, background, fontSize, txt); celebrateStyler(reason); } styleAndCelebrate('#ef7c8e', '#fae8e0', '30px', 'You made it!', 'champions');