skip to main content


Search for: All records

Creators/Authors contains: "Mcquaigue, Matthew"

Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

  1. BRIDGES is a software framework for creating engaging assignments for required courses such as data structures and algorithms. It provides students with a simplified API that populates their own data structure implementations with live and real-world data, and provides the ability for students to easily visualize the data structures they create as part of routine classroom exercises. The objective is to use the infrastructure to promote a better understanding of the data structure and its underlying algorithms. This report describes the BRIDGES infrastructure and provides evaluation data collected over the first five years of the project. In the first 2 years, as we were developing the BRIDGES projects, our focus was on gathering data to assess whether the addition of the BRIDGES exercises had an effect on student retention of core concepts in data structures; and throughout the 5-year duration of the project, student interest and faculty feedback were collected online and anonymously. A mixed method design was used to evaluate the project impact. A quasiexperimental design compared student cohorts who were enrolled in comparable course sections that used BRIDGES with those that did not. Qualitative and quantitative measures were developed and used together with course grades and grade point averages. Interest and relevance in BRIDGES programming assignments was assessed with additional survey data from students and instructors. Results showed that students involved in BRIDGES projects demonstrated larger gains in knowledge of data structures compared to students enrolled in comparable course sections, as well as long-term benefits in their performance in four follow-on required courses. Survey responses indicated that some investment of time was needed to use BRIDGES, but the extra efforts were associated with several notable outcomes. Students and instructors had positive perceptions of the value of engaging in BRIDGES projects. BRIDGES can become a tool to get students more engaged in critical foundational courses, demonstrating relevance and context to today’s computational challenges. 
    more » « less
    Free, publicly-accessible full text available October 10, 2024
  2. Freshmen and sophomore level courses in computer science are critical to long-term student development and success. At the same time, these courses, such as data structures and algorithms are usually challenging and require significant motivation to keep students engaged. In this work, we present through our BRIDGES system a set of location based assignments that can serve to reinforce core concepts and algorithms by placing them in more meaningful settings and applications, and demonstrate the relevance of computing in the early stages of a student's career. We performed a small pilot study using a subset of these assignments in a special topics course on algorithms, and conducted student surveys after each assignment. The surveys were unanimously positive, and the students enjoyed coding the algorithms as well as the datasets and visualizations associated with the assignments. 
    more » « less
  3. null (Ed.)
  4. null (Ed.)
  5. null (Ed.)
  6. Early programming courses, such as CS1, are an important time to capture the interest of the students while imparting important technical knowledge. Yet many CS1 sections use contrived assignments and activities that tend to make students uninterested and doubt the usefulness of the content. We demonstrate that one can make an interesting CS1 experience for students by coupling interesting datasets with visual representations and interactive applications. Our approach enables teaching an engaging early programming course without changing the content of that course. This approach relies on the BRIDGES system that has been under development for the past 5 years; BRIDGES provides easy access to datasets and interactive applications. The assignments we present are all scaffolded to be directly integrated into most early programming courses to make routine topics more compelling and exciting. 
    more » « less
  7. Computer Science students in algorithm courses often drop out and feel that what they are learning is disconnected from real life programming. Instructors, on the other hand, feel that algorithmic content is foundational for the long term development of students. The disconnect seems to stem from students not perceiving the importance of algorithmic paradigms, and how they impact performance in applications. We present the point of view that by solving real-world problems where algorithmic paradigms and complexity matter, students will become more engaged with the course and appreciate its importance. Our approach relies on a lean educational framework that provides simplified access to real life datasets and benchmarking features. The assignments we present are all scaffolded, and easily integrated into most algorithms courses. Feedback from using some of the assignments in various courses is presented to argue for the validity of the approach. 
    more » « less
  8. The NSF/IEEE-TCPP Parallel and Distributed Computing curriculum guidelines released in 2012 (PDC12) is an effort to bring more parallel computing education to early computer science courses. It has been moderately successful, with the inclusion of some PDC topics in the ACM/IEEE Computer Science curriculum guidelines in 2013 (CS13) and some coverage of topics in early CS courses in some universities in the U.S. and around the world. A reason often cited for the lack of a broader adoption is the difficulty for instructors who are not already knowledgable in PDC topics to learn how to teach those topics and align their learning objectives with early CS courses. There have been attempts at bringing textbook chapters, lecture slides, assignments, and demos to the hands of the instructors of early CS classes. However, the effort required to plow through all the available materials and figure out what is relevant to a particular class is daunting. This paper argues that classifying pedagogical materials against the CS13 guidelines and the PDC12 guidelines can provide the means necessary to reduce the burden of adoption for instructors. In this paper, we present CAR-CS, a system that can be used to categorize pedagogical materials according to well- known and established curricular guidelines and show that CAR-CS can be leveraged 1) by PDC experts to identify topics for which pedagogical material does not exist and that should be developed, 2) by instructors of early CS courses to find materials that are similar to the one that they use but that also cover PDC topics, 3) by instructors to check the topics that a course currently covers and those it does not cover. 
    more » « less