SIGCSE'24 Affiliated Event: Building interactivity into Dive into Systems

  • Date, Time, Location:

    • Wednesday, March 20th

    • 1:00 PM to 5:45 PM

    • Meeting Room D136, Oregon Convention Center, Portland, OR.

  • Register: If you are interested in attending, please RSVP using the following link: Affiliated Event Registration Please note that all attendees MUST be registered for SIGCSE'24

The Dive into Systems project page.

Overview

The significant expense of modern college textbooks limits availability to those who can afford them. As computational thinking and programming increasingly become desired skills, the computing community needs low-cost curricular materials to make computing courses available to all students. Online curricular materials are readily available for introductory programming courses. However, such resources for later computing courses are comparatively rare. To address this need, we developed Dive into Systems, a free, online textbook for teaching introductory computer systems topics. We are in the second year of a multi-year NSF grant to augment Dive into Systems with dynamic visualizations, interactive exercises, and worked examples. Our project has been community-focused throughout, and an important component of our grant is getting the community involved in helping to design interactive exercises for students and supplemental resources for instructors.

Following the success of last year’s Affiliated Event where we received invaluable community input on year 2 topics (Binary Representation and the Memory Hierarchy) and recruited exercise developers, this year’s event will focus on:sharing our current progress on interactive tool development with the Computer Science Education community; discussing issues that students face in learning introductory systems topics; brainstorming interactive materials that could help instructors address those needs; and recruit exercise developers for future years of our project. The Dive into Systems project has the potential to help the field of computing become more equitable by developing a high-quality, free, online textbook that can be used by college students anywhere. Learn more at the Dive into Systems Webpage

Why you should attend

Please join us if you are interested in computer systems and providing feedback and ideas for adding interactive content to our free, on-line textbook that introduces computer systems topics and parallel computing.

We anticipate participants will be CS educators who are currently are exercise developers for Dive into Systems, faculty who currently use (or are interested in using) Dive into Systems for their courses, faculty who are interested in discussing new strategies to teach computer systems topics to their students, and those who are interested in interactive tools for teaching systems topics.

Additionally, we are also using this event to recruit official exercise developers for our NSF-sponsored project. Extersize developers play a specific role in our project and are awarded a stipend for their participation.

Register

If you are interested in attending, please RSVP using the following link: Affiliated Event Registration

Event Organizers

The event organizers are the three authors of Dive into Systems, and lead the Dive into Systems project (diveintosystems.org), which is currently funded on a 3-year NSF grant and received a 2019 SIGCSE Special Projects Grant.

  • Suzanne J. Matthews is a professor of computer science at West Point. She has taught students parallel computing and computer systems concepts in various courses. As one of the previous PIs of the CSinParallel project, she has led or co-led approximately 5 SIGCSE workshops, and presented as part of several special sessions, BOFs, and panels. She has also published papers in the SIGCSE and EduPar conferences.

  • Tia Newhall is a professor of computer science at Swarthmore College, where she teaches courses in systems and parallel computing. Her research interests are in parallel and distributed systems, and CS Education. She has several past SIGCSE, EduPar, and EduHPC publications.

  • Kevin C. Webb is an associate professor of computer science at Swarthmore College. He has taught systems courses to students for over a decade. As a PI of the Basic Data Structures Inventory (BDSI), he facilitated yearly SIGCSE meetings with a panel of consulting experts.

Event Significance/Purpose

Cost-effective computing materials are needed to make computer systems content accessible to everyone. The ACM-IEEE CS2013 Curriculum recommends at least 38 hours of System Fundamentals (SF) and Architecture & Organization (AR) coverage in the core computing program, along with an additional 15 hours of Parallel & Distributed Computing (PDC). The NSF/IEEE-TCPP Curriculum Initiative curricular guidelines further specify expanded coverage of core systems and PDC topics. To help make these concepts accessible to everyone, we developed Dive into Systems, a free, online textbook for teaching computer systems, architecture and PDC for students with only a CS1 background. Dive into Systems was awarded a SIGCSE 2019 Special Projects Grant, which we used to run an early adopter program in the 2019-2020 academic year.

