Embedding HCI in Computer Science Education - ACM Digital Library

18 downloads 30249 Views 580KB Size Report
Apr 15, 2016 - ABSTRACT. Graduates of computer science education (CSE) programs .... other relevant CSE courses should be a better approach in teaching ...
ACM ICPS Proceedings of CHIuXiD 2016

Embedding  HCI  in  Computer  Science  Education:  A   Preliminary  Attempt   Rahmad Dawood Telematics Research Center and Jurusan Teknik Elektro Universitas Syiah Kuala Banda Aceh, Indonesia [email protected] ABSTRACT  

Author  Keywords  

Graduates of computer science education (CSE) programs are starting to be expected not only to be good coders, but also good interaction and interface developers. The primary way CSE programs typically provide such interaction and interface development skills have been by offering a Human Computer Interaction (HCI) course. However, it does not seem to be that effective to solely rely on this course to provide such skills, and additional teaching approaches are needed to reinforce newly learned skills taught by the formal HCI course. This paper proposed one such approach by embedding HCI in the CSE curriculum. Embedding HCI is done through including appropriate HCI concepts in relevant CSE courses, typically those that have a final project component, to develop or to prototype an application, software, or system that interacts with endusers. In these CSE courses, prior to conducting the technical design/development, students are asked to design the user experience and interaction for their respected project, which is later commented on by a lecturer who teaches or has taught HCI. The final user experience and interaction design is then used as a basis for the technical design and development of the project. This approach was piloted on several courses and preliminary results were positive, where students produced more solid as well as less contrive applications, were able to apply HCI concepts even in very technical coding courses, and showed longer lasting internalization of HCI concepts.

Computer Science Education; HCI Education; Developing Countries.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. CHIuXiD '16, April 13-15, 2016, Jakarta, Indonesia © 2016 ACM. ISBN 978-1-4503-4044-1/16/04 $15.00 DOI: http://dx.doi.org/10.1145/2898459.2898465

ACM  Classification  Keywords  

H.5.m. Information interfaces and presentation (e.g., HCI): Miscellaneous; K.3.2. Computers and Education: Computer and Information Science Education. INTRODUCTION  

The teaching of Human Computer Interaction (HCI) is recognized as an important part of computer science education (CSE). This recognition can be seen in HCI inclusion as an independent body of knowledge in the Computing Curricula; starting from its initial version CC2001 [15], in its interim update CS2008 [14], and in its latest version CS2013 [16]. The Computing Curricula is a joint effort by the two biggest computer science professional organizations, ACM and IEEE Computer Society, to standardize CSE. The inclusion of HCI in CSE standard curriculum is also in line with industry needs that require graduates from CSE programs to not only be good coders, but also good interaction and interface developers (this has been stated as early as [3,5]). Because HCI is an independent body of knowledge in CS2013, one interpretation is that HCI should be taught as its own course. For example, in the Informatics Department at Universitas Syiah Kuala (Unsyiah), which is one of the undergraduate CSE program in Indonesia, HCI is taught as a 3 credit course named INF-401 Interaksi Manusia Komputer1. The course itself is intended to be placed in the middle or later stage of the degree as it is considered as an advance subject. For example, INF-401 is given in the 7th semester out of 8 semesters given in Unsyiah’s Informatics program. HCI is considered as an advance subject mostly due to the perception that before a developer can design a good experience or interaction they first must have the technical skill to develop the system/software. Thus, the course must be offered later in the curriculum. Typically, the current approach in teaching HCI in these courses is to combine theory and practice [2] either in a 1

http://informatika.unsyiah.ac.id/index.php/akademik/kurik ulum

39

ACM ICPS Proceedings of CHIuXiD 2016

