Learning a Language... The Right Way?

30 Aug 2023

Learning Styles

When it comes to learning, there isn’t always one right way to do it. Everyone’s learning style is different. For me, I enjoy being thrown in the deep end and finding my way to the surface. However, from my experience, I’ve found that it’s not always the best. There’s been times where I’ve taken on more than I can chew and tried to learn everything all at once. A lot of my experience in Software Engineering has come from self-led learning and projects. When going about these projects, I usually have to Google syntax or specific functions. Because of this I feel like it prohibits my workflow since I don’t have a full understanding of the fundamentals. With that being said, I’m excited for this class because it gives me a structured approach of learning.

Past Experiences

For some context, I first learned Java my junior year of highschool. I learned about classes, objects, inheritance, abstraction and other general concepts. I was able to transition into learning other languages way easier. I learned Python and C/C++ in university through our course curriculum and started to tackle web development through outside projects and organizations. When I created my first website project, all I did was follow a 2 hour video tutorial and copy the lines of code. In that time, I learned some HTML, CSS, and JavaScript but I didn’t remember any of it after 2 days. After that time, I volunteered to be a mentor at ICSpark which is a student-led organization mentoring secondary-high school grade students on introductory web development. I had to touch up on basic concepts so that I could teach it to other people. I was then tasked with creating my own website and included simple functions of creating a workout routine based on user input. More recently, I worked on developing a web interface for the controls and communication of a rover. I had teammates who were better versed in JavaScript so I was able to rely on them for a lot of the basic web development procedures. Even with all the projects and past experience, I don’t really feel like I know the language at all. I know basic concepts but it’s not like I can easily create a website from scratch on my own.

Re-Learning JavaScript

Going through the freeCodeCamp course was great. A lot of the material came quickly due to my prior experience. It was nice being able to touch up on the fundamentals. It took some time getting used to the syntax again but all I had to do was take a quick look at the examples they gave and helped me solve the problems a lot faster. The course got a little more challenging when it introduced me to new things I hadn’t seen before such as the ES6 lessons. I really had to take the time to understand the descriptions and apply it to the code. I learned more about using let, var, and const in their own respective scopes. After finishing all the lessons, I see that JavaScript is a really powerful language due to functions being first class.

Reflection

This module allowed me to revisit the fundamentals and really take the time to learn the basics of the language. In retrospect, I wish I had spent more time on taking the time to learn these things before I had started all my projects so I didn’t have to waste time searching up basics or copying other source code. I’m excited to continue on this path of learning in a structured manner and having deliverables or assignments to keep myself accountable.