In my opinion, JavaScript is an exceptional programming language because it is extremely flexible. You never have to explicitly express the type of any variable, whether you are declaring it or using it as a parameter. As I was transitioning from learning Java to JavaScript, I noticed that Java is much more structured and detailed. In Java, you have to explicitly state several characteristics, such as public or private, static or non-static, the return type, and the type of every single parameter to create a working method. However, in JavaScript, you just need to state the function’s name and the parameters’ names to create a working function. That’s it. No parameter types or return types are necessary. This can be just as destructive as it is accommodating. Confusing the order of parameters could easily break your code if you used type specific methods, such as iterating through an array or parsing an int.
Athletic software engineering, a pedagogy developed by Dr. Philip Johnson, is a highly intensive and time-constrained method for students to acquire software engineering skills as if training in an athletic sport. In my experience, this is the best approach to (forcefully) encourage students learn, understand, and actually retain the course material. Professors will often spend the majority of their class hours lecturing and test their students’ knowledge with a few midterms and a final that can make or break your grade. I believe that this method is ultimately inefficient because many students, including myself, are guilty of memorizing and forgetting the material immediately after taking the exam. However, athletic software engineering provides continuous exposure to the material through Workouts of the Day (WODs). These WODs enhance the students’ problem-solving skills, their ability to handle unexpected hindrances under a time constraint, and their understanding of the subject matter. Although the WODs can be stressful since they are timed, I believe that they will eventually prove to be beneficial in the future, as interviews often present a similar situation.