During my time in ICS 314, I learned a lot about the many processes that go into Software Engineering. There were many aspects that the course covered, but I’ll highlight two aspects that really stood out to me, and are probably the key aspects I take away from this course and use in my Computer Programming career. My main key takeaways from this course are Coding Standards and Agile Project Management.
Coding standards are a way for coders in a group to follow the same uniform style of coding to make looking at code and managing code a lot easier. When working on a project with various other people who have different styles of coding, it can be hard to make out exactly what they are writing in the code. To limit the confusion within group code, we used coding standards to limit how different styles of writing code conflict with managing our project. This turned out really useful when working on a final project in ICS 314. In a group of 6 total people, following coding standards proved to be a great asset to use when looking at other people’s code. There were many times while working on the project where I had to alter a file that was created by another team member, but since we all write our code in one uniform standard, it made it significantly easier to distinguish what each block of code was doing, along with ample amounts of comments too.
On the other hand, Agile Project Management was a way to manage a team of coders in a very organized way to effectively move the project forward, in a steady manner. During that final project in ICS 314, I had formed a group of 6 with my table mates and our goal was to create a website that helps connect clubs and students with upcoming events, called Manoa Connect. My group mates and I agreed that this project could have easily been done by a maximum of four people, and having six people work on this webpage was going to prove a challenge for deciding who gets to work on what tasks. However, using Agile Project Management through GitHub’s issue driven project management made it easy to visualize who was working on what part of the project and could easily display how the work was being distributed. Having this experience with project management, will deeply benefit my career going forward, and a key takeaway from ICS 314.
After reflecting upon my time in ICS 314, the key takeaways that I will take with me to my future career in Computer Science are the Coding Standards, a way to keep uniform code within all programmers working on a project. Also, Agile Project Management, a great experience under my belt working in a programming project for the first time, and learning how to manage the people working on that project. Not just in Software Engineering, but in all of Computer Science, I believe these traits are essential to have moving forward, and I’m very glad that I learned that from this class while working with such amazing people, and having a great instructor to go along with it.