Chapter Closes

17 Dec 2020

Reflection:

Over this semester I have learned a lot by taking ICS 314, which is the Software Engineering course here at University of Hawaii. The 3 most important takeaways from this class in my opinion would be functional programming, agile project management, and design patterns. I feel like these are very important topics and it would apply to other things besides software engineering. I can see me applying these to real world situations and my future career as I travel through this long journey.

Functional Programming:

I feel like this was an important concept to take away from this course. This made me realize how much a single function can do. You are able to pass functions as parameters which will allow us to build a function that can do everything. Knowing this now I can make my code much cleaner and easier to read. Instead of having a bunch of functions I found myself thinking how I can make a function that is reusable to help with the clutter of code. Overall this will travel with me throughout my college career and will travel with me throughout my coding career. I can see using functional programming not only for javascript which is what we used it for this class but for other coding languages making this one of the many useful things I have learned from this class.

Design Patterns:

While we are on the topic of reusability I might as well bring up design patterns. A design pattern in short is like a coding template that we are able to use to help in the beginning with structuring your code. I feel like this would be very helpful in the furter with projects where we don’t know where to start to help implement new things to a project. Overall it is something that we do without even noticing which is crazy. In this class we were working with design patterns the whole time and we didn’t notice till this topic came up. It is something that is really simple to do but will have a huge impact on how we look at problems in the future. It’s just a really cool concept to keep in mind while working on anything. This is why I feel like it is one of the concepts that really stood out to me.

Agile Project Management:

Overall this is one of the concepts that can be taken and applied to any project and will not need to deal with software engineering. The concept is an idea that is based on the consumer’s perspective and applying these issues will make it alot easier to work on. We used the project board on GitHub. I feel like this is a really cool and efficient way to bring up issues and work on it as a team. This will make everyone that checks the project to know what is a problem and work on it appropriately. After going through a project that had a project board I feel that it is really useful. I will apply this concept to group projects that I work on in the future where we can see the issues and have ideas in one spot to see the bigger picture.

A ending chapter:

As this class comes to an end It’s was like an ending chapter. I have learned a lot and had my struggles with this class but it really opened my eyes. It helps me see a lot more into the world of computer science. With the HACC although I didn’t do work on a team I got to see all the problems that were there. Really gave me a sense of what I can do to help out. With that and all the concepts that I have learned from this class really is something that I will remember for the rest of my journey in computer science. Classes like this really gets me excited for the future. As this chapter ends another will start and I will be sure to take everything I have learned to the next one.