CSE 390HA - 122 Honors Seminar

This is the website for the Spring 2024 iteration of CSE 390HA.

Note: this is still an in-progress website; items may be subject to change.


Welcome to CSE 390HA, the Honors section for CSE 122! Each week, we will discuss various topics related to computer science. Our sessions will mostly focus on the societal and cultural impacts of computer science (and more broadly, technology), with some exploration of technical concepts to support these discussions. This is intended to be an opportunity to think about computer science and other related topics in a broader context.

Notably: this course is not an opportunity to learn more programming, computer science, or add more "rigor" to 122. No background or familiarity with computer science is required outside of what is necessary for CSE 122.

All information in this class will be available on this course website. Canvas will be used for peer discussion, and Google Forms will be used for submitting work. Further course policies, including how to get credit, are listed under course policies.

Course Content

Overview & Schedule

Click on the topic entry to go to a more detailed overview!

Date Topic Homework (for next week)
April 2, 2024 Introduction Post introduction; complete required reading & one optional reading; answer reflection.
April 9, 2024 Computing Education Complete required reading & one optional reading; answer reflection.
April 16, 2024 Accessibility & Disability Complete required reading & one optional reading; answer reflection.
April 23, 2024 Machine Learning & AI Complete required reading & one optional reading; answer reflection; add student choice topics.
April 30, 2024 Privacy & Security Vote on student choice topics; more TBD
May 7, 2024 Student's Choice #1 Propose culminating reflection idea; more TBD
May 14, 2024 Student's Choice #2 TBD
May 21, 2024 Student's Choice #3 Complete your culminating reflection!
May 28, 2024 Careers Panel! Before the start of finals week: complete peer review.

Week 1: Introduction

This class will be a combination of:

  1. a quick (but important) set of introductions!
  2. a typical "syllabus day" overview of course policies and expectations
  3. a meta discussion on what you want to get out of this class, and setting up community norms
  4. some priming questions for our quarter: what computer science is, why we study it, what computers do, and whether or not it's "good" or "bad"
  5. finally, setting the stage for next week - who gets to study computer science?

For this session, you don't have to prepare anything - just show up and bring your best self! After the session, I'll also post a more detailed summary with what we talked about.

Week 1 Summary

We generally followed the structure outlined above! First we did introductions: armed with a table tent and some Mott's fruit snacks, we partnered up and then introduced our partners to the class.

Then, we did some typical "syllabus day" activities with a co-design twist. In particular, we covered:

We then answered some preliminary questions with "Yes, And" - Matt seeded an (incomplete) worldview, and students chimed in to expand it!

What is computer science (CS)? Can you come up with a formal definition?

Matt's incomplete seed: a degree and field of study at universities like UW. CS is what you study in the major: some programming, and some math.

Many great student answers here! Some choice "Yes, And"s included: CS is a broader skill about understanding how computers work and how to use them; CS is not just a formal program at universities, but informal and across ages; CS is also a field to study the impacts of computers on the world.

Why do "we" study computer science?

Matt's incomplete seed: it's a very lucrative field, and makes a lot of money! And, it's required for my major.

Wonderful student answers included: it's hard to "escape" from computing, so it's better to face it head-on; computing is everywhere in any field; computers can make you more productive; computers impact people, so we should learn about them.

How are computers used in your life today?

Matt's incomplete seed: when I think of my "computer", I think of my laptop and phone.