design project- (see for example [1,4]) or studio-like (see for example [6,12]) format. In the theory portion of such courses, students are introduced to HCI’s basic concepts and theories, while in the practice portion, students are asked to apply newly introduced concepts and theories either to criticize specific HCI projects and/or to design an innovative interface/interaction that meets a specific need. After several years of teaching HCI using this approach, I have observed that HCI concepts that were taught in my course are rarely applied and demonstrated by students in other parts of the CSE program, specifically by students who choose to develop an application for their undergraduate final project. To graduate, all Indonesian undergraduate students must complete a final project. For computer science students, this final project can be a software development project where they build a small application to solve some identified problem. Students that choose to do a software development project, whom I have advised or sat on their committee, will always initially emphasize the software technical needs or specifications and rarely start with the targeted user needs until this is pointed out to them. This is ironic since the project itself was initiated to solve a problem of the targeted user but the discussion instead starts out with the project technical aspects. More importantly, the user interface and user experience is seen as an afterthought of small importance to consider upfront, while in reality, it needs to be considered early in the project because it is an important input for the technical design of the system. For example, filling a large form in one big page/screen or in several pages/screens will have an impact on the database schema, where the later approach will require an intermediate storage to store already submitted data. We suspect the above problem emerges as a consequence of both HCI being taught as an independent course and HCI being taught at an advance stage in the CSE program. By being taught as an independent course, HCI is perceived as being isolated from other courses, where either aspects from HCI are not used by other courses or inputs from other courses are not needed in teaching HCI. While teaching HCI as an independent course is the correct approach, since this is the best way to introduce HCI’s basic concepts and theories, perceiving HCI as an isolated course is problematic since HCI should be used as part of other courses, especially if these courses have a user component in them; at a minimum, HCI methods can be applied to identify user needs and requirements. Thus, creating an independent HCI course and making HCI an integral part of other relevant CSE courses should be a better approach in teaching HCI. In other words, embedding HCI in the CSE curriculum itself would be a better approach. Consequently, embedding HCI in the CSE curriculum will meet the need to teach HCI earlier in the CSE curriculum to introduce students to its concepts and theories and to easily integrate HCI in other CSE courses. In this paper, we introduce this approach and report on its initial implementation.

This paper will elaborate on how to embed HCI in a CSE program and describe results from a pilot of the proposed approach. EMBEDDING  HCI  

In this paper, embedding HCI is defined as including appropriate HCI concepts in CSE courses that typically have a final project component to develop or to prototype a software/system that interacts with end-users. The inclusion of HCI concepts in these courses are not materials to be taught in the course but a step students must take in developing or in prototyping their project’s end-product. Because the primary lecturer of these courses might not be familiar with HCI concepts, another lecturer who is familiar with HCI concepts will guide and review the HCI portion of the student’s final project. In other words, the course will be minimally co-taught with an HCI lecturer, where the HCI lecturer will participate in around only 1.5 sessions together with the primary lecturer of the course. We envision these 1.5 sessions being separated into three sections: •   0.5 session when the final project is introduced and to setup expectations, including the HCI aspect; •   0.5 session when the initial deliverables are presented by students where the primary lecturer and HCI lecturer will give feedback regarding the HCI aspect of the deliverables; and •   0.5 session when the final deliverables are presented by students where the primary lecturer and HCI lecturer will again give feedback regarding the HCI aspect of the deliverables. For this proposed approach to be effective, HCI concepts and theories need to be introduced to students prior to being used in these projects, which requires offering the HCI course early in the curriculum, ideally in the second semester or third semester. PILOT  STUDY  

Asking a CSE department to consider adopting the approach proposed in this paper is near impossible without any concrete and strong evidence that shows the approach will produce the intended result in students’ learning. To start collecting the needed evidence, a pilot study was conducted for courses that were being taught by the author: Introduction to Network Programming (i.e., Komunikasi Data), Software Engineering (i.e., Rekayasa Perangkat Lunak), Introduction to Mobile Programming (i.e., Pengantar Aplikasi Bergerak), and Advanced Mobile Programming (i.e., Aplikasi Bergerak Lanjut). These courses were offered in Unsyiah’s Informatics Department and the Computer Engineering Specialization of Unsyiah’s Electrical Engineering Department. Because the author also teaches the HCI course (i.e., Interaksi Manusia dan Komputer) in the Electrical Engineering Department, no other lecturer was asked to co-teach the targeted courses for the pilot. This pilot study has been running for the last two semesters starting from the second semester of the

40

ACM ICPS Proceedings of CHIuXiD 2016

