When I first enrolled in ICS 111 at UH Manoa, I had limited knowledge of programming. I was always interested in computers and creating something interesting, but I never committed myself to learning how program. ICS 111 was a good introductory course that taught some of the fundamentals of programming, and that was later built upon in my succeeding ICS courses.
However, I have yet to do many large projects at all. I usually do well with the assigned projects, such as make a simple game or build a simple database, but they all felt very superficial to me. They seemed detached from what people actually pay developers to make. I hope that in ICS 314 - Software Engineering, I will be able to grasp some sort of idea about how large-scale projects are made and what exactly they may contain.
I am very interested in the systems used to facilitate multiple people working on the same project. There is the option of everyone working on a separate part that has little impact on someone else’s section, but is that always feasible? I want to learn how to plan a project that has a set deadline, and how to be flexible enough to be able to change those plans mid-way through the project. I hope to learn the skills related to software engineering that are indispensable for all programmers.