Javascript is a new language to me, but I am finding it to be a relatively simple language to learn. I am grateful for my background in Java, C, and C++ as it has helped me understand the syntax and concepts of Javascript. When I first started learning Javascript, I had little to no knowledge about the language, but through the FreeCodeCamp, I was able to gain a strong understanding of fundamental programming concepts such as arrays, objects, functions, loops, if/else expressions, classes, etc. One of the things that impressed me the most about Javascript was the addition of new features and enhancements in ES6, such as template literals, arrow functions, and destructuring, which improved the efficiency and productivity of the language. Although I recognize that mastering these new features can greatly improve the ability to write clean and readable code, I am still working on mastering them.
From the perspective of software engineering, Javascript is an excellent programming language in my opinion. One of the features I like the most about Javascript is its flexibility. It may be used for both frontend and backend development and can be integrated with other programming languages such as CSS, HTML, etc. Along with all of its advantages, it also has disadvantages. The fact that the syntax does not distinguish between different types of variables when initializing variables, such as int, strings, and doubles, confused me when I was learning Javascript. This can make it slightly more difficult, especially for beginner programmers, to determine what kind of data a variable is holding.
In my ICS 314 class, we learn through a method called athletic software engineering, which involves short assignments called WODs (workout of the day) with prescribed times for finishing. This approach emphasizes problem-solving and real-world application. Although the exercises are challenging and stressful, I find them to be a fun way to learn, as I am someone who enjoys the process of solving problems. I believe this method will be beneficial for me as it gives me the opportunity to apply what I have learned and helps me understand and remember the material better.