Welcome to CSE 390HA, the Honors section for CSE 142!

In this course we'll be exploring the history of technology, the impact it has on society, and the different facets of computer science. Throughout the course our goal is to explore these topics through a mix readings out of the book "9 Algorithms That Changed The Future" and articles, small exploratory homework assignments, and weekly discussions.

Required Book: 9 Algorithms That Changed The Future by John MacCormick

Course Evaluations:

The anonymous course evaluations are available here. Please take the time to fill them out to help me improve how I run the course for future quarters. Thanks!

Optionally, there is also this anonymous catalyst survey that I have created that has more specific questions about each section. Since the topics we covered from week to week were so diverse, I'd really appreciate feedback on which of the sections you liked. Feel free to fill out as much or as little of this anonymous survey as you'd like.

To receive credit for this course: do the readings, attend at least 8 sections (you can miss 2), and participate in the discussion.



Course Content

Week #10 (12/6) - Linux, git, Managing large projects

Our last section! (so sad). This week we discussed some tools for navigating your computer using the command line, running simple scripts and tasks, version control with the git tool, and the code review process.

Week #9 (11/29) - Industry Panel

This week we heard from the awesome following people about their experiences in the CSE industry:

  • Natalie Andreeva: andren4@cs.washington.edu
  • Cat Johnson: cathej@cs.washington.edu
  • Chadi Moussi: cmoussi@cs.washington.edu
  • Hunter Schafer: hschafer@cs.washington.edu

Homework for the next session:

  • Fill out the course evaluation (opens on December 4th) here.
  • Bring your laptop if you have one for next time to follow along with some of the bash / source control exercises that we'll do.

Week #8 (11/22) - Dear Data Project

This week we analyzed the dear data project and each other's visualizations of our computer usage time.

Homework for next week:

  • Come up with questions about what it is like to work in the computer science industry.

Week #7 (11/15) - Data Visualization and D3

This week we talked about how data visualization can influence your opinion and knowledge of a social situation. We also discussed how humans interpret data and visuals (like color, position accuracy, etc), and the effects that has on the design of data visualizations.

We also built a data visualization website that visualizes a tsv of letter frequencies.

Resources:

  • vis.html the content of the website
  • vis.css styles of the website.
  • vis.js the script to load the data file and visualize the data using the d3.js library.
  • data.tsv the data file in tsv format.

Homework for the next session:

  • Analyze this visualization from the dear data project. (all weeks).
  • Come up with your own data visualization for the data you collected about your computer usage.

Week #16 (11/8) - Intro to Web Development: HTML, CSS, JavaScript

We built a beautiful kitten machine website to load in a new random kitten on click of a button.

Resources:

  • kittens.html content of the website. Download and open with a text editor or view source to see file contents instead of rendering as a website.
  • kittens.css styles of the website.
  • script.js interactive script code attached to events of the website.

Homework for the next session:

  • Watch a short video on the future of data vis from Jeff Heer, Professor at UW.
  • Watch a short video on Hans Rosling demonstrating how data is important for global planning and reasoning about the current state of the world.
  • Collect data about your computer usage for the entire week. Collect the data with the context surrounding the data to better answer a question about yourself that you'd like to answer. Some questions might be: when am I using the internet? How frequently do I take breaks from the computer? How is the computer helping or hurting my social life? What times during the day do I mostly look at screens? Is my laptop usage vastly different from my phone usage? etc, etc.

Week #5 (11/1) - Current Research in Computer Science

In this section, we discussed 5 different areas of current research in computer science.

Homework for the next session:

None! Next week I'll be demoing how HMTL, CSS, and JavaScript fit together to make an interactive web page. I'll be speeding through these technologies and giving you context on some basics of how the web works. Feel free to do some research on these technologies in preparation for next week, but it isn't required.

Week #4 (10/25) - Security and Cryptography

In this section, we talked about how public key encryption works and how to establish a 'shared secret' to allow private information on the web. We also discussed the Internet of Things, adversarial security, and the recent DDOS attacks on Dyn.

Homework for the next session:

We'll be exploring several different areas of current research in computer science. Each person will be assigned one of the following topics to present to the class next week. Linked are some suggested resources to read/watch, but any extra digging you'd like to do is welcome.

Week #3 (10/18) - Pattern Recognition, Machine Learning and Artificial Intelligence

In this section, we learned about 3 common machine learning solutions to classification and discussed some of the real world applications. We also discussed the more current applications of machine learning and artificial intelligence being explored by Google's DeepMind projects.

Homework for the next session:

  • Read chapter 4, Public Key Cryptography, from 9 Algorithms That Changed The Future
  • Watch this 20 minute video from UW professor, Yoshi Kohno, describing the internet of things and adversarial security

Week #2 (10/11) - Search Engine Indexing

In this section, we discussed how basic indexing works. Turns out, indexing is ancient and everywhere. We talked about what matters for indexing including word location and other metadata. Then we discussed some interesting implications of the internet, how we behave as a community (or several communities) on the internet, and what autocompletions say about us.

We also had a lengthy discussion about privacy, collecting user data, and the role of companies in managing that data.

Homework for the next session:

Week #1 (10/04) - Introduction

In this section, I introduced the goals of the honors section:

  • To explore the impact of technology and computer science concepts on society
  • To explore computer science and its applications as an academic field
  • To preview what a career as a professional computer programmer or researcher is like
  • To look more indepth at how we apply computational thinking to our daily lives

I emphasized that while CSE 142 is all about how to program computers, computer science (and computational thinking) is much larger in scope than just programming (or even physical computers). As a group, we explored some interesting ideas:

  • How machine learning and predictive algorithms are changing the way we interact with computers
  • Self driving cars and the impact they could have, both positive and negative, on society.
  • Technology in the classroom and used in education.
  • The influence of the technology culture and industry on the Seattle and Silicon Valley areas.

Homework for the next session:

  • Fill out this catalyst survey with your experiences, interests, and goals for the course
  • Read the introduction and first chapter, Search Engine Indexing, from 9 Algorithms That Changed The Future
  • (Super optional) Come say hi! I'm in my office, CSE 450, most of the time and would be happy to chat with you about your interests / concerns / CSE 142 / whatever in person.