During class registration period, when I first was looking at the course description, I thought to myself that all this class does is create website or web applications. But oh boy was I proven wrong in the end.
This course, Software Engineering I, was beyond my expectations! Not only did we work on creating web applications, we explored different management environments that stimulated the real world. This course required us to create a web application as our final project with a group of other students and we were asked to practice agile project management. In case those words are unfamiliar, agile project management is an type of management style where teams exercise iterative planning and issue/task management. For the sake of this course, we did majority of our project management via. GitHub and something wonderful I learned about GitHub was that there is a project page feature where we can create tasks, convert them to issues, and assign these issues to different members of our group to help separate and have this very organized project board for all of our tasks. I LOVE GitHub project boards as this was an easy way to share my progress with my group members without having to dig through emails and discord messages.
Along with being taught different management styles, I was also introduced to a ton of new concepts and coding practices that I will continue using beyond this course because of its practicality. The one concept that stood out to me the most was open source software development. In case those words do not ring a bell, open source software development is a collaborative approach to software development, where the source code is available for the public to view and use. In the scope of this course, we used GitHub as our open source platform for collaborative work. Using open source software development has helped me with understanding how to code with a group of people who are also continuously updating the source code. This concept definitely has been one that has stuck to me throughout this semester and I hope to continue using this in my professional career too.
Along learning new concepts and coding practices, I also learned three new coding languages: Javascript, HTML, and CSS. The hardest out of the three to learn and adapt to was HTML because though I had fiddled around with the inspect tool on websites many times, at first, I did not understand why things worked the way they did. The formatting of HTML code is also a lot more different from the “traditional” coding languages I have already learned prior. But HTML/CSS has been my creative outlet for software development because prior to this, I never fully understood how to make my applications aesthetically pleasing for an audience but with my newly acquired tool, my applications can finally look pretty!
Overall, if I life another lifetime and I have the opportunity to attend the same university, I would take this class again. This software engineering course was a life awakening experience and it surpassed all my expectations; From what I thought was just a web application building course evolved into not only web application building, but practicing project management skills and practical coding standards. Collaborating on a final web application project with a group of other students was by far my favorite part of this whole course because it is the practical application of everything we have learned throughout this course.