People Who Change Systems
- Assign: Tuesday 14 September
- Checkpoint: Sign up for a presentation slot by Friday 22 October
- Due: Tuesday 14 December
- Policy: Pair graded synthesis assignment
- Partner search: Find a partner here.
- Submit: Present in class as scheduled and submit a list of your sources.
- Logistics and Timeline
- Finding and Researching People to Highlight
Computer systems are the tools that people use to implement computation and computing applications. People who create or change computer systems themselves can influence what computation is possible, how that computation is implemented, or who participates.
Task: With a partner, prepare and deliver a 5-minute presentation that highlights a person who has made or is making a fundamental contribution in the area of computer systems and whose influence in computing is meaningful to you.
Focus areas: Integrate the focus areas below, in any organization (for example, separate sections or tightly interwoven).
- Biographical background of the person beyond computer systems.
- Context for one or more areas of the person’s work in computer systems and a summary of their specific contribution(s).
- Why this person’s computer systems work was/is valuable.
- Why this person’s influence in computing is meaningful to you.
Delivery: Present live or play a pre-recorded video in class, answer any student questions, and submit a list of your sources.
- Speak to your classmates.
- Design your presentation to be understandable and engaging for a student taking CS 240.
- Where useful, relate technical concepts in your presentation to concepts we study in CS 240.
- Visual aids can help, but are not required.
- Slides can be useful to share photos, diagrams, or examples that help communicate your ideas.
- Try to minimize text on slides. Keep your presentation notes separate from any slides.
- If using slides, use only a few.
- Practice to check your overall timing. 5 minutes is short!
- There will be a brief time for the class to ask questions after the presentation.
Both partners should participate in roughly equal measure in all stages of the project, including research, preparation, and delivery of the presentation.
- Computer systems:
- For the purposes of this project, “computer systems” consists of all areas of computer science that focus on the implementation of (usually general) computational tools that are used to build computing applications and software.
- In other words, “computer systems” refers to the design and implementation of any tool or building block that a majority of programmers are more likely to use than to create, such as computer architectures, operating systems, virtual machines, distributed systems, networks, database implementations, programming languages, compilers, programming environments, parallel computing support, but also concerns that slice through many system and application layers, such as security, privacy, or energy efficiency, as well as the reuse or adaptation of techniques from any of these areas for specific computing applications.
- It is impossible to draw any fixed boundary delineating what is or is not part of “computer systems.” The blurry edges tend to be interesting, where new innovations bridge gaps between between the needs of a particular application and the available system building blocks. As the field of computing advances, the meaning of computer systems grows.
A fundamental contribution in the area of computer systems:
- Design, implementation, or measurement of a computer system, related tool, or technique, as defined above; OR
- Substantial new application of a system that influenced the evolution of that system itself; OR
- Changes to process, accessibility, or participation in the above activities.
Whose influence in computer systems is meaningful to you:
- This is entirely open to your personal interpretation.
Logistics and Timeline
Each team will present about a distinct person, so that the presentations collectively highlight a broader range of individuals. Teams will sign up for presentation dates and subjects on a first-come-first-serve basis.
- No later than the checkpoint date (but ideally sooner):
- Find a partner. You might like to explore shared interests with potential partners. If you strongly prefer to work alone, please contact the instructor.
- Schedule a presentation slot on this sheet. Slots are available on a first-come first-serve basis, one team per slot. All members of your team must be able to attend class and present at this time.
- No later than one week before your presentation date (but ideally sooner):
- List your presentation subject with your time slot in this sheet. Subjects must be unique and are claimed on a first-come first-serve basis.
- Before the day of your presentation:
- Practice and revise your presentation with your partner to make sure that it runs roughly 5 minutes (± 1).
- No later than the day of your presentation:
- On the day of your presentation:
- Arrive to class 5-10 minutes early to set up for your presentation.
- Class will begin with your presentation.
Finding and Researching People to Highlight
You are welcome to present about anyone who meets the above criteria. There are a variety of strategies you might follow to search for candidates. For example, you could search for people who work within a particular field of computer systems, who have a particular background or identity, who worked during earlier parts of computing history, or who are changing systems right now.
Examples of People to Highlight
Here is a small set of examples of people who have made interesting systems contributions. You are highly encouraged to search out other people to highlight. Do not feel constrained by the list or any inferences you draw from it. (For example, this selection leans toward U.S. academic researchers, but there are hosts of interesting systems creators around the world, in industry, government agencies, non-profits, …)
- Melba Roy Mouton, NASA (automation of program documentation)
- Sarita Adve, UIUC (computer architecture)
- Jeanine Cook, NMSU (computer architecture)
- Valerie Taylor, Argonne National Lab (performance/power analysis)
- Monica Lam, Stanford (compilers)
- Fran Allen, IBM (compilers)
- Cindy Rubio-González, UC Davis (programming languages, bug detection)
- Amy Ko, UW (program understanding, programming language learning)
- Ann Quiroz Gates, UT El Paso (software engineering, software correctness)
- Alexandra (Sasha) Fedorova, UBC (operating systems)
- Mwende Window Snyder, Square (security)
If you are unsure what direction to explore, consider highlighting a person working in computer systems who you believe should be more visible or represented in computing. Examples could include–but are not limited to–individuals from marginalized groups or groups underrepresented in computing:
- Black people, indigenous people, people of color
- People with disabilities
- People from the first generation of their families to attend college or from low-income backgrounds
- LGBTQIA+ people
Research Starting Points
Here is a small set of example starting points to help find people of interest:
- Wellesley Library Research Guides in CS and Biographies
- Professional societies and publications: Association for Computer Machinery (ACM), ACM Digital Library, ACM Special Integers Groups in Computer Architecture and WICArch, Programming Languages, Operating Systems, and more, Institute of Electrical and Electronics Engineers (IEEE) Computer Society
- Speakers, awardees, or profiles at conferences or organizations like the ACM Richard Tapia Celebration of Diversity in Computing Conference, Black Women in Computing, Latinas in Computing, the Grace Hopper Celebration of Women in Computing (and its parent organization AnitaB.org, both named for computer systems innovators)
- Lists and series: ACM-W list of women who have won ACM computing awards and other recognitions, The Ada Project list of famous women in computing, a (growing, in-progress) list of programming languages created by women (curated by Chris Martens, NCSU), The Identity Function series of interviews with LGBTQ CS researchers
You must cite all references on which your presentation is based, using the ACM Reference Formats. Please submit your list of references by creating a new Doc in this Drive folder, using this template:
- The name of the person you highlighted should be both the name of the document and the title within the document.
- List your name, your partner’s name, and the presentation date.
- After a “References” heading, list references in ACM Reference Formats.
- This document should be text. Screenshots of text are not appropriate.
Even though this is a small project, you may wish to try software like Zotero to keep your references organized or generate your references list.
Each focus area of the presentation, will be assessed on the following basis:
|✓+||Exemplary depth or synthesis of the focus area, substantially surpassing expectations.|
|✓||Substantive coverage of the focus area, meeting expectations.|
|✓−||Superficial or unclear coverage of the focus area, requiring improvement to meet expectations.|
|0||No coverage of the focus area.|
An average of ✓ or higher across all focus areas translates to full credit. This assignment is weighted at 20 points. If you are uncertain about expectations, reach out ahead of your presentation to discuss with the instructor. Grading of this project will not be anonymous, due to the nature of presentations.