Code Like Her Fellowship II — Weekly #6
by Yunika Bajracharya
Morning 6:45 am. My alarm was still beeping. When I finally got around to tapping it off, it was already 7:05. Oh no, I didn’t want to be late. I hurriedly turned my laptop on and hopped into the class. I would have been sleeping peacefully had I not come across the application for Code Like Her Fellowship II a few months back. And thank God I did! After a lengthy application, a written test, and a video interview, I was selected as one of the 15 fellows for this year’s Code Like Her Fellowship. In the past couple of weeks, we have completed our design classes. And now, after learning the fundamentals of JavaScript last week, I was all pumped up to start this week by building something with this newly acquired skill set.
We started by learning more about the Document Object Model (DOM) in JavaScript. I realized that the DOM represented an HTML document pretty much like a tree, where you could grow new branches and add some leaves, or you could also trim the leaves and maybe cut off old branches. To be more familiar with it, our first assignment of the week was to create a balloon generator. After that, we went on to create a form validation. Little did I know last week that the array methods we were learning would be so useful a week later when we will be finally working on some projects.
Waking up early for a class seemed like a hassle at the beginning but nothing compares to starting the day by learning an interesting topic while embracing the gentle morning breeze. In the following days, we got familiarized with the setTimeout() and setInterval() methods. With this, we stepped into the world of asynchronous JavaScript and created animations like this ball animation. We also learned about callback queues, lexical scope, IIFE, and closure. These topics were hard to grasp but learning them made me understand how JS functions and what was happening under the hood. It was interesting to see how JS is a single-threaded language but still could do asynchronous actions and, although being an interpreted language, it still hoisted the variables at the top. The more I dived into this language, the more I encountered its quirky traits, which managed to amaze and trouble me at the same time.
Learning these important concepts of JavaScript and doing small projects throughout the week prepared us for our final assignment for this week, which was to create a hangman game. Like for every assignment, we had a brief presentation for it the next day where we presented the results, the things we learned, the research we did, and any problems we encountered. It was quite interesting to see how the other fellows approached and analyzed the problem. By looking at their solutions, I could figure out more efficient ways of solving the same problem. I also admired how our mentor, Sagun Karanjit dai, gave us the assignments with just the right increasing order of complexity, such that we were challenged but not overwhelmed. By completing these assignments, I was also learning that the best way to learn is by creating projects rather than by being stuck in the tutorial hell (yes, I’ve been there).
In this way, our sixth week wrapped up with the hangman presentation. We breathe a sigh of relief and joy. Phew! this week has been hectic and juggling the fellowship with my college coursework hasn’t been easy. But I’m grateful that this fellowship has kept me accountable to learn something new every day. And the best part is that I’m sharing this journey with 14 other dedicated fellows. For all this, with much gratitude towards our mentors, Astha Sharma di, and the Code Rush team, we call it a week, with promises coming next week!
About the Author:
Yunika Bajracharya is a second-year Computer Engineering student at IOE, Pulchowk Campus. She finds Computer Science fascinating and aspires to build useful tools and impactful solutions through technology. She is also volunteering at Girls in Tech — Nepal to empower and learn from women in tech. In her free time, she also enjoys painting and reading.