My Path in Computer Science

19 Dec 2025

Wrapping Up My Time in ICS 314

As I’m finishing up ICS 314, I’ve been thinking a lot about how much this software engineering class has actually taught me. Going into it, I expected mostly coding, but I ended up learning way more than just how to write programs. We covered things like ethics in software development, coding standards, functional programming, and how real software teams operate. A lot of what I learned in this class feels like stuff I’ll keep using long after college. Two topics that stood out to me the most were configuration management and agile project management.

Configuration Management

One of the most useful modules for me was configuration management because it really introduced me to GitHub. I had heard of GitHub before this class, but I never used it seriously since it felt confusing and intimidating. ICS 314 helped make it feel a lot more approachable and showed me why it’s such an important tool for developers.

Over the semester, I learned how to actually use GitHub to manage my code, track changes, and share my work publicly. I also got experience with things like GitHub Desktop, branching, and merging code, which made my workflow feel much more organized and professional. Having everything in one place made collaboration and debugging a lot easier.

What surprised me most is how configuration management isn’t just useful for coding. The idea of keeping things organized, tracking changes, and documenting work can be applied to almost anything. Tools like Google Classroom or Lamaku work in a similar way by helping people manage assignments, deadlines, and communication. It made me realize that these skills are useful beyond just software development.

Agile Project Management

Another big part of this class was agile project management, which we used during our group project. Before ICS 314, I had never worked on a large coding project with a team, so this was a good intro on how to collaborate with others. The agile approach helped us stay organized and made sure everyone knew what they were responsible for.

This module felt a lot like a preview of what working in the real world might be like. Early on, we had to create a team contract that outlined expectations and responsibilities for each group member. We also had to document our progress, give team presentations, and build a project homepage. All of this helped keep the project on track and made teamwork feel more structured and professional.

Agile project management isn’t something that only applies to software engineering. The skills we practiced; communication, planning, accountability, and teamwork can be used in almost any group project. Having clear expectations and a structured process makes a big difference and can really improve the quality of the final result.

Final Thoughts

Overall, I’m really glad I took ICS 314. The class didn’t just improve my technical skills, it also helped me grow in terms of professionalism and teamwork. I went into the course thinking it would mostly be about coding, but I came out realizing that software engineering is about much more than that. The lessons I learned here feel like things I can apply not just in future classes, but also in real-world situations and future jobs.