My first advent code challenge with #JavaScriptmas !
Tags: codenewbie, beginners, javascript, javascriptmas
Published: 2020-12-19 18:57:17

In January of this year, I decided to learn how to program after dabbling in HTML and CSS for several years. Since I was curious about the basics of computer science, I began my journey with the popular and often recommended [CS50 Introduction to Computer Science course](https://www.edx.org/course/cs50s-introduction-to-computer-science) offered by Harvard. 

{% link <https://dev.to/maelingcodes/my-self-directed-journey-to-becoming-a-software-engineer-begins-5g8j> %}

Ever since I started my journey of learning how to program, I've been amazed by the amount of learning resources that are available, and many for free! This actually became a bit distracting for me at one point, when I found myself doing CS50, freeCodeCamp and The Odin Project all at the same time :confounded:.

{% link <https://dev.to/maelingcodes/is-it-better-to-focus-on-one-coding-curriculum-at-a-time-as-a-newbie-cpd> %}

After receiving some great advice, I realized that I needed to focus on one curriculum at a time to be able to really dive deep and gain a greater understanding of the concepts.  I zoned in on CS50 and was in the middle of Week 8 (Web Track) of the course when I saw a tweet about #JavaScriptmas, a 24-day JavaScript coding challenge being offered by [Scrimba](https://scrimba.com/). Since JavaScript had just been introduced to us in week 8's lesson in CS50, I decided that the challenge would be a great companion for my course material. Plus, it just looked like it would be so much fun coding small challenges along with fellow coders all over the world! 

# 24 Days of #JavaScriptmas
I received a #JavaScriptmas challenge from Scrimba everyday from December 1st through the 24th that was JavaScript-based and sometimes included a mix of HTML and CSS. I really enjoyed Scrimba's unique and interactive code screencasts (aka "scrims") that introduced the challenge for each day. It was great to have them explain the challenge for the day and then have the ability to jump straight into the code editor within the same screen.

Because CS50 primarily focuses on C and Python as far as programming languages, I wondered if I would be able to complete any of the challenges. However, as I started to work through the challenges each day, I was encouraged to see that I could solve them using the programming logic I had learned from studying the other languages. It really became a matter of understanding and integrating syntax differences and the many methods that were available to use with JavaScript. 

# My #JavaScriptmas Solutions
You're more than welcome to browse some of my solutions via my "scrims" below. Some of my favorite challenges were the ones that involved HTML and CSS (*), since it taught me a lot about interacting with the Document Object Model (DOM). I know I'll be able to improve on my solutions as I learn more about JavaScript, but you have to start somewhere and I'm grateful to have completed all 24 days of this year's challenge! 

Day 1: [Candies ](https://scrimba.com/scrim/co2294da8a5850fe662c01e5d)
Day 2: [Deposit-Profit](https://scrimba.com/scrim/cobba432889ba7ce533ae28df)
Day 3: [Chunky Monkey](https://scrimba.com/scrim/co619421da5ce628d82eb9dbd)
Day 4: [Century From Year](https://scrimba.com/scrim/coce54a1681e7fbb07f775011)
Day 5: [Reverse a String](https://scrimba.com/scrim/co5204d59a743da52d1c040c3)
Day 6: [Sort by Length](https://scrimba.com/scrim/co8b64e7781ba277f9aa953c3)
Day 7: [Count Vowel Consonant](https://scrimba.com/scrim/coc0f4e26a6d2c62ac9f311e1)
Day 8*: [The Rolling Dice](https://scrimba.com/scrim/co8384f4f94873c06ce83c5f8) (my first time ever "drawing" with CSS)
Day 9: [Sum Odd Fibonacci Numbers](https://scrimba.com/scrim/coe4d4e60905f12725627b0a0)
Day 10: [Adjacent Elements Product](https://scrimba.com/scrim/co7614c2b9daa5af0ec19227f)
Day 11: [Avoid Obstacles](https://scrimba.com/scrim/co1344ef09ef263508d7525e4)
Day 12: [Valid Time](https://scrimba.com/scrim/cof2b4571bfacc899aee7a91c)
Day 13: [Extract Each Kth](https://scrimba.com/scrim/codd04f75a703fab520d78824)
Day 14: [Maximal Adjacent Difference](https://scrimba.com/scrim/co9ee4acebaa5a2e9aa08ea7c)
Day 15*: [Carousel] (https://scrimba.com/scrim/co64f4fd8a3f78bc4c4ea15a2) (an image slider - definitely my favorite challenge!)
Day 16: [Insert Dashes](https://scrimba.com/scrim/co80c4e50964721011bb93166)
Day 17: [Different Symbols Naive](https://scrimba.com/scrim/coa5f44d6b68fc23a3c9cd2b2)
Day 18: [Array Previous Less](https://scrimba.com/scrim/co20f431ab1cce75b0b9ea867)
Day 19: [Alphabet Subsequence](https://scrimba.com/scrim/codb1430783d8333d780fa883)
Day 20: [Domain Type](https://scrimba.com/scrim/co96a41709e342c160118c11b)
Day 21: [Sum of Two](https://scrimba.com/scrim/coa92470dbcffd09dd77637b8)
Day 22: [Extract Matrix Column](https://scrimba.com/scrim/cof7c4209813877f387a27aa2)
Day 23*: [Social Media Input](https://scrimba.com/scrim/co5e24df78cb2313eca1da08d)
Day 24*: [Test Your Agility] (https://scrimba.com/scrim/coafe4c8a8df6e710d85f809a) (this one is actually fun to play!)

 
*Have you ever participated in a code challenge before? What are some of your favorites?*