My research areas currently focus on learning analytics and the use of artificial intelligence in education with an emphasis on computer science education. During my PhD, I focused on developing probabilistic user modeling and using techniques in decision-making under uncertainty to design intelligent user interfaces. I have also worked on applications in educational game design and computational linguistics.
PurposeThe purpose of this work is to illustrate the processes involved in managing teams in orde... more PurposeThe purpose of this work is to illustrate the processes involved in managing teams in order to assist designers and developers to build software that support teamwork. A deeper investigation into the role of team analytics is discussed in this article.Design/methodology/approachMany researchers over the past several decades studied the success factors of a team. Despite many efforts, there is still no consensus on how a team should ideally be formed. Consequently, how one decides to form teams in a class depends on the domain, classroom context and pedagogical objectives. Therefore, software used to support an instructor in forming teams must be flexible enough to accommodate a variety of use cases and support the users throughout the lifecycle of teamwork. In this work, the author proposes a framework for designing general-purpose team management software. The author reviews existing team formation software and focuses specifically on opportunities for advancing research in team analytics.FindingsIn this context, the author identifies four areas of research opportunities for team analytics.Originality/valueLastly, the author proposes a series of research questions (RQs) and discusses the pedagogical, design, technical and social challenges involved.
Recent efforts have been made to realize the concept of the “HCI living curriculum”. To better un... more Recent efforts have been made to realize the concept of the “HCI living curriculum”. To better understand the current landscape of our pedagogies, we implemented an online tool to gather and analyze educational patterns in HCI courses. Our goal is to uncover the pedagogical choices made in our HCI courses by analyzing syllabi information. Specifically, we wish to gain a better understanding of topic coverage, theories taught, and techniques practiced in the classroom. Furthermore, our tool enables regional comparisons of the data in the system. As a first step, we sampled a collection of syllabi from North American universities and present analyses from them.
2021 IEEE Frontiers in Education Conference (FIE), Oct 13, 2021
To keep young students engaged in computer science, it is crucial to develop teaching material th... more To keep young students engaged in computer science, it is crucial to develop teaching material that they find interesting and relevant. Unfortunately, standard CS1 textbooks typically use examples that are uninspiring or inaccessible to young people. To better understand the disparity between textbook examples and student interests, we analyzed a collection of CS1 textbooks and compared the resulting topics to those elicited from young students via focus groups. We found 47% of textbook topics (out of 53 topics from 910 code examples) did not overlap with any topic mentioned by our participants. Conversely, among the topics elicited from the participants, we found 29% of these topics (out of 24 topics from 1936 items) missing from textbooks. To measure the overlap between these two data samples, we computed the Bhattacharyya coefficient and obtained 0.4452 indicating a strong difference between the two sets. These results lead us to advocate for changes in the teaching materials in order to make them more engaging for young students.
Many researchers have investigated the difficulties faced by novice programmers. However, these a... more Many researchers have investigated the difficulties faced by novice programmers. However, these approaches have so far focused primarily on the identification and correction of common syntax errors, or that of topic difficulty in the CS1 curriculum. Meanwhile, poor coding practices adopted by students have gone mostly unaddressed. While these practices may not necessarily lead to erroneous code, they may nonetheless indicate areas of difficulty and lead to poorly structured programs. To address these issues, our project examines students' coding habits and common errors in CS1 exercises gathered from 77 first-year students. This data was collected in real time so that we may later reconstruct the thought process of the student while solving the programming exercises. To assist our analysis, we built a code visualizer that animates the programming process dynamically and summarizes error metrics simultaneously. Our ultimate goal is to use the code visualizer to help either an instructor or a student to identify poor programming practices during the coding process. With the error metrics gathered, an instructor can inspect potential improvements in coding behaviors for an individual student at a given point in time or over time, and identify bad coding habits common to populations of students.
This research investigates a flexible learning implementation. The mode of implementation is desc... more This research investigates a flexible learning implementation. The mode of implementation is described as problem-based learning using a “flipped ” teaching instructional strategy. Flipped teaching is generally described as technology supported instruction in which video recorded content is viewed by students outside of class time, freeing in-class time for more one-to-one
PurposeThe purpose of this work is to illustrate the processes involved in managing teams in orde... more PurposeThe purpose of this work is to illustrate the processes involved in managing teams in order to assist designers and developers to build software that support teamwork. A deeper investigation into the role of team analytics is discussed in this article.Design/methodology/approachMany researchers over the past several decades studied the success factors of a team. Despite many efforts, there is still no consensus on how a team should ideally be formed. Consequently, how one decides to form teams in a class depends on the domain, classroom context and pedagogical objectives. Therefore, software used to support an instructor in forming teams must be flexible enough to accommodate a variety of use cases and support the users throughout the lifecycle of teamwork. In this work, the author proposes a framework for designing general-purpose team management software. The author reviews existing team formation software and focuses specifically on opportunities for advancing research in team analytics.FindingsIn this context, the author identifies four areas of research opportunities for team analytics.Originality/valueLastly, the author proposes a series of research questions (RQs) and discusses the pedagogical, design, technical and social challenges involved.
Recent efforts have been made to realize the concept of the “HCI living curriculum”. To better un... more Recent efforts have been made to realize the concept of the “HCI living curriculum”. To better understand the current landscape of our pedagogies, we implemented an online tool to gather and analyze educational patterns in HCI courses. Our goal is to uncover the pedagogical choices made in our HCI courses by analyzing syllabi information. Specifically, we wish to gain a better understanding of topic coverage, theories taught, and techniques practiced in the classroom. Furthermore, our tool enables regional comparisons of the data in the system. As a first step, we sampled a collection of syllabi from North American universities and present analyses from them.
2021 IEEE Frontiers in Education Conference (FIE), Oct 13, 2021
To keep young students engaged in computer science, it is crucial to develop teaching material th... more To keep young students engaged in computer science, it is crucial to develop teaching material that they find interesting and relevant. Unfortunately, standard CS1 textbooks typically use examples that are uninspiring or inaccessible to young people. To better understand the disparity between textbook examples and student interests, we analyzed a collection of CS1 textbooks and compared the resulting topics to those elicited from young students via focus groups. We found 47% of textbook topics (out of 53 topics from 910 code examples) did not overlap with any topic mentioned by our participants. Conversely, among the topics elicited from the participants, we found 29% of these topics (out of 24 topics from 1936 items) missing from textbooks. To measure the overlap between these two data samples, we computed the Bhattacharyya coefficient and obtained 0.4452 indicating a strong difference between the two sets. These results lead us to advocate for changes in the teaching materials in order to make them more engaging for young students.
Many researchers have investigated the difficulties faced by novice programmers. However, these a... more Many researchers have investigated the difficulties faced by novice programmers. However, these approaches have so far focused primarily on the identification and correction of common syntax errors, or that of topic difficulty in the CS1 curriculum. Meanwhile, poor coding practices adopted by students have gone mostly unaddressed. While these practices may not necessarily lead to erroneous code, they may nonetheless indicate areas of difficulty and lead to poorly structured programs. To address these issues, our project examines students' coding habits and common errors in CS1 exercises gathered from 77 first-year students. This data was collected in real time so that we may later reconstruct the thought process of the student while solving the programming exercises. To assist our analysis, we built a code visualizer that animates the programming process dynamically and summarizes error metrics simultaneously. Our ultimate goal is to use the code visualizer to help either an instructor or a student to identify poor programming practices during the coding process. With the error metrics gathered, an instructor can inspect potential improvements in coding behaviors for an individual student at a given point in time or over time, and identify bad coding habits common to populations of students.
This research investigates a flexible learning implementation. The mode of implementation is desc... more This research investigates a flexible learning implementation. The mode of implementation is described as problem-based learning using a “flipped ” teaching instructional strategy. Flipped teaching is generally described as technology supported instruction in which video recorded content is viewed by students outside of class time, freeing in-class time for more one-to-one
Uploads
Papers by Bowen Hui