Welcome to CSE 160: Data Programming! 🎉

What is this class? What will I learn?

The world has become data-driven. Domain scientists and industry increasingly rely on data analysis to drive innovation and discovery; this reliance on data is not only restricted to science or business, but also is crucial to those in government, public policy, and those wanting to be informed citizens. As the size of data continues to grow, everyone will need to use powerful tools to work with that data.

CSE 160 is an introductory programming class that meets this need. You will learn to write small programs in Python to solve real-world problems in science, engineering, business, and other fields. This will be useful in your classes, research, and jobs.

In this course:

  1. You will learn computational problem-solving. If given a data source and problem description, you will be able to write a complete, useful program to solve the problem.
  2. You will learn Python, a popular and general-purpose programming languages that includes libraries for data manipulation, scientific computing, and visualization.
  3. Assignments will use real datasets from fields such as biology, government, social networks, and more.
Prerequisites and Expectations

There are no prerequisites to this course other than high school math. We assume that you are familiar with basic computer usage (running applications, editing documents, etc).

This course does not assume any previous programming experience. If you have taken CSE 143 or any 300-level class, you will not receive credit for taking CSE 160. For those who have taken 142 or have had some experience with programming, CSE 163 may be a better class choice.

Registration

Do not email the course staff or instructor requesting an add-code for the course. The course staff do not have any add-codes. Please email ugrad-advisor@cs.washington.edu.

Announcements

Mar 21

Before Quarter Announcements

Welcome to CSE 160! Course content is forthcoming.

Calendar

Info

This is a rough sketch of the quarter and things are subject to change. We can accurately predict the past, but predicting the future is hard!

Topic Homeworks Exercises Quizzes
Week 1
Mon 03/27
LEC 00 Intro to CSE 160 + Intro to Python
Released
HW0
Homework 0
Due 11:59 pm
Released
EX0
Survey + Ed Board Intro
Due 11:59 pm
Wed 03/29
LEC 01 Intro to Python
Thu 03/30
SEC 00 Intro to Python
Fri 03/31
LEC 02 Loops
in-class: recording
Slides Loops
Sun 04/02
Released
QUIZ 0
Week 1 Check-In Quiz
Due 11:59 pm
Week 2
Mon 04/03
LEC 03 Nested Loops
in-class: recording
Slides Loops
Wed 04/05
LEC 04 If statements
Released
HW1
Homework 1
Due 11:59 pm
Released
EX1
Practice Problems Check-In #1
Due 11:59 pm
Thu 04/06
SEC 01 Loops + If Statements
worksheet: blank solution
in-class: gslides
Fri 04/07
LEC 05 Lists & Functions (if time)
in-class: recording
Slides Lists
Released
HW2
Homework 2
Due 11:59 pm
Sun 04/09
Released
QUIZ 1
Week 2 Check-In Quiz
Due 11:59 pm
Week 3
Mon 04/10
LEC 06 Functions
Wed 04/12
LEC 07 Functions (con't)
in-class: recording
Released
EX2
Practice Problems Check-In #2
Due 11:59 pm
Thu 04/13
SEC 02 Functions
worksheet: blank solution
in-class: gslides
Fri 04/14
LEC 08 IN-PERSON CANCELED SEE RECORDING - Nested Lists
Sun 04/16
Released
HW3
Homework 3
Due 11:59 pm
Released
QUIZ 2
Week 3 Check-In Quiz
Due 11:59 pm
Week 4
Mon 04/17
LEC 09 File I/O
in-class: recording
Slides File I/O
Wed 04/19
LEC 10 Sets
in-class: recording
Slides Sets
Thu 04/20
SEC 03 File IO + Lists
worksheet: blank solution
in-class: gslides
Fri 04/21
LEC 11 Dictionaries
Released
HW4
Homework 4
Due 11:59 pm
Sun 04/23
Released
QUIZ 3
Week 4 Check-In Quiz
Due 11:59 pm
Week 5
Mon 04/24
LEC 12 Dictionaries and Midterm Review
Released
EX3
Practice Problems Check-In #3
Due 11:59 pm
Wed 04/26
LEC 13 Midterm
Thu 04/27
SEC 04 Dictionaries
worksheet: blank solution
in-class: gslides
Fri 04/28
LEC 14 HW4
in-class: slides recording
Sun 04/30
Released
QUIZ 4
Week 5 Check-In Quiz
Due 11:59 pm
Week 6
Mon 05/01
LEC 15 Sorting
in-class: recording
Slides Sorting
Wed 05/03
LEC 16 Sorting (cont) & Graphs
Thu 05/04
SEC 05 Nested Dictionaries
worksheet: blank solution
in-class: gslides
Fri 05/05
LEC 17 Graphs & Testing
Released
HW5
Homework 5
Due 11:59 pm
Released
EX4
Homework 5 Check-In
Due 11:59 pm
Sun 05/07
Released
QUIZ 5
Week 6 Check-In Quiz
Due 11:59 pm
Week 7
Mon 05/08
LEC 18 Testing (cont) & Debugging
Wed 05/10
LEC 19 Interpreting Exceptions
in-class: recording
Thu 05/11
SEC 06 Sets, Tuples, Itemgetter, and Sorting
worksheet: blank solution
in-class: gslides
Fri 05/12
LEC 20 Sharing, mutability, and immutability
Sun 05/14
Released
QUIZ 6
Week 7 Check-In Quiz
Due 11:59 pm
Week 8
Mon 05/15
LEC 21 Good Programming Practice
Wed 05/17
LEC 22 Visualization
Thu 05/18
SEC 07 Testing
worksheet: blank solution
in-class: gslides
Fri 05/19
LEC 23 Classes
in-class: recording
Slides Classes
Released
HW6
Homework 6
Due 11:59 pm
Sun 05/21
Released
QUIZ 7
Week 8 Check-In Quiz
Due 11:59 pm
Week 9
Mon 05/22
LEC 24 Classes (cont)
in-class:
Slides Classes
Wed 05/24
LEC 25 CSVDictReader and List Comprehensions
in-class:
Thu 05/25
SEC 08 Classes and Visualization
worksheet: blank solution
in-class: gslides
Fri 05/26
LEC 26 List Comprehensions (con't)
Week 10
Mon 05/29
HOLIDAY Memorial Day
Wed 05/31
LEC 27 More Python + What's Next?
Thu 06/01
SEC 09 Final Review & OH
worksheet: blank solution
in-class: gslides
Fri 06/02
LEC 28 Final Review
Week 11
Mon 06/05
LEC 29 no class
Wed 06/07
LEC 30 no class
Fri 06/09
LEC 31 no class