Software Engineering in a Blurb

12 Dec 2023

This course has given me the opportunity to not only learn about software engineering, but also apply my learning through activity-based learning. With the experience WODs, in-class WODs, and the final project, I feel that I was able to practice, improve, and showcase the content I learned. Due to this, I was intellectually challenged throughout the entire course. A few main highlights I would love to dive deeper into are the development environment, design patterns, and ethics in software engineering.

Development Environment

One of the concepts that was involved in this course was the development environment, more specifically an integrated development environment. An integrated development environment, or IDE, is a software development tool that allows coders to create, test, and debug code. In this course, I was introduced to the IDE IntelliJ. We used this IDE for the majority of the course, so I was able to gain a lot of experience using it. I have experience working with a few other IDEs in the past, but I have come to really like and enjoy using IntelliJ. I feel that I am more inclined to use this IDE when developing software after the end of this course. One of the things I really like about IntelliJ is that it has built-in spell check, which has been very helpful for me when creating my essays and my group project’s home page. Another reason why I am gravitating towards this IDE is because of its ease when using it. When setting up my laptop for this course, I had to adjust my keyboard to accommodate certain shortcuts. The shortcuts did take a while to learn, but once I got a hang of using them, it made coding much more efficient. Beyond this course, I can see myself using IntelliJ to continue to develop new software in the future. I hope to discover new helpful features in this IDE that can help improve my coding efficiency and skills. Overall, this course has given me experience working with a new IDE and learning how to use keyboard shortcuts.

Design Patterns

A topic in this course that I found interesting was design patterns. Design patterns in software engineering is a chunk of code that solves a variety of coding problems. From my understanding of this, it is code that can be reused and adjusted to fit the specific needs of each problem. Throughout this course, I was able to utilize a variety of different design patterns in software engineering, such as singletons when creating collections in my group project. I will most definitely will be utilizing design patterns as a further my time in software engineering, using it as much as possible to provide efficiency in my code. Outside of software engineering, design patterns are a popular concept also. From this course, the example of house roofing is a great example. There are a variety of different roof shapes, but each roof design differs to accommodate the various environments the house is located in. Design patterns are something that I will continue to use when developing code in the future.

Ethics in Software Engineering

Ethics in software engineering is an important topic discussed in this course. It is a set of rules and standards that people must follow when working with software engineering. It is very important to learn ethics because it taught me the expectations I must uphold when creating software for people where I must deal with their personal data. It not only helped me with my group project, but also will help me in the future if I were to pursue software engineering as my future career. I think that learning ethics in this course has also helped me learn about my own personal thoughts concerning ethics, such as what I think is ethically correct. It helped me realize what I want to do in software engineering that aligns with my own ethics.

Takeaways

This software engineering course has been a great learning experience for me. It provided me with so many opportunities to learn and sharpen my skills to become better at web development. The course content will be greatly used in the future, and I am excited to learn more about software engineering.