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

Jul 01

End of Week 1 Announcements

Reminder that the Programming Assignment 1 and Written Assignment 1 are both due Monday at 11:59. Homework 2, Programming Assignment 2 and Written Assignment 2 have all been released as well

See the full announcement on Ed!
Jun 23

End of Week 0 Announcements

Reminder that the About You Survey, Introductory Ed Post, and Written Assignment 0 are due at 11:59 tonight! The HW1 spec has also been released

See the full announcement on Ed!
Jun 15

Before Quarter Announcements

Welcome to CSE 160! Course content is forthcoming.

All Announcements

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 Programming Assignments Written Assignments
Week 1
Mon 06/19
HOLIDAY Juneteenth
Tue 06/20
Wed 06/21
LEC 00 Intro to CSE 160 + Intro to Python
Released
HW0
Homework 0
Due 11:59 pm
Released
EX0
Ed Board Intro
Due 11:59 pm
Released
QUIZ 0
Written Activity 0
Due 11:59 pm
Thu 06/22
SEC 00 Intro to Python + Gradescope Intro
Fri 06/23
LEC 01 Intro to Python/Loops
Released
QUIZ 1
Written Activity 1
Due 11:59 pm
Week 2
Mon 06/26
LEC 02 Nested Loops + If Statements
Released
HW1
Homework 1
Due 11:59 pm
Released
EX1
Programming Activity 1
Due 11:59 pm
Tue 06/27
Wed 06/28
LEC 03 Functions"
in-class:
Thu 06/29
SEC 01 Loops + If Statements
worksheet: blank solution
in-class: gslides recording
Fri 06/30
LEC 04 Functions (cont.d)
Released
HW2
Homework 2
Due 11:59 pm
Week 3
Mon 07/03
LEC 05 Functions + Lists
in-class:
Slides Lists
Released
EX2
Programming Activity 2
Due 11:59 pm
Released
QUIZ 2
Written Activity 2
Due 11:59 pm
Tue 07/04
Wed 07/05
LEC 06 Lists
in-class:
Videos Lists
Thu 07/06
SEC 02 Functions
worksheet: blank solution
in-class: gslides recording
Released
EX3
Programming Activity 3
Due 11:59 pm
Released
QUIZ 3
Written Activity 3
Due 11:59 pm
Fri 07/07
LEC 07 FileIO
in-class: slides FileIO
Released
HW3
Homework 3
Due 11:59 pm
Week 4
Mon 07/10
LEC 08 Dictionaries
in-class: slides Dictionaries
Tue 07/11
Released
EX4
Programming Activity 4
Due 11:59 pm
Released
QUIZ 4
Written Activity 4
Due 11:59 pm
Wed 07/12
LEC 09 Dictionaries
Thu 07/13
SEC 03 Midterm Review + Dictionaries
worksheet: blank solution
in-class: gslides
Fri 07/14
LEC 10 Midterm Review
Released
HW4
Homework 4
Due 11:59 pm
Week 5
Mon 07/17
LEC 11 Midterm
Tue 07/18
Released
EX5
Programming Activity 5
Due 11:59 pm
Released
QUIZ 5
Written Activity 5
Due 11:59 pm
Wed 07/19
LEC 12 Sets and HW4
in-class: slides Sets
Thu 07/20
SEC 04 Dictionaries + HW4 Prep
worksheet: blank solution
in-class: gslides recording
Fri 07/21
LEC 13 Sets and Sorting
in-class: slides Sorting
Week 6
Mon 07/24
LEC 14 Sorting (cont.d) and Graphs and Testing
in-class: slides Graphs Testing
Tue 07/25
Released
HW5
Homework 5
Due 11:59 pm
Released
EX6
Programming Activity 6
Due 11:59 pm
Released
QUIZ 6
Written Activity 6
Due 11:59 pm
Wed 07/26
LEC 15 Testing + Debugging
in-class: slides Debugging
Thu 07/27
SEC 05 Sets and Sorting
worksheet: blank solution
in-class: gslides recording
Fri 07/28
LEC 16 Sharing + Mutability
Week 7
Mon 07/31
LEC 17 Visualization
in-class: slides Visualization
Tue 08/01
Released
EX7
Programming Activity 7
Due 11:59 pm
Released
QUIZ 7
Written Activity 7
Due 11:59 pm
Wed 08/02
LEC 18 Good Programming Practice + Statistics
Thu 08/03
SEC 06 Testing
worksheet: blank solution
in-class: recording gslides
Fri 08/04
LEC 19 Classes
in-class: slides Classes
Week 8
Mon 08/07
LEC 20 Classes (cont.d)
Released
HW6
Homework 6
Due 11:59 pm
Tue 08/08
Released
EX8
Programming Activity 8
Due 11:59 pm
Released
QUIZ 8
Written Activity 8
Due 11:59 pm
Wed 08/09
LEC 21 CSVDictReader + List Comprehensions
Thu 08/10
SEC 07 Classes + List Comprehensions
worksheet: blank solution
in-class: gslides
Fri 08/11
LEC 22 List Comprehensions (cont.d)
Week 9
Mon 08/14
LEC 23 Final Review
Tue 08/15
Wed 08/16
LEC 24 Final
Thu 08/17
SEC 08 TA Choice
Fri 08/18
LEC 25 More Python + What's Next?