Learning Software Engineering

17 Dec 2025

Introdcution

I learned a lot in ICS 314, and while some of the concepts were difficult at first, I found them to be a good kind of challenge. At first, it might have seemed like the class was only about building web applications, but it taught me much more. The main goal was to give experience with core software engineering concepts that are useful for any type of software project. These include user interface frameworks, coding standards, development environments, and Agile Project Management. Even though it was sometimes challenging to learn these ideas, working through them helped me gain valuable skills and a better understanding of how real software projects are built and managed.

User Interface Frameworks

User Interface Frameworks are tools that help developers build user interfaces more easily and consistently. Instead of designing every button, form, or layout from scratch, developers use frameworks that already provide these elements. In this class, I used Bootstrap, which is a popular open-source user interface framework. I found Bootstrap very helpful because it made my pages look organized and professional with much less effort. It also helped me create designs that worked well on different screen sizes. Beyond web applications, user interface frameworks are used in mobile apps, desktop software, and other types of systems. This showed me that good software engineering focuses on making software easy to use and consistent, no matter what type of application is being built.

Agile Project Management

Agile Project Management is a way to organize work by breaking a project into smaller tasks. In this class, we used Agile Project Management while building our web application as a group. The project was divided into milestones, which helped keep everything organized. Each milestone had specific tasks, so everyone in the group knew what they were responsible for. This made sure that everyone was doing their part and contributing to the project. Working this way helped me understand what to expect when working on a team, such as the importance of communication, planning, and staying organized. It also made group work less confusing and helped the project move forward smoothly.

Development Environments

Development Environments are the tools and programs that developers use to write, test, and run code. In this class, our development environment included VS Code for writing code, GitHub for version control, and Vercel for deploying our web application online. Using these tools helped me work more efficiently and keep my code organized. It also made it easier to share code with my team and make sure everything worked the same way for everyone. Learning to use a development environment gave me experience with what it is like to work on a real software project and showed me the importance of having the right tools to stay organized and work well as a team.