Computer Science Principles

Univ of Washington CSE

MWF 12:30-1:20pm, Sieg 134

Computer Science Principles

Univ of Washington CSE

MWF 12:30-1:20pm, Sieg 134


loading...

Course Schedule

Week Date Lecture Topic Labs Reading (Thu) Assignments
1 3/27 M Introduction, Abstraction
3/29 W Lightbot and Functions
3/31 F Binary
2 4/3 M Processing Introduction
  • Portfolio (4/5)
  • Taijitu (4/5)
  • Code Stars (video)
  • Beauty in Computer Science
  • Building a Robot (4/4)
  • Lego Family (4/9)
4/5 W Variables and Datatypes
  • Logo Design (4/7)
4/7 F Parameters and Arguments
3 4/10 M Conditionals and Loops
  • Animal Functions (4/12)
  • How Algorithms Shape Our World (video)
  • Algorithms Are Great and All, But They Can Also Ruin Lives
  • Events (4/11)
  • Mice and Predator (4/16)
  • Creativity Planning ()
4/12 W Basic Input and Output
  • Jumping Monster (4/15)
4/14 F Algorithms
4 4/17 M Nested Loops & Arrays
  • Creativity Assignment (4/24)
  • Blown to Bits Appendix A (p. 301-309)
  • How Trolls Are Ruining the Internet
  • Creativity Planning (4/18)
  • Portfolio Update 1 (4/18)
  • Creativity Assignment (4/24)
4/19 W Algorithmic Complexity I
  • For Loop Practice (n/a)
  • Binary Practice (4/21)
4/21 F The Internet
5 4/24 M Computers
  • Midterm Review (n/a)
  • Addicted to Apps
  • Blown to Bits Ch.2 (p. 19-28, 36-42)
  • Living Computer Museum Report (5/14)
  • Controlling Elli (4/30)
4/26 W Midterm
  • Arrays and Elli (4/28)
4/28 F Privacy
6 5/1 M Recursion I
  • Recursion (5/3)
  • Lockhart's Lament
    (p. 1-7, tiny bit of 8)
  • Living Computer Museum Report (5/14)
  • Color Filters (5/7)
5/3 W Recursion II
  • Color Checker (5/5)
5/5 F Algorithmic Complexity II
7 5/8 M Developing an App
  • Text Processing (5/10)
  • Everything is Broken
  • Living Computer Museum Report (5/14)
  • Innovation Blog (5/21)
5/10 W Concurrency
  • Birthday Visualization (5/14)
5/12 F Security
8 5/15 M TBD
  • Tic-Tac-Toe (5/19)
  • The Artificial Intelligence Revolution
    ("The Road to Superintelligence," stopping at "An Intelligence Explosion"
  • Portfolio Update 2 (5/16)
  • Innovation Blog (5/21)
  • Final Project (6/2)
5/17 W Copyright
  • Project Work (n/a)
5/19 F Artificial Intelligence
9 5/22 M Hardware
  • Project Work (n/a)
  • The Rise of the Weaponized AI Propaganda Machine
  • Innovation Blog Response (5/24)
  • Final Project (6/2)
5/24 W Computing in the Developing World
  • Project Update Check (5/25)
5/26 F Big Data
10 5/29 M Memorial Day Holiday
  • Project Work (n/a)
  • Scoring the Debate Over Social-Media Revolutions
  • Humans Need Not Apply (video)
  • Final Project (6/2)
  • CS in Your Future (6/4)
5/31 W Computing in Politics, Social Movements, and Jobs
  • Project Work (n/a)
6/2 F Course Wrap-Up

Course Staff

Click staff photos for mini-biographies!

Instructor


Justin Hsia (jhsia@cs)
OH: TBD
or by appointment

Teaching Assistants


Anupam Gupta (anupamg@uw)
LAB AA
OH: TBD

Eugene Oh (eo28@uw)
LAB AA
OH: TBD

Braydon Hall (braydonh@uw)
LAB AB
OH: TBD

Savanna Yee (savannay@uw)
LAB AB
OH: TBD

Contact

Outside of lectures and sections, there are a few ways to ask questions or discuss course issues:

  1. Visit office hours! If you need extra time or need to discuss something in private, feel free to email and make an appointment.
  2. Make a public post about course content on the discussion forum, where they benefit the whole class. This also allows other students to answer your question so you can receive a faster response.
  3. Make a private post to just the course staff on Piazza with any questions or issues that you would prefer to discuss privately. While you can email staff members individually when that makes sense, contacting the whole staff is preferred to get a faster response and to let us see what issues students are having.
  4. Send anonymous feedback to the course staff. The instructor will address the issue and share it with others only as appropriate, but will not have a way to reply to you without addressing the whole class.

Resources

Processing:  (reference)  (tutorials)  (examples)  (videos)  (community examples)
Processing:  (drawing cheatsheet)
Online Textbooks:  (Blown to Bits)  (Getting Started with Processing 2nd Ed)
Your Website:  (initial setup)  (adding Processing projects)  (p5.js converter)  (HTML Source)