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

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



Course Content

Week #9 (03/08) - Industry Panel

Our last section! (so sad).This week we heard from the awesome following people about their experiences in the CSE industry:

  • Kevin Wallace -- majored in CS at UW, TAed for 142 and 143, interned at Amazon, worked at Google, then at a data storage startup, then at a high school teaching CS, now CSE staff programmer (works on Grade-It / Practice-It / etc).
  • Meredith Lampe -- majored in CS at UW, current senior. TAed for 142 and 143, interned at Microsoft, Tableau, and a TechStars startup, did some research for HCDE, going to work for Facebook in New York in September.
  • Max Forbes -- Interned at Microsoft and Google, researched in distributed systems, robotics, and natural language processing, TAed for networks class, worked as robotics researcher at UW and as software engineer at Google, attending PhD school in NLP in the CS program at UW

Homework:

  • Fill out the course evaluation when it opens

Week #8 (03/01) - 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 (02/22) - Data Visualization

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.

Homework for the next session:

  • Analyze this visualization from the dear data project. (all weeks).
  • Collect data about your computer usage for the rest of the next week (Wednesday-Monday). 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.
  • With that collected data, come up with a data visualization to either (1) answer an interesting question about your computer usage or (2) convey something interesting and artistic about your computer usage.

Week #6 (02/15) - 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.
  • Find a cool data visualization that conveys some interesting information about the world. If you're stuck, politics are usually an interesting place to start.

Week #5 (02/08) - Databases and Distributed Data Management

This week we discussed databases and how they maintain consistency and store data. We talked about keys in tables, logs, database management systems, and how databases recover from a crash. Then we learned a little bit about the Structured Query Language (SQL) and played around with querying a fake Simpsons grades database.

Homework for the next session:

  • Pick your favorite website, be ready to describe it in terms of how you (the user) interacts with the website, how the data might be stored, and how the static content and styling might get loaded. We'll explore this next week with an intro to web development class.

Week #4 (01/31) - Public Key Cryptography and Security

In this section, we discussed the mechanism for public key cryptography and how modern cryptography works.

We also discussed the security of the internet of things, adversarial security, and some of the projects UW has worked on recently in the security area.

Homework for the next session:

  • Read chapter 8, Databases: the quest for consistency, from 9 Algorithms That Changed The Future
  • Watch this 20 minute video from UW professor, Magda Balazinska, describing the future of big data databases and distributed database computing

Week #3 (01/25) - 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 (01/18) - Search Engine Indexing and PageRank

In this section, we discussed how basic indexing and the PageRank algorithm works. We talked about what matters for indexing including word location and other metadata. Within that discussion we discussed the idea of meta as a whole, and what kinds of metadata exist for webpages. For PageRank we talked about the concept that what is important is for other important websites to link to you. We talked about how this eliminates spam and makes it difficult for malicious websites to become important by piggybacking off of important authentic websites (like Wikipedia).

Then we had a lengthy discussion about how the internet works and how a browser gets the data of a webpage to render. In this discussion we talked about crawlers and how crawlers might operate.

We also had a discussion about privacy, collecting user data, and the role of companies in managing that data. We talked about how it is very subjective and how it gives you a better user experience, but it also might violate your privacy without you realizing. We talked about these trade-offs and how legislation is currently slower than technology and there aren't strict enforcements on what a company does with your data, how they send it, how it is stored, or whether it is anonymized. If we had time, we would have discussed Europe's right to be forgotten recent ruling and the implications both for Google abiding that law and how it affects society for you to be able to delete some of your public data.

Homework for the next session:

  • Read chapter 6, Pattern Recognition, from 9 Algorithms That Changed The Future. This chapter is about Machine Learning and applied statistics. We'll also talk next week about applications of these algorithms to Artificial Intelligence techniques.
  • Watch video on Google DeepMind.

Week #1 (01/11) - 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 two chapters, Search Engine Indexing and Page Rank, 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.