Many students and alumni of the Georgia Tech's OMSCS program are quick to recommend Dr. David Joyner's classes as some of the best in the curriculum. This past fall I enrolled in CS 6750: Human-Computer Interaction (HCI), hoping the hype on Reddit and OMSHub was accurate. Fortunately, the class did not disappoint, and I can safely say that this was my favorite course I've taken thus far in the program.
At face value, "human-computer interaction" is an incredibly vague course title. However, the field of HCI actually covers some of the most fundamental concepts in computer science. The "principles" portion of the course focused primarily on demonstrating the principles and properties found in good computer interface design. Some of the underlying psychology behind these guidelines was discussed, although the course favored practical examples in computing over abstract theoretical concepts. This was not a graphical user interface or user experience design class; the topics covered are universal to all interfaces from traditional desktops to smart devices to augmented/virtual reality.
Additionally, the "methods" portion covered the interface design lifecycle and how to practically approach interface design. This started with learning how to plan and conduct research, including user studies, in order to gather data and define requirements. From there, the course covered prototype creation and evaluation, specifically showing the strengths and weaknesses of various approaches.
Unlike most courses in OMSCS, there were no programming assignments in HCI. There was, however, a lot of writing. I would consider myself a competent writer (at least by software engineer standards), but I found the sheer amount of writing in this class incredibly challenging. A 6-8 page paper was due every week for 10 weeks straight, and the course capped off with a final project requiring an accompanying 16-20 page paper.
On top of all that writing, there were also plenty of weekly readings consisting of textbook excerpts and research papers. General understanding of the textual materials and lectures was evaluated through two exams, which were both tough but fair. This is all to say that despite the lack of programming, the workload of this course was not light. In fact, it was probably the most time-consuming course I've taken yet. This course truly leveled up my research paper reading and writing skills to a graduate level. For the first time ever, I genuinely found joy (or at least interest) in reading published academic works.
Dr. Joyner is one of the architects behind OMSCS, and his passion for distributed online learning informs pretty much every aspect of this course. From the helpful weekly announcements to the extremely high production quality of the lecture videos, every detail of this course was thoughtfully crafted to improve the learner experience. In many ways, the class itself is a fantastic example of good human-computer interaction. HCI was by far the most organized of the three courses I've taken so far, and I hope more classes follow this model in the future.
Overall, even though I was familiar with most of the general concepts covered in HCI, I walked away feeling as though I had learned a lot from my time in the class. Even material that I had already read during my undergrad at Northwestern, such as Don Norman's The Design of Everyday Things, proved worthwhile to revisit as a seasoned engineer with real-world experience. As a bright-eyed undergrad, I had no idea how the obviously flawed products in Norman's examples could be created. Today, I am all too familiar with the inefficiencies in corporate America that lead to poor design and user experience.
The combination of theory and practice offered by HCI provided a ton of value to me personally and professionally, and I am now one of the cohort who will whole-heartedly recommend Dr. Joyner's classes to anyone in the OMSCS program.