I can't believe it is almost Christmas! It has been about five months since I've started my introduction to Software Engineering, but it seems like it was only yesterday I was struggling to finish my first assignment. Time sure does fly. Intro to Software Engineering (ICS 314), instructed at the University of Hawaii, Manoa, was a Javascript-focused, fast-paced course covering various tools and concepts used to create web applications from start to finish (Full-Stack). The Class can be strenuous at times but overall an enriching experience.
One tool that I've surely taken an interest in is Functional Programming. Compared to Object-Oriented Programming, where the model is revolved around defining classes, objects, and properties. Functional programming differs by being A programming model constructed using functions; functions can be bound to data and arguments and can be returned. I enjoyed learning about underscores, which are Functional Programming helpers. Instead of creating nested for-loops to logically extract and store data, underscore simplifies those logics by invoking built-in helpers such as map, filter, and pluck.
The course also introduced User Interface Frameworks. U.I. Frameworks is used in Front-End development; it is a tool that provides clients with aesthetic and stylish application displays. There are various U.I. Frameworks out there. Each is unique to how they interact with the Application programming interface known as Document Object Model (DOM), which treats Markup Languages like HTML as a tree structure. React, one of the popular frameworks out today, works slightly differently from other frameworks. Instead of accessing the DOM directly, React uses a virtual DOM to display the interface. It is an in-memory tree representation that can update the specific configured part of the real DOM using external libraries. React is a great tool to learn because of its flexibility; The code can be divided into groups of component, giving it a nice structure. When one of the components needs to be changed, it does not have to access other components, increasing update speed.