Chris Gregg

dblp:63/9958 · also Christopher Gregg · DBLP profile ↗
← Back
16ranked-venue papers
9as first author
5since 2021 · last 2026
0000-0003-1856-2661ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 15 · 8 first-author · 5 since 2021Software engineering, systems software and programming languages · 1 · 1 first-author
YearPublicationVenuePosition
2026 Teaching Track Faculty in Computer Science
abstract
Many computer science departments have chosen to hire faculty for teaching-track positions that parallel the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators, both experienced and new to teaching track positions, to share their experiences as members of the faculty of their departments and schools. As teaching track faculty, we share common challenges and opportunities. This year, our discussion will focus on constructive changes we are making to our curriculum to address the many challenges we are currently facing. Many teaching track faculty are assigned to introductory classes and, therefore, have the first opportunity to shape how students are learning computer science in these changing times. Today's challenges include the expanding capabilities of AI and our students' desire to take advantage of them, decreasing enrollments due to concerns about reduced job opportunities in Computer Science, and general uncertainty about whether what we are teaching is relevant to what our students will need to know in the future. We want to focus the discussion on how we, as teaching track faculty, are adapting the way we teach our courses to the changes in our students' behavior and beliefs.
Melinda McDaniel, Olga Glebova, Chris Gregg
SIGCSE (2)3
2025 Teaching Track Faculty in Computer Science
abstract
Many computer science departments have chosen to hire faculty to teach in teaching-track positions that parallel the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators, both experienced and new to teaching track positions, who are currently in such a position to share their experiences as members of the faculty of their departments and schools. As teaching track faculty we share common challenges and opportunities. This year, our discussion will focus on changing nature and structure of our courses.
Olga Glebova, Chris Gregg, Melinda McDaniel, Laney Strange
SIGCSE (2)2
2024 Teaching Track Faculty in Computer Science
abstract
Many computer science departments have chosen to hire faculty to teach in teaching-track positions that parallel the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators, both experienced and new to teaching track positions, who are currently in such a position to share their experiences as members of the faculty of their departments and schools. This year, we plan on discussing the impacts of evaluations of teaching faculty. Student evaluations of teaching, which are known to be biased, are often weighted heavily in teaching faculty merit review, contract renewal, and the promotion process. Our discussion will encourage teaching faculty to share the extent to which student and other types of evaluations influence their career progression, how transparent expectations around evaluation outcomes are, and what they believe would be a true evaluation of teaching excellence.
Olga Glebova, Chris Gregg, Melinda McDaniel, Laney Strange
SIGCSE (2)2
2024 PyodideU: Unlocking Python Entirely in a Browser for CS1
abstract
In this paper, we present an education-focused Python IDE and runtime library which can run entirely in desktop, laptop, tablet, and mobile device web browsers. Our solution provides features useful for an engaging CS1 course, and eliminates the need for a server-based runtime. We describe a new, open source, methodology for running interactive Python entirely in the browser by solving the "WebAssembly blocking problem," a core technical challenge to a web-based Python solution.
Thomas Jefferson, Chris Gregg, Chris Piech
SIGCSE (1)2
2022 Teaching Track Faculty in Computer Science
abstract
Many computer science departments have chosen to hire faculty to teach in teaching-track positions that parallel the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators, both experienced and new to teaching track positions, who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information. This year, we plan on discussing challenges we face in continuing- / post-COVID-19 classrooms, and lessons-learned from over a year of pandemic teaching. We will also celebrate our teaching and career successes from the past two years of teaching.
Chris Gregg, Laney Strange
SIGCSE (2)1
2020 Teaching Track Faculty in Computer Science
abstract
Many computer science departments have chosen to hire faculty to teach in teaching-track positions that parallel the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators, both experienced and new to teaching track positions, who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information. This year, we plan on discussing teaching load, particularly as it relates to expanding class sizes and limited budgets for teaching staff support (e.g., TAs, graders, etc.). We will also discuss office hours strategies for both faculty and TAs in light of the same large class-size concerns.
Chris Gregg, Shawn Lupoli, Laney Strange
SIGCSE1
2019 Teaching Track Faculty in CS
abstract
Many computer science departments have chosen to hire faculty to teach in teaching-track positions that parallel the standard tenure-track position, providing the possibility of promotion, longer- term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators, both experienced and new to teaching track positions, who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information. In particular, we will discuss how to support for new teaching track faculty, as many CS departments are expanding and adding teaching track positions.
Chris Gregg, Shawn Lupoli, Laney Strange
SIGCSE1
2018 How Do We Provide Effective Student Advising and Mentoring During Record Growth?: (Abstract Only)
abstract
In their "Generation: CS" report this past year, The Computing Research Association detailed the explosive growth of computer science majors across both large and small institutions calling it "larger today than any time previously". Using data from The Taulbee Survey they show a 500% increase in the number of majors in computer science, but only a 50% increase in full-time faculty. Unfortunately, this growth has major consequences outside the classroom setting. The ability for faculty to engage in meaningful advising relationships with students has been severely impacted by this record growth. One solution could be to hire staff to assist students in course selection and degree requirements, but meaningful mentorship is much more than checking boxes and exemptions. Can we be effective advisors when advising loads have skyrocketed? In 2004, The CRA, lists effective mentoring as one of the challenges faced by broadening participation in computer science. In particular, they advocate for better training for mentors. Now faced with extreme ratios the need for creative mentoring practices is paramount. This BOF will provide a platform to discuss and share solutions from a variety of institutions. Questions such as: "How can we identify students who would like to do research and continue to graduate school?", "How do we expose students to independent learning in large classes?", "Can we leverage peer mentoring?" "How can we make advising better?" "What processes can be automated?".
Chris Gregg, Benjamin Hescott
SIGCSE1
2018 Teaching Track Faculty in Computer Science: (Abstract Only)
abstract
Many computer science departments have chosen to hire faculty to teach in a teaching-track position that parallels the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information.
Chris Gregg, Mark Sherriff
SIGCSE1
2018 BlueBook: A Computerized Replacement for Paper Tests in Computer Science
abstract
This paper presents BlueBook, a lightweight, cross-platform, computer-based, open source examination environment that overcomes traditional hurdles with computerized testing for computer science courses. As opposed to paper exam testing, BlueBook allows students to type coding problems on their laptops in an environment similar to their normal programming routine (e.g., with syntax highlighting), but purposefully does not provide them the ability to compile and/or run their code. We seamlessly transitioned from paper exams to BlueBook and found that students appreciated the ability to type their responses. Additionally, we are just beginning to harness the benefits to grading by having student answers in digital form. In the paper, we discuss the pedagogical benefits and trade-offs to using a computerized exam format, and we argue that both the students and the graders benefit from it.
Chris Piech, Chris Gregg
SIGCSE2
2017 A Modern Wearable Devices Course for Computer Science Undergraduates
abstract
A problem that many tech companies face today is that many computer science students entering the work force lack fundamental skills for understanding the entire process of a system that is not solely software. Some students may take a series of courses on analog and/or digital circuits, but the integration with modern devices is sorely missing from most curricula. We designed the Tufts University Comp 50: Wearable Devices course to introduce the basics of digital and analog circuits to students with software-driven backgrounds by studying the intricacies of the production of wearable electronic devices. The course focused on the skills needed to design hardware, software, and a chassis for a final wearable product that was novel and potentially marketable. The primary objective was to provide a course that serves as an introduction to digital electronics but with a tangible goal to produce a high-fidelity prototype that student teams presented at the end of the semester. Given the nature of modern wearable devices, which are small, energy efficient, and strongly favor connectivity to other devices, we developed the curriculum around designing a surface-mount Printed Circuit Board (PCB), and we outfitted the student kits with coin-cell battery powered, Bluetooth-connected, Arduino-compatible devices that they needed to learn how to program and connect. We also integrated iOS development into the course so that students' final projects could communicate with both their phones or tablets, or to the Internet via these devices. As the "wearble devices"' field is relatively new, this paper discusses the decisions we made for the set-up of this class, what worked and what did not, and what we would change and improve when we teach it again.
Chris Gregg, Raewyn Duvall, Kate Wasynczuk
SIGCSE1
2017 Teaching Track Faculty in CS (Abstract Only)
abstract
Many computer science departments have chosen to hire faculty to teach in a teaching-track position that parallels the standard tenure-track position. These teaching-track positions include the possibility for promotion, longer-term contracts, and greater pay as demonstrated by excellence in teaching, educational material development, and service. As this type of position has been growing rapidly in popularity, CS departments have been developing the expectations and responsibilities for such faculty almost ad hoc, creating policies that can be vastly different similarly-named positions at other universities. This birds-of-a- feather is designed to gather educators who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information. In past sessions, we have laid the groundwork for keeping this community together through online discussions and consolidating information about teaching-track positions at various universities together into an online database.
Mark Sherriff, Chris Gregg, Shawn Lupoli
SIGCSE2
2016 How Do You Teach Debugging?: Resources and Strategies for Better Student Debugging (Abstract Only)
abstract
"Why doesn't my code work?" Instructors and TAs hear this question day in and day out during introductory computer science courses, and beyond. Students arguably have a harder time learning how to debug their own (and others') code than they do in learning how to plan and write the code in the first place. Debugging strategies are difficult to teach, and there are pros and cons to different debugging methods (e.g., print statements vs. gdb vs. Googling). This BoF will elicit strategies for teaching debugging to CS students, and we will discuss the benefits of introducing certain tools earlier or later in the curriculum. We will also discuss how to assess whether students are able to debug code effectively. All suggestions will be posted on CSTeachingTips.org for dissemination (See tinyurl.com/CSTT-TAs for tips from SIGCSE 2015). We welcome attendance from seasoned and novice instructors, and from teaching assistants.
Colleen M. Lewis, Chris Gregg
SIGCSE2
2015 Working with Undergraduate Teaching Assistants: Best Practices and Lessons Learned (Abstract Only)
abstract
Instructors struggling to support their ever-growing undergraduate population may be interested in starting, expanding, or improving an undergraduate teaching assistant (TA) program. This session seeks to connect individuals interested brainstorming and sharing strategies for improving the impact of undergraduate TAs. We will break into small groups to discuss tips for (0) structuring funded and unfunded undergraduate TA programs, (1) training undergraduate TAs, and (2) recruiting and selecting undergraduate TAs. All tips will be posted on CSTeachingTips.org for dissemination to other CS educators. This BoF welcomes instructors already supporting undergraduate TAs and instructors who are interested in build an undergraduate TA program.
Chris Gregg, Colleen M. Lewis
SIGCSE1
2012 EcoSim: a language and experience teaching parallel programming in elementary school
abstract
Traditional introductory programming classes teach sequential programming using a single-threaded programming model. It is typical to wait until a student has developed proficiency in sequential programming before teaching parallel programming. As computer hardware becomes increasingly parallel, there is a greater need for software engineers who are proficient in designing parallel programs, and not just by "parallelizing" sequential designs. Teaching parallelism first is an important step towards educating tomorrow's programmers.
Chris Gregg, Luther A. Tychonievich, James P. Cohoon, Kim M. Hazelwood
SIGCSE1
2011 Where is the data? Why you cannot debate CPU vs. GPU performance without the answer
abstract
General purpose GPU Computing (GPGPU) has taken off in the past few years, with great promises for increased desktop processing power due to the large number of fast computing cores on high-end graphics cards. Many publications have demonstrated phenomenal performance and have reported speedups as much as 1000× over code running on multi-core CPUs. Other studies have claimed that well-tuned CPU code reduces the performance gap significantly. We demonstrate that this important discussion is missing a key aspect, specifically the question of where in the system data resides, and the overhead to move the data to where it will be used, and back again if necessary. We have benchmarked a broad set of GPU kernels on a number of platforms with different GPUs and our results show that when memory transfer times are included, it can easily take between 2 to 50× longer to run a kernel than the GPU processing time alone. Therefore, it is necessary to either include memory transfer overhead when reporting GPU performance, or to explain why this is not relevant for the application in question. We suggest a taxonomy for future CPU/GPU comparisons, and we argue that this is not only germane for reporting performance, but is important to heterogeneous scheduling research in general.
Chris Gregg, Kim M. Hazelwood
ISPASS1