2013/2014 academic calendar and was conducted as an action research [8, 9] project. As in other CSE curriculums, HCI is categorized as an advanced topic. Thus, it was offered near the end of both of Unsyiah’s two CSE programs (the 7th semester in the Informatics Department and the 6th semester in the Computer Engineering Specialization of the Electrical Engineering Department). This resulted in the HCI course being offered after or together with the targeted courses for this pilot study with the exception of Advanced Mobile Programming, which was offered after the HCI course in the computer engineering specialization. This is problematic because students in the targeted courses would need to use concepts from HCI for their final project, but these students have not yet taken the course. To overcome this problem the author decided to teach the needed HCI concepts to students in these targeted courses, which were heuristic evaluation [10], storyboard [7], and a quick version of usability testing [13]. These HCI concepts were taught in the same session together as the final project was introduced. For all courses in the pilot study, the first session of the proposed approach started with a description of the project, any required deliverables for the project, and all expectations of the project. The class was then divided into teams of two to five students depending on the course they were taking. This session was then followed by an introductory lecture and in-class practice of each needed HCI concepts. A short review of the introductory lecture was conducted in the next class to assure that students correctly understood these concepts. This first session was conducted in the fourth or fifth meeting of the class. For the second session in the proposed approach, which was conducted two class meetings after the first session, each team was asked to present their initial design for the project, which includes their technical designs that is related to the current course, how users will interact with the application, and the user interface. For the user interaction, each team was asked to explain it in the form of a storyboard on how users would use their application. For the user interface, each team was needed to present a low fidelity mock up that has undergone at least one iteration of heuristic evaluation session and redesign, which is proven by submitting (as part of their deliverables) the initial design and results from the heuristic evaluation for that design. After each presentation, the author and the whole class provided comments and suggestions to the presenting team. For the third and last session, which was conducted at the last meeting of the class (and acted as the course’s final exam), each team presented the final version of their application in front of the whole class. In this presentation, each team was also asked to explain changes they made from their previous presentation and results from any usability test they did. For the usability test, the requirement

was to test the application with a minimum of two users doing at least two scenarios. Again, after the presentation, the author and the whole class provided comments and suggestions to the presenting team. For the Introduction to Network Programming course, which was offered in the first semester of the 2015/2016 academic year, the final projects were to design a car parking system, a pedometer application, and a sensor network system to monitor plants. While the focus of this course is on the design and development of the communication protocol for these systems, students were asked to think on how these systems will be used, which affects the design of the protocol. For example, a design for the car parking system envisioned a system where a vehicle would drive into the parking lot, register the vehicle to the car parking system, roam around the parking lot to find a spot, and on finding a spot, would notify the system that the vehicle has been parked in the spot with the help of a sensor in the parking lot. In contrast, another design envisioned a system where upon registering the vehicle to the car parking system one would be notified the exact location where the vehicle should be parked. From a communication protocol design perspective, both systems must have a way to tell the car parking system that a vehicle has entered a parking spot, but additional notification is needed to inform the vehicle whether it has parked in the correct spot in the second design. For the Introduction to Mobile Programming course, which was also offered in the first semester of the 2015/2016 academic year, some of the final projects were to design a market price information application for traditional markets, a medical health record system for doctors operating small private practices, and a ticketing system for provincial level transportation service (locally termed as L300 buses). While the focus of this course is on the design and development of Android-based applications, students were also asked to first think on how these systems will be used, which affects the application’s interface design. For example, the initial design for the market price information application was for sellers to directly update their selling price in a crowdsource-like approach. However, after discussing the design, it was decided that there would be no incentive for these sellers to update their selling price, and a more realistic approach would be for the administrator of the marketplace to update these prices. This realization resulted in a whole new subsystem needed to be developed to manage these marketplace administrators. PRELIMINARY  RESULTS  

In general, applications produced by students in the pilot courses were less contrive and had a more solid user interface than applications produced in the same course prior to the pilot. The author suspects that this is because students had to create a storyboard of the application and had a chance to fully consider how users would interact with their application resulting in a more realistic and less

41

ACM ICPS Proceedings of CHIuXiD 2016

