In the ever-evolving field of computer science (CS) education, the significance of teachers and their backgrounds have often been overshadowed by the predominant focus on students. Teachers in the K-12 often lack the necessary expertise and have limited support provided by existing CS-based curricula. While research on CS education effectiveness...
We have developed a framework for Web-based GIS/database applications which allow users to insert, update, delete, and query data with a map interface displayed by Web browsers. The framework was designed so that a Web-based GIS application that uses ArcIMS as a map server can be easily created, customized, and...
Programming is integrated across the workflow of multiple domains where end-user programmers, those who need to program as a means to an end, regularly need to code. In the modern setting of collaborative development, end-user programmers have to interpret the intentions behind existing code to contribute and build solutions to...
With the rapid advancement of educational technology and the need for personalized, engaging content to accommodate diverse learning needs, Virtual Reality (VR) holds promises for the present and future. However, VR applications suffer from challenges, including usability concerns, lack of pedagogical value, and evaluation standards. This thesis focuses on two...
In computer science, learning abstract fundamental programming concepts requiring students to understand memory management can be very difficult and lead to misunderstandings that carry on into advanced topics. This is especially true in data structures with abstract data types. Understanding how novice students think and reason about data structures is...
The design of programming tools is slow and costly. To ease this process, we have developed a design pattern catalog aimed at providing guidance about how to design tools for developers. This guidance is grounded in Information Foraging Theory (IFT), which empirical studies have shown to be useful for understanding...
In this report, I first introduce three areas of interest to collaborative filtering researchers, namely: (a) how to solve the sparsity and scalability problems in recommendation systems; (b) how to rapidly develop and test collaborative filtering algorithms; and (c) how to apply collaborative filtering to unbounded numeric preference data. In...
"Collaborative filtering algorithms’ performances have been evaluated using a variety of metrics.
These metrics, such as Mean Absolute Error and Precision, have often ignored recommendations for
which they do not have data. Ignoring these recommendations has provided numbers which do not
accurately represent the user experience. Qualitatively we have seen...
Application Programming Interfaces (APIs) enable software developers to utilize and create functionality that would otherwise take a lot of time and effort to build from scratch. Consequently, an essential part of software engineering training is for students to learn how to use APIs effectively. The existing jTutors system enables an...
While there are many ways to evaluate a user interface design, the user's mental workload and situation awareness (SA) are particularly important considerations in the supervisory control of safety-critical systems. Typically, operators of these systems must monitor high-volume, time-sensitive status information. Interface design for this domain can be challenging and...