In 2022, this project was awarded an NSF grant to expand the book with interactive elements to better serve students and faculty. Research in Education demonstrates that learning is an active endeavor. Web-based learning materials offer new forms of dynamic and interactive content with the potential to transform computer science education. Prior work has shown that students spend significantly more time with course materials that include dynamic visualizations compared to text alone. Students also voluntarily complete additional interactive exercises, even after meeting requirements for course credit. The literature strongly supports our belief that augmenting Dive into Systems with interactive exercises will facilitate student understanding of systems topics.

A large portion of the project is to develop, implement, and evaluate interactive exercises to add to our free on-line book. Exercises are developed by recruited exercise developers and implemented primarily using the Runestone Framework. While Runestone currently supports some of the interactive functionality we need, we are building new Runestone interactive components and tools that will benefit our project and the systems community at large. Our exercise developers are participants from the computer science community who work in smaller sub-topic focused groups that include topics on C programming, assembly programming, binary representation, the memory hierarchy and caching, computer architecture, operating systems, and parallel computing and code optimization.

For three years, we plan to conduct annual meetings at the SIGCSE conference that present completed work, brainstorm ways to create and improve new and existing interactive materials, and recruit the exercise developers that play a central role in our project. Last year, we presented a progress report on year 1 goals, and some initial work. The primary goals of this year’s event are to present the new interactive exercise formats that we have developed in Runestone, present progress on year 2 work, spark interest in helping with future topics, recruit external experts to apply to be participants for the following year, and generate ideas for interactive exercises and ideas for future focus topics.

Agenda

  • 1:00 Welcome and Overview An introduction of the project and its goals. We will discuss co-PIs role in the working groups and present the main 6 topic areas for working groups, and project timeline. (10 minutes)

  • 1:10-1:40 Overview of Existing Tools

    • Introduction to Runestone and implemented exercises (10 min)

    • Tools Demo: ASM Visualizer and Current Results (10 min)

    • Tools Demo: BinaryGame and Current Results (10 min)

  • 1:40-2:10 Runestone Extensions

    • Demo new Runestone Components for numerical conversion and cache tracing (10 min)

    • Demo Runestone components for paging, others that are O.S. related (10 min)

    • Planned Extensions: Circuit tracing, Process Hierarchy (10 min)

  • 2:10-3:30pm Breakout Session I (World Cafe Model)

    • First 60 minutes: participants rotate every 20 minutes between three discussion tables (Parallel, OS, and Arch). Each discussion table will focus on answering the questions about the types of interactivity they would like to see and that would be most useful.

    • Last 20 minutes: last group at each table reports back to group (6-7 minutes per table)

  • 3:30-3:50pm break (Coffee Break)

  • 3:50-4:30: Participant Experiences

    • Summary of participation benefits,outcomes, expectations and a typical meeting agenda (10 min)

    • Current exercise developer experiences panel (30 min)

  • 4:30-5:30: Breakout Session II Topic-focused Exercise Discussion

    • 5 minute intro: each table has a different topic associated with it; participants spend the entire time at the same table. Goal is to give attendees an idea of how monthly meetings are run. Three table topics are Parallel, OS and Arch

    • The next 40 minutes of the session is a discussion on 2 questions (20 minutes each): (1) What concepts associated with the table’s topic do students have particular difficulty with? (2) What kind of topic-specific interactive exercises would help students?

    • The last 15 minutes will be used to report back to all attendees (5 minutes per table).

  • 5:30: Wrap-up (10 minutes)

  • Post-meeting informal meet-up for dinner for any participants interested in further informal discussion post-event.

While not required, participants are strongly recommended to bring a laptop to participate in activities.

Contact Info

Mail us at authors@diveintosystems.org with any questions.