contrive application. The author also suspects that the heuristic evaluation aided students in creating a more solid user interface where the interface would have gone through at least one design iteration. However, these observations are subjective and are based on the author’s impression of each team’s final presentation and answers provided after querying each team. A more objective and thorough evaluation needs to be devised to compare these two results. While the final application as a whole was of higher quality, the quality of the HCI related artifacts were generally of lesser quality compared to the ones produced in the HCI course that the author taught. Issues were found for all requested HCI related artifacts. Almost all produced storyboards were too tightly focused on end-users interaction with the application and not focused enough on triggers that initiated the interaction, user preparations needed to prepare the interaction, and outcomes from the interaction. For example, one storyboard depicted an enduser turning on the computer, starting a browser, typing in a URL, and logging into the application without an explanation why the end-user was logging in and what was the expected outcome after the user had logged in. Results from the heuristic evaluation also tended to focus on the esthetics of the application’s interface, only pointed out issues without providing any elaboration (besides breaking one of the heuristic), and no concrete solution was provided on how to resolve the issue. For example, one student heuristic evaluation commented on a page that was part of a three-page interaction and only stated that it was violating Nielsen’s Visibility of System Status heuristic [10] because end-users did not know where they currently were at in the three-page steps but did not explain why this was an issue and did not present a possible solution to resolve this issue. Outcomes from the quick usability testing seem to be questionable since results were all positive without users stating any issues. For example, in one presentation, a team stated that end-users commented positively and liked the team application. After further enquiry, it was found that students were leading the subject during the test that was more of a training session on how to use their application rather than a usability test of the application. In general, this lower quality in HCI-related artifacts are permissible and understandable since students in these pilot courses only received a quick one-session introduction to the needed HCI concepts. Surprisingly, in the first semester of the 2015/2016 academic calendar, one team of students requested the author to be an adviser for their Program Kreatifitas Mahasiswa (PKM)2 proposal. This team started explaining 2

PKM itself is an initiative by the Directorate General (DG) for Higher Education to stimulate university students into applying what they have learned to productive uses especially in STEM and entrepreneurial related topics. PKM is a competitive scheme were student teams can receive funds up to 12 million rupiah per proposal by

what they were planning to do in a very simple user story [11] that surprised and elated the author. This was surprising because out of the six PKM teams that the author was advising that academic year, this was the only team that pitched their idea using a User Story while the other five teams used the typical approach of explaining the technical details of their planned project. Moreover, all members of this team were students who have not taken the HCI course but have taken the author’s Software Engineering and Introduction to Mobile Programming classes that were part of the pilot study; thus, these students would not have been formally introduced to these methods but were novicely aware of it. The way this team pitched their idea suggests a potential long-term effect of the proposed approach, but a more concrete and objective metric needs to be developed to measure this potential longterm effect. CONCLUSION  

Despite all of its shortcomings, the overall quality of produced applications was better in the pilot courses than applications produced prior to adopting this approach in these pilot courses. Most importantly, students were moving toward becoming both good coders as well as good interaction and interface developers. Students were not only looking at an application solely from a technical perspective but were also starting to add an end-user perspective to their analysis and thinking. Moreover, adopting the proposed approach resulted in minimal changes to the current course formats, and students completed the additional work albeit with lower quality artifacts (mostly due to students not taking a formal HCI course). Nonetheless, this study still provided large gains in student learning. Since this is a pilot study, more work is still needed to affirm that this is a viable approach. For future works, exit interviews and student surveys need to be conducted both from students who have completed the specific courses as well as those who are about to graduate to gauge the effectiveness of this teaching approach. Moreover, a formal definition and operationalization on the concept of quality is needed that can consistently measure the quality of the end-product of each project as well as the quality of its artifacts. In addition, we planned to conduct two specific studies. The first study would devise a metric to measure whether the produced applications using this approach are of higher quality than produced applications not using this approach. With this metric, an experiment will then be conducted that will randomly divide the course participants into two classes, where one class will use the proposed approach and the other class will use its regular approach. Student project’s produced applications from both classes would then be graded using this metric and compared to submitting a proposal to be selected nationally by the DG. More information can be found in: http://simlitabmas.dikti.go.id.

42

ACM ICPS Proceedings of CHIuXiD 2016

identify if there were any differences. Then the second study would measure whether this approach has a long-term effect in helping students use these HCI concepts long after they have formally passed the class or even after they have graduated. One way to do this might be to collect and review first drafts of all students’ proposals, either for PKM or for their final thesis that they submitted to their advisers, and code them accordingly. From the resultant coding, an analysis could be done to measure the degree of effect from this paper proposed approach on students’ thinking, which can be a predictor of the approached long-term effect on students. Longer and larger studies are still needed to evaluate whether this approach have merits, but such studies are warranted if we want to create professional and solid developers and designers from our CSE programs. REFERENCES  

