After a few semesters of studying Advancing Computer Science here at UAT, I learned that there was more to computers and programming than just knowing languages like C++, Java, or Python. Programmers tend to forget that people will be seeing the end product, and while something can be mechanically successful, it also needs to be designed successfully. I started taking Human-Computer Interaction classes along with my Computer Science classes, and found the two programs to be highly compatible and almost necessary.
Human-Computer Interaction teaches developers and researchers how a design can be successful or terrible. It pushes tradition out of the way and asks fundamental questions like "Is the keyboard the best way to interact with a computer? What else do humans have that would allow them to interact in a better or more efficient way?" The theory and practice of design combines with programming allows the developer to really be empathetic in their products. They will begin to understand how or why people will interact with their software. In which way is it best to interact with it? Should we use buttons, sliders, or check boxes?
At UAT, Advancing Computer Science focuses on the craft of programming in multiple languages across multiple platforms on any scale. There is no doubt we learn about algorithms, theory, and software development. HCI doesn't have to be a major for everyone, but the principles of design in new technology (handhelds, headsets) is important for anyone working behind the code. It has foundations in interface and interaction between user and device. This research ultimately leads to push for new technology that is easier, more useful, and better overall.
I am working on a huge project this semester that uses the fields of Advancing Computer Science and Human-Computer Interaction. I cannot wait until I can release more information on it and write about the process of design. There are many tiny decisions made about everything you use in your computer, some you may love, some you may hate, or some that go completely unnoticed. Either way, everything had a programmer and a design choice. It's our jobs to make sure they're good choices for the user.