The essentials of ICS 314: Software Engineering

13 Dec 2023

ICS 314 taught me many topics that I found useful and essential, however two specific modules within the curriculum became a highlight for my development in programming, “Functional Programming”, and “User Interface Frameworks”. These two topics were the topics that I felt were important to improving my understanding of coding and improvements I could develop with my current understanding.

Functional Programming

Functional programming is a style of programming that utilizes the versatility of the javascript programming language or any other multi-paradigm dynamic languages to create code that returns or uses functions as a data type for parameters and return statements similar to the utility of basic varaibles such as integers and strings.

The functions that are created with functional programming are definetly a new essential tool I would implement in future code/applications I make such as unity games, or mobile app development. In particular, functions like the map function would be a very convenient tool for me that would massively minimize the complexity and length of the code I would need to make in order to serve a procedure. I would use the map function to manipulate data from databases to mutate based on an event or particular attribute the element would contain, such as the default profile picture of a user in an app having a different image based on either role assigned or preference inputted in a form.

User Interface Frameworks

Before learning from the ICS 314 course, my previous experience with html/css had been just the basic tags/elements you would learn from vanilla html/css. I had learned that the positioning of components such as navbars had to be made with many complex lines of codes that include custom spacing, and font attributes. After learning User Interface Frameworks, such as react bootstrap I found that this lead to a more easier time for development because of the convenience it brought me. React Bootstrap allowed all the code that would be used to develop a common component in a webpage/app be made into a standard predefined component that you could import and use for your code. This made development easier with all the unnecessry repetitive code removed in favor of a standard import from the react bootstrap library. In my assignments/projects, react bootstrap minimalized the amount of code needed to make almost all of the aspects in my webpages. I feel that this same effect would definetly workout if they are used for user interface applications in other fields that don’t involve web development.

Conclusion

Overall Functional Programming, and User Interface Frameworks were two of the most useful and important topics I’ve learned in this course. They brought me convenience that can also be applicable in other instances of my lifestyle such as game development or app development. These tools make programming more understandable and create a more favorable toolset I can use for future projects.