DIVelopment Class

17 Dec 2021

Coding Fundamentals

Whenever learning something new whether it is a sport, art, or even a new language, there are basics and fundamentals that one should learn first before diving deeper into the more advanced things. Just like learning sports, art, or even a new language, coding languages and programming is the same. Having a basic fundamental and foundation is the key to applying it to real life. Things such as coding standards and design patterns are fundamentals made to help guide these newcomers. For coding standards, it can be compared very similarly to writing an formal essay. Just like writing a formal essay, coding needs to have some sort of structure that is effective and efficient to read. This does not mean you follow the same sort of structure as everyone else. Every programmer has their own style of coding and how they format their code. However, being able to format code properly can help with readability between other programmers. Throughout this class, I tend to write code that was messy and unreadable. However, over my time in this class, I was able to write basic code and learning different ways to format and code things. Design patterns are also another fundamental that acts like a guide to new programmers. In my time in this class, I was able to use design patterns that I have learned in class and applied it to my final project. The more I practiced these patterns for certain problems, the easier it was for me to apply them. As the time went on, I am able to increase my knowledge of design patterns which I can apply in the future.

Applications

Project management is an application that can be used in any multipersonal assignment. During this course, we were able to learn the processes and application of Agile Project Management for our final project. One of the most important factors in a group project would be communication and how you approach the problem together. Alongside this, planning and issue management are also crucial factors to making the project a success. Issue management is being able to determine the task that everyone needs to do in addition to the other task to do when one is finished with theirs. Being to make sure that the process is running smoothly and efficiently without hindering others is the key to success.

As for my group project, I was able to develop many leadership and communication skills. Being able to manage between my task and attempting to guide others on other tasks for completion. The most difficult part of my group project was probably the communication aspect where certain days we were able to accomplish a lot and get together while other days, we were able to get little done and communicate with each other. Unfortunately, some times things do not go the way it is suppose to go meaning that we have to constantly adapt in order to succeed.

The Future

I believe that software engineering has made me a more proficient and smarter programmer. Having fundamentals like coding ethics and design patterns has improve me as a programmer throughout the semester. I believe that attempting to apply these fundamentals to projects like the final project has helped me a lot. Although there were bumpy roads along the way, I was able to use these fundamentals and managements to properly succeed. Additionally, the constant adaptation needed in this class increased my versatility. From jump from basic applications like JSFiddle to using Github Desktop and IDE softwares like IntelliJ. Another example would be from starting with the basic of HTML and CSS to being able to use react and meteor to develop a web application. This class was not only able to help me build basic web applications like Digits, but also open my eyes to building any projects I imagine outside of class as well.