Scrimba: JavaScriptmas 2020
Published on December 20, 2020
What is JavaScriptmas? JavaScriptmas is a twenty-four-day coding course created by Scrimba.
The JavaScriptmas course is a brilliant idea. I'll explain why I believe so with a few questions and answers.
Question: Would you like to take part in a twenty-four-day coding challenge that progressively gets more difficult, which will help you become a better web developer?
Answer: No.
Question: Would you like to participate in a festive twenty-four-day event, where you can sit down and code with your favorite holiday drink, which will help you become a better web developer?
Answer: Maybe.
Question: Did we mention a daily raffle, where participants could win a one-year membership, and a grand prize winner awarded with a $1,000 and lifetime membership to Scrimba?
Answer: YES!!! I want to participate!
Scrimba has once again impressed and inspired me! You can read my full Scrimba review on my 12/13/2020 post.
"That's one of the best Scrimba reviews I've ever read, @MikeJudeLarocca. Thank you! 🙏 "
— Per Harald Borgen, CEO of Scrimba December 14, 2020
My favorite challenge
Day 8, The Rolling Dice
My favorite challenge was The Rolling Dice. In this challenge, we needed to create a working rolling die.
To pass the challenge, we had to program the die to roll every time a user clicked it. When the program runs, a written message displays the rolled number, and the die reflects the new number.
As a bonus challenge, they instructed us to improve the overall style. I was delighted to see that Leanne from Scrimba complimented my styling!
I enjoyed this challenge because I created something that I can incorporate into a JavaScript game!
My hardest challenge
Day 13, (Extract Each Kth)
I was on a winning streak until I hit "Lucky 13". It was a challenge that I was trying to solve by comparing two arrays.
The first array was already provided and had the numbers 1 through 10. The second array I created, with a formula, contained numbers 3, 6, and 9.
const numberDivide = index / nums.length * 10;
for(let i = 0; i < numberDivide; i++) {
arrayCompare.push(total + numberDivide);
total += numberDivide;
}
// arrayCompare now equals [3,6,9]
To solve the challenge, we had to return an array containing the numbers from the first provided array that excluded specific numbers; in this case, numbers 3, 6, and 9. The result needed to be:
arrayAnswer = [1,2,4,5,7,8,10]
Over and over again! W.T.F.? Which in this case represents, "Which, This Function?" I keep trying various functions to solve the problem.
Eventually, I solved the challenge using the method includes().
let checkForNumbers = arrayCompare.includes(nums[i]);
I looped through the length of the first array. I compared each item in the first array to all of the second array items during the loop. If the includes method returned false, I pushed the item from the first array into the answer array.
for(let i = 0; i < nums.length; i++) {
let checkForNumbers = arrayCompare.includes(nums[i]);
if(checkForNumbers === false) {
arrayAnswer.push(nums[i]);
}
}
I passed the challenge by returning the answer array.
return arrayAnswer;
What I learned
At first, I was disappointed that I was struggling so much with some of the JavaScriptmas challenges. Then I realized that this was a good thing because these challenges showed me the areas of study that I need to improve on.
What I enjoyed
I enjoyed sharing code solutions with my gold medal-winning study group, "The Booleans!"
Throughout the JavaScriptmas course, our study group shared their coding solutions on Scrimba's Discord channel. We explained how our code worked and why we decided to write the program the way we did.
Sharing and discussing our code made the course an even more educational experience.
We learned together that there are many ways to write a program to solve the same problem. It truly is incredible!
My JavaScriptmas Submissions
Below is my list of each day's completed JavaScriptmas challenges.
I hope that "Scrimba Claus" checks it twice!
Pixabay: Illustration by Mohamed Hassan
Date | Scrim |
---|---|
12/01/2020 | Candies |
12/02/2020 | Deposit Profit |
12/03/2020 | Chunky Monkey |
12/04/2020 | Century From Year |
12/05/2020 | Reverse a String |
12/06/2020 | Sort By Length |
12/07/2020 | Count Vowel Consonant |
12/08/2020 | The Rolling Dice |
12/09/2020 | Sum Odd Fibonacci Numbers |
12/10/2020 | Adjacent Elements Product |
12/11/2020 | Avoid Obstacles |
12/12/2020 | Valid Time |
12/13/2020 | Extract Each Kth |
12/14/2020 | Maximal Adjacent Difference |
12/15/2020 | Carousel |
12/16/2020 | Insert Dashes |
12/17/2020 | Different Symbols Naive |
12/18/2020 | Array Previous Left |
12/19/2020 | Alphabet Subsequence |
12/20/2020 | Domain Type |
12/21/2020 | Sum of 2 |
12/22/2020 | Extract Matrix Column |
12/23/2020 | Social Media Input |
12/24/2020 | Test your Agility - (Coded along with the JavaScriptmas live stream!) |
Scrimba's Javascriptmas Course
Special Event!
Scrimba teacher Dylan Israel's latest course is a festive one, and there is still time to get in on the fun!
Check out his latest course, "24 days of JavaScriptmas," available now on Scrimba.
See the details below:
24 days of #JavaScriptmas Level up your JavaScript skills with a daily coding challenge from December 1st to 24th, 2020. Every day, we'll pick a winner who gets Scrimba Pro for a year (worth $150). In addition to the daily prize, we'll hand out a Grand Prize of $1000 along with a lifetime Pro membership on Scrimba on Christmas Eve!
Key Points
- Scrimba has once again impressed and inspired me
- I enjoyed The Rolling Dice project because I can incorporate it into a JavaScript game
- The complex challenges showed me the areas of study that I need to improve on.
- Sharing and discussing our code in the study group made the course an even more educational experience.
Conclusion
I enjoyed taking part in Scrimba's JavaScriptmas course. It was a fun, festive, and educational activity. It also proved to be an excellent study group experience.
Will I take part in JavaScriptmas again next year? My answer is: YES!!! I want to participate!
I wish you all a "Merry JavaScriptmas!"
Please share it!