1.   Bert Bongers and Gerrit van der Veer. 2009. HCI and Design Research Education. In Creativity and HCI: From Experience to Design in Education, Paula Kotzé, William Wong, Joaquim Jorge, Alan Dix and Paula Alexandra Silva (eds.). Springer US, 90–105. http://link.springer.com/chapter/10.1007/978-0-38789022-7_7 2.   Elizabeth F. Churchill, Anne Bowser, and Jennifer Preece. 2013. Teaching and Learning Human-computer Interaction: Past, Present, and Future. interactions 20, 2: 44–53. http://doi.org/10.1145/2427076.2427086 3.   Xris Faulkner and Fintan Culwin. 1999. Integration of Usability Issues Within Initial Software Development Education. (It’s All About the User Dummy!). The Proceedings of the Thirtieth SIGCSE Technical Symposium on Computer Science Education, ACM, 296–300. http://doi.org/10.1145/299649.299791 4.   Manuel J. Fonseca, Joaquim A. Jorge, Mário R. Gomes, Daniel Gonçalves, and Marco Vala. 2009. Conceptual Design and Prototyping to Explore Creativity. In Creativity and HCI: From Experience to Design in Education, Paula Kotzé, William Wong, Joaquim Jorge, Alan Dix and Paula Alexandra Silva (eds.). Springer US, 203–217. http://link.springer.com/chapter/10.1007/978-0-38789022-7_14 5.   Saul Greenberg. 1996. Teaching Human Computer Interaction to Programmers. interactions 3, 4: 62–76. http://doi.org/10.1145/234813.234820.

7.   Karen Holtzblatt, Jessamyn Burns Wendell, and Shelley Wood. 2005. Rapid Contextual Design: A How-to Guide to Key Techniques for User-Centered Design. Morgan Kaufman, San Francisco, CA. 8.   S. Jonsson. 1991. Action Research. In Information Systems Research: Contemporary Approaches and Emergent Traditions. North Holland, Amsterdam, 371– 396. 9.   Ned Kock. 2011. Action Research: Its Nature and Relationship to Human-Computer Interaction. In Encyclopedia of Human-Computer Interaction, Mads Soegaard and Rikke Friis Dam (eds.). The InteractionDesign.org Foundation, Aarhus, Denmark. http://www.interactiondesign.org/encyclopedia/action_research.html 10.   Jakob Nielsen. 1994. Heuristic Evaluation. In Usability Inspection Methods, Jakob Nielsen and Robert L. Mack (eds.). Wiley, 25–62. 11.   Whitney Quesenbery and Kevin Brooks. 2010. Storytelling for User Experience: Crafting Stories for Better Design. Rosenfeld Media, Brooklyn, NY. 12.   Yolanda Jacobs Reimer and Sarah A. Douglas. 2003. Teaching HCI Design With the Studio Approach. Computer Science Education 13, 3: 191–205. http://doi.org/10.1076/csed.13.3.191.14945 13.   Jeffrey Rubin, Dana Chisnell, and Jared Spool. 2008. Handbook of Usability Testing: How To Plan, Design, and Conduct Effective Tests. Wiley, Indianapolis, IN. 14.   The CS2008 Review Taskforce. 2008. Computer Science Curriculum 2008: An Interim Revision of CS 2001. IEEE Computer Society and ACM, New York, NY. http://www.acm.org//education/curricula/ComputerSci ence2008.pdf 15.   The Joint Task Force on Computing Curricula. 2001. Computing Curricula 2001: Computer Science. IEEE Computer Society and ACM. http://www.acm.org/education/education/education/cur ric_vols/cc2001.pdf 16.   The Joint Task Force on Computing Curricula. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM and IEEE Computer Society, New York, NY. http://www.acm.org/education/CS2013-final-report.pdf

6.   Saul Greenberg. 2009. Embedding a Design Studio Course in a Conventional Computer Science Program. In Creativity and HCI: From Experience to Design in Education, Paula Kotzé, William Wong, Joaquim Jorge, Alan Dix and Paula Alexandra Silva (eds.). Springer US, 23–41. http://link.springer.com/chapter/10.1007/978-0-38789022-7_3

43

Suggest Documents