A diverse pool of answers, including: any data about you is stored somewhere (the cloud is just someone else's computer), computers are embedded in many devices (from calculators to cars to boats), many physical items have been manufactured with (and made more productive by) computers, and almost any form of communication!

Are computers good or bad? How do you make a decision like this?

Matt's incomplete seed: computers are mostly good, since they've rapidly improved people's lives through technological progress.

Interestingly, there was almost consensus on: computers are tools and are not inherently good or bad (like a hammer). Instead, it's how humans use and embody their values in computers that affect people in positive or negative ways.

Finally, we set the stage for next week. In particular, Matt explained the context for the required reading + the different types of optional readings. See the Homework for Week 2 tab for more information.

After class, Matt wrote this summary up, added the community norms to the website, and notified the students!

Homework for Week 2

Week 2: Computing Education

Before class: complete homework for week 2.

Broadly speaking, this class will have two focuses. First, we'll dive deep into the required reading (Stuck In The Shallow End) and reflect on how it connects to computer science then and now. Then, we'll talk about the topic of the optional readings: different mechanisms for broadening participation in computing "in the large", with some focus on Washington state.

Week 2 Summary

Here is a stripped-down, (mostly) anonymized summary of the questions we discussed today! Each bullet is a different point (and most are in response to the previous bullet).

Why is the book called "Stuck in the Shallow End"?
  • the history of segregated schools and pools is relevant to computer science education (CS Ed) the 2000s
  • metaphorically, being "stuck in the shallow end" happens when you don't have access to the right skills and resources. This is just like CS Ed: it's not a lack of interest, but a lack of resources.
  • similar to swimming, insecurity is a huge barrier to entry for CS. These insecurities stem from historical elements of society.
  • expectations are built from existing societal structures - similar to the floating line that separates the shallow and deep ends of a pool, students may feel like an invisible expectation prevents them from doing CS.
  • in both cases, we often don't solve the true, structural problem - often ignoring it or applying a bandaid fix.
When discussing barriers to participation in CS, how does identity come up?
  • the book explicitly discusses the stereotype that computer scientists are white or Asian (or Indian); this pressure feels real!
  • similar identity issues around being a "math-oriented", "STEM-oriented", or "writing-oriented" person.
  • computer scientists are perceived as technical, concise speakers, and good at math - even though CS is much more than that!
  • a relationship between "these groups are good at math" to "these groups are good at computing"
  • core underlying issue: representation. Not seeing someone who looks like you in computer science impacts if you'd engage yourself.
  • as a class, we then tried to name famous swimmers (Michael Phelps, Katie Ledecky, and Ryan Lochte) - who were all white.
  • as a class, we then tried to name famous computer scientists (Bill Gates, Steve Jobs, Tim Cook, Paul Allen, Ada Lovelace, Alan Turing, Richard Feynman, "the people from Hidden Figures"). Matt commented that typically, people are unable to name women, and that none of these people are asian - even though that's a heavy stereotype of software engineers.
  • "Asian" isn't a monolithic categorization, and depends on what you count as Asia (e.g. is Russia in Asia? the Middle East?). Participation and inclusion is very different for East Asians, Southeast Asians, and further breakdowns.
Did the CS education experience in the LAUSD reflect yours? Did you take CS in high school - why or why not?

Note from Matt: going to mostly omit the specific points here since they're personally identifying. Instead, these were just the broad-strokes themes - not a play-by-play of the conversation.

  • large difference in expected graduation rates (~50% versus always 100%)
  • in a different state, had single-digit Latino/a representation - "almost too few people to discriminate against".
  • connection to generational expectations in the book. Some students grew up in engineering centers where everybody had at least one parent as an engineer: so, for them and their peers, tech was highly valued, and going to college was highly valued - the expectation was that you'd do it!
  • stark differences for many students who moved during their childhood, with different emphasis placed on technological education, "traditional" education, and sports. [note from Matt: this was a big chunk of the conversation, but it's hard to do this without leaking info about each student!]
  • in IB schools, taking computer science is awkward with the rest of the curriculum.
  • in affluent areas in Washington, some schools had many, many CS classes (including cybersecurity and robotics)! Perhaps influenced by the demographics of the parents, more of which work in tech. Yet, some of our students still didn't take them!
What details from the book are the same now (~ 20 years later) and what are different? How does this tie into the problems facing computing education?
  • book mentions "technologically rich, educationally poor". The government has funded programs, but have relied on (new) organizations like Code.org to build out courses and pedagogy.
  • Scratch is much more popular and is frequently used to teach kids programming!
  • the field of computer science has skyrocketed (especially with social media), with a bigger emphasis on it being a great career, having prestige, and being put on a pedestal
  • everything is now digital: menus, QR Codes, even Disneyland! But, access to technology has not improved proportionally, which widens the technological gap.
  • not having computer skills puts a harsher limit on your socioeconomic status.
  • separate from access, teachers are now more overworked, burned out, and (sometimes) hate their jobs! Giving them more technology will not solve the problem by itself - broader reform is needed.
  • accessibility has two different meanings in computer science, but both are related. Connection to CSE 121 reflection TED talk on "CS Unplugged": how to teach CS on pen and paper.
How would you define a "CS class"? Or, in other words, why is a class on how to use Word or Excel not a CS class?
  • argument: Word is interacting with software, but CS is more about writing something out to accomplish a function/goal
  • counterpoint: Excel does this too! You can write formulas that do most things Java methods can do (including 121 P3). Does this mean that Excel is the most used programming language in the world?
  • in "Stuck in the Shallow End", there is a specific difference between computer literacy (using computers) and computer science (thinking about computers).
  • everybody should learn computer literacy, it should be a mandatory part of K-12.
  • but, computational thinking - and computer science - is not so different from other sciences (e.g. learning Java is like designing a lab, analyzing results - just with different tools). So, can think of this as adding another "science" (similar to biology or physics).
  • computer science is not just programming - there's also an element of how computers work. For example, in AP CS Principles (AP CSP), you learn how wifi works!
  • depending on how deep you go into Excel, it could be computer science? But, literacy is more about font sizes and solving "simple" problems. CSE 121's problems take hours to dive in to.
  • CSE classes are about demystifying computers. Learning to use Excel is like learning to label pictures, while CS classes are like describing them in your own words and analyzing their meaning. CS is learning how these computing tools work and how you apply them in your lives.
Should we make computer science a requirement for graduating high school?
  • if we do, we need to improve access to technology (via education reform) - you need a system that guarantees access to computers for all students.
  • personally regret not taking CS, even though the high school had it. Avoided it because of the association that "only smart kids take it", and if it was required, could have dispelled that notion.
  • completely agree: same experience in high school, and only realized after doing 121. While this doesn't "fix" the perception/insecurity issue fully, it helps quite a bit!
  • had Scratch in middle school - this felt like a good balance, sicne it wasn't a heavy requirement but still left time for exploration.
  • if we add another requirement, could delay graduation more. Some students already struggle to graduate because they can't pass their required classes - this would make it worse!
  • earlier exposure in middle school (with simpler content and lower stakes) may be helpful.
  • also, many bad experiences with high school CS teachers - perhaps mandatory requirements induce more demand for good teachers?
  • or, we'd run out of good CS teachers - and we'd have a big problem!!
  • requiring CS feels idealistic - would be great if we had infinite resources, but we don't.
  • if the requirement is "just have a CS class", that's too broad! Especially since school curricula are often very, very specific items with learning objectives. What would these be?
  • one model: don't require it, but let it fulfill a "bundle" like math or a science (instead of physics or biology), and make sure that it hits the same learning objectives.
  • going back to "Stuck in the Shallow End": students didn't take CS then because they didn't know what it was. We have the same problem now, and requiring it could help fix this!
  • if CS is optional, could result in less emphasis on making sure that all students can access a computer.
  • feels related to "test-optional" applications, which slightly backfired (by exacerbating existing equity gaps).
Homework for Week 3

Week 3: Accessibility & Disability

Before class: complete homework for week 3.

Broadly speaking, this class will focus on the interplay between accessibility and technology. This will cover both technology that includes and technology that excludes, whether it be intentional or not. We'll also discuss how students can begin to build accessible software (and communities). More coming soon!

Week 3 Summary

Here is an updated summary of what we discussed in class!

First, quick logistics:

We then discussed the accessible technologies in the required readings.

Did anything surprise you from the accessible technologies mentioned in the reading?
  • the Xbox Adaptive Controller: did not grow up with video game consoles, and didn't think about the implications this had on disabled gamers.
  • had not heard of the difference between subtitles and captions before the reading, but definitely makes sense in retrospect.
  • shocked to hear that people deliberately give others seizures via flashing images, and sad that research is needed to defend against this.
  • reading ability was a surprising but important one. It was jarring to see how out-of-date school standards can be.
  • the adaptive controller had many different use-cases depending on the relevant disability (e.g. pressing the buttons with many different body parts), and that seems related to broader ideas when designing for accessibility.
  • was familiar with the idea of switches, but had not realized that breath-controlled devices were switches (and is curious to learn more)!
Let's zero in on readability. This one is divisive, especially since some argue that reading comprehension is a core part of learning English. More broadly speaking (i.e. outside the lens of disability), good readability is just a good goal to aim for - more people understand what you're writing!. What do you think?
  • short, concise text can be very helpful to those who have ADHD or other attention deficit disabilities.
  • outside of disability, it's very helpful to those who don't speak English as a first language - e.g. in helping grandparents understand documents.
  • important for things like taxes and bank statements to be readable by others in simple language. But, this is different from academia, where more nomenclature might be needed.
  • similar to other ADA standards (e.g. all buildings need to be built to specific codes), it would be great if all government documents, bank statements, etc. were readable.
  • also similar to conversations around absurdly long terms & conditions for apps (you shouldn't need a law degree to understand the terms & conditions)!
  • the argument of "this is just learning English" isn't effective - there's a difference between literature analysis and finishing day-to-day tasks.

Matt then did a live screenreader demo (using VoiceOver on macOS). We didn't record this, but for a first-order approximation, this video from Google's "Chrome for Developers" channel titled "Screen Reader Basics: NVDA" is a first-order approximation that uses NVDA, an open-source screenreader for Windows.

Switching gears, what is a disability dongle?
  • a product that designers make that try to solve a problem that may not actually exist, not correctly solve the problem, or overlook elements of that disability.
  • when it's created, it often doesn't take into account the experiences of those who face those issues.
  • learning about user research in INFO 200 right now! However, one common pitfall is when designers come in with preconceptions on how users would use their work, and only really ask questions based on the designer's own experience (rather than the user) - similar to this!
  • feels like those creating disability dongles are trying to compensate for guilt/pity towards disabled people - instead of properly putting themselves in other people's shoes, and not getting the input from actual users.
  • favorite example was the stair-climbing wheelchair: why not install a ramp (instead of charging people thousands of dollars)!
  • instead of making something accessible in the first place, disability dongles are almost an "add-on" (that you have to pay for), which is not useful!
  • real dongles are converters which exist when hardware doesn't have the necessary plug. Instead, we should try to standardize things so that a dongle isn't necessary.
  • as an aside, nobody enjoys using dongles!!
What advice would you give to engineers (or engineering students) to avoid making disability dongles?
  • when solving a problem, figure out if there is a systematic solution or not
  • one example: "smart" glasses for deaf people that display captions on the lenses sound interesting. But, this puts the burden on deaf people. Instead, systems like closed captions or sign translators fix these systemic issues, rather than forcing deaf people to help themselves.
  • currently taking HCDE 315 (inclusive design) which focuses on disability as a mismatch with how the world is designed. It's the world that we should change!
  • too easy to slip into "let's build technology" and build something cool, rather than actually helping people.
After reading, what are our thoughts on AI and accessibility? Will it revolutionize accessibility, do nothing, or something in-between?
  • AI feels too much like a buzzword - e.g. AI rice cookers?
  • but, it's certainly helpful - e.g. with automatic captioning. However, it's still unreliable/inaccurate and may not solve the problem.
  • in a way, feels like a dongle or a bandaid fix.
  • going back to the plain text readability project: you could have a crowdsourced database that converts complicated text into plaintext. AI could do some of this, but it can miss a lot of nuance. Useful as a tool, but not the solution.
  • what are we letting AI learn off of? Machine learning could be learning data from exclusionary sources or replicate biases.
  • and, generative AI tools are still inaccurate!
In some cases, AI tools may be the "only option". In these cases, should we use it? Is it fair for us to make this judgement?
  • reasonable as an only option - better than nothing. But, not a permanent solution.
  • feels like a constant "imperfect solution with issues" versus "is this perpetuating the problem" debate.
  • AI is not at a place where we can trust it to perform important jobs, but AI is in a "beta" phase - and we need to collect feedback!
  • throwing AI at things without monitoring its use "feels weird", e.g. image-generating AIs could be trained on other images generated by AI, creating nightmare fuel
  • can't discount how big of an impact this could be: imagine if someone could select and copy-paste a paragraph into ChatGPT, and ask "summarize this concisely" or "translate this into another language" - that's a huge deal!
  • need to be careful of utilitarian thinking - can be easy to fall down the rabbit hole of "if it doesn't work for everybody, we can't use it". Okay to use things even if there are some downsides.
  • we should help develop what people are using - so if disabled people are using ChatGPT, we should work to make that better!
What are potential solutions to the problems we discussed?

In-person, we discussed:

  • implementing some legislation forcing websites to be accessible (e.g. requiring all images to have captions)
    • but, people could just write "image", or add some well-intentioned (but bad) alt text.
    • what would you do about legacy websites?
  • creating software or languages that make it easier to be accessible (e.g. describing images by default, making it easily navigable)
    • related solution: can we feed pre-existing structure from things like markdown into a website?
  • teaching accessibility somewhere. But, where? Last week, we saw there are many tough questions (what age, what program, should it be required)?
    • should be similar to how we teach civil engineers or architects ADA guidelines - through accreditation. Why not add it as a checkmark for a CS degree?
    • for K-12, we should teach it somewhere, but maybe not the technical details (are students building websites)?
    • K-12 doesn't immediately solve the problem, since you need to convince many CEOs and VPs. How long would it take for kids now to get to these positions of power?
    • need some sort of workforce education; could be training programs or through representation.
    • when onboarding as a research assistant, had to do mandatory modules about Title IX, OSHA, etc. - could do something similar.
    • but, many people don't pay attention to mandatory trainings, and those people are the most important people to teach! You need to teach people to care!
    • as a resident assistant, have to go through many accessibility trainings (over a week). But, they're quite effective - in part because they weren't just tacked on.
    • in addition, there were tangible outcomes - e.g. if a poster wasn't accessible, it would be denied.
  • could require government agencies to have accessible websites through law, and incentivize private companies to make accessibility a priority through tax breaks.

I also asked us all to answer this question on paper as an "exit ticket". Here are a few of the answers that touch on ideas we didn't talk about in-person.

  • on a personal level, taking more initiative to add alt-text and other screen-reader friendly items for individual creations.
  • teach about accessibility from a very early age - so that thinking about how to make the world accessible is something we all think about, in everything that we do. Almost making it the default!
  • avoid reinventing the wheel - instead, first ask if the design is needed!
  • Wordplay!
Homework for Week 4

Week 4: Machine Learning & AI

Before class: complete homework for week 4.

Broadly speaking, this class will be a broad-strokes overview of machine learning with an emphasis on its societal impacts. While one big focus will be algorithmic bias and fairness, we'll also touch on many other issues (such as interpretability, provenance, labor inputs, and environmental impacts). More coming soon!

Week 4 Sketch

Here's a non-binding sketch of a potential agenda for the day!

Week 5: Privacy & Security

Broadly speaking, this class will focus on data privacy and security in computing systems. We'll briefly touch on some interesting technical ideas, but mostly focus on many, many different case studies (with different stakeholders and harms). More coming soon!

Week 6: Student's Choice #1

We'll vote on the topic to cover this week. Potential topics include: physical computing and hardware, user interfaces, a partial history of computing, global computing, open-source software, or "theoretical" computer science. Stay tuned!

Week 7: Student's Choice #2

See above.

Week 8: Student's Choice #3

See above.

Week 9: Panel & What's Next

We'll have a one-hour panel from folks who work in some tech-adjacent job (i.e., they would have taken CSE 121 and 122), but with a breadth of discipline and job type. Come ready with questions :)

If time permits, we'll have a closing conversation on the entire class as a whole, reflect on the goals we set in our first week of class, and talk about "what's next" in our CSE journey!

Community Norms

We initially drafted these community norms in our first lecture session, though they may evolve over time (and we might revisit them in the future)! Last updated: 04/02.

In addition, Matt promises to:

Course Policies


This is a 1-credit, discussion-based course. To earn credit for this course, you need to complete 7 weeks of discussion activities and the culminating activity.

To complete a weekly discussion activity, you need to:

  1. do the assigned reading
  2. do any assigned activities (requires some effort for completion)
  3. attend the discussion for that week.

If you finish all of the above tasks for any given week, it's considered completed.

Our class will meet for 9 weeks in the quarter. This means that students can still miss up to 2 discussion activities and receive credit for the class. Details about the culminating activity will be posted towards the end of the quarter.

Readings and activities for this class are not intended to take up a significant portion of time. The focus of this class is to start conversations and reflections on computer science and its impacts on the world around us - not understanding of the material. If you have concerns about the workload for this class, we strongly encourage you reach out to the instructors to discuss.

Disability and Accessibility

All students deserve an equitable opportunity to education, regardless of if they have a temporary health condition or permanent disability. This applies to both CSE 390HA and your broader academic experience at UW. If there are ways that we can better accomodate you, please let us know.

We are happy to work with you directly or through Disability Resources for Students (DRS) to make sure that this class meets your needs. If you have not yet established services through DRS, we encourage you to contact DRS directly at uwdrs@uw.edu. DRS offers a wide range of services that support students with individualized plans while simultaneously removing the need to reveal sensitive medical information to course staff. However, these processes can take time - so we encourage students to start this process as soon as possible to avoid delays.

Religious Accomodations

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW's policy, including more information about how to request an accommodation, is available at the registrar's page on the Religious Accomodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.

Academic Honesty and Collaboration

Broadly speaking, the philosophy and policy for academic honesty and collaboration in this class mirrors the CSE 122 Academic Honesty and Collaboration policies. In particular, all work that you submit for grading in this course must be predominantly and substantially your own. In particular, quoting from the CSE 122 syllabus:

Predominantly means that the vast majority of the work you submit on any given assignment must be your own. Submitting work that includes many components that are not your own work is a violation of this clause, no matter how small or unimportant the pieces that are not your work may be.
Substantially means that the most important parts of the work you submit on any given assignment must be your own. Submitting work that includes major components that are not your own work is a violation of this clause, no matter how little work that is not your own you include.

In this class, this primarily applies to the culminating activity and weekly discussion activities that involve submitting an artifact (e.g. a short answer response to a question). Allowed behaviours under this policy include discussing the question and answers with others or using search engines and generative AI to explore more information on the topic. Prohibited behaviours under this policy are primarily related to copying work written by others, where "others" can be other students in the class, other people in general, or generative AI tools.

You are welcome (and in fact, encouraged) to draw on outside sources when creating your artifacts. In situations like these, we simply ask that you cite these sources. The exact format (e.g. MLA or APA) is not important, as long as it is clear which works are cited and how they have influenced your own work.


Many folks have helped shape the overall direction of this course through direct and indirect advice, conversations, and support. Thanks to Miya Natsuhara, Brett Wortzman, Elba Garza, Lauren Bricker, Nathan Brunelle, and Kevin Lin.

Much of the accessibility module is inspired by the 2023 autumn offering of CSE 493E: Accessibility, taught by Jennifer Mankoff. This includes some of the readings (Richards, Sethfors, South et al., Monteleone et al., s.e.smith) and the overall framing of the conversation. Thank you Jen!