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@uw.edu.

Announcements

Aug 08

Homework 6 Release

Our last homework, Homework 6, has been released and is intended to give you practice analyzing data in the context of a real life scenario, election fraud.

See the full announcement on Ed!
Jul 27

Homework 5 Release

Our next homework, Homework 5, has been released. This homework has been broken into three portions:

  • A check-in survey is due 11:59pm on Monday, August 1.
  • Part one is due 11:59pm on Friday, August 5.
  • Part two is due 11:59pm on Monday, August 8.

The best way to get help for the projects is through Ed or Office Hours! Please do not hesitate to ask if you’re stuck on something, because chances are somebody else will be too, and now they can be helped by your thread!

See the full announcement on Ed!
Jul 18

Homework 4 Release

Our next homework, Homework 4, has been released. This homework has been broken into two parts. Part one is due 11:59pm on Monday, July 25. Part two is due 11:59pm on Wednesday, July 27.

The best way to get help for the projects is through Ed or Office Hours! Please do not hesitate to ask if you’re stuck on something, because chances are somebody else will be too, and now they can be helped by your thread!

See the full announcement on Ed!

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 Exercises
Week 1
Mon 06/20
HOLIDAY Juneteenth
Wed 06/22
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
Thu 06/23
SEC 00 Intro to Python
worksheet: blank solution
in-class: gslides recording
Fri 06/24
LEC 01 Intro to Python + Loops
Week 2
Mon 06/27
LEC 02 Nested Loops + If Statements
Released
HW1
Homework 1
Due 11:59 pm
Wed 06/29
LEC 03 Functions
in-class: gslides
Released
EX1
Practice Problems Check-In #1
Due 11:59 pm
Thu 06/30
SEC 01 Loops + If Statements
worksheet: blank solution
in-class: gslides recording
Fri 07/01
LEC 04 Functions (cont)
in-class: gslides
Released
HW2
Homework 2
Due 11:59 pm
Week 3
Mon 07/04
HOLIDAY Fourth of July
Wed 07/06
LEC 05 Lists
in-class: gslides
Released
EX2
Practice Problems Check-In #2
Due 11:59 pm
Thu 07/07
SEC 02 Functions + Lists
worksheet: blank solution
in-class: gslides recording
Fri 07/08
LEC 06 Lists + File IO
in-class:
Released
EX3
Practice Problems Check-In #3
Due 11:59 pm
Week 4
Mon 07/11
LEC 07 File IO + Dictionaries
Released
HW3
Homework 3
Due 11:59 pm
Wed 07/13
LEC 08 Dictionaries
in-class: gslides
Thu 07/14
SEC 03 File IO + Dictionaries
worksheet: blank solution
in-class: gslides recording
Fri 07/15
LEC 09 Midterm Review
in-class: gslides
Week 5
Mon 07/18
LEC 10 Midterm Review (cont)
in-class: gslides
Released
HW4
Homework 4
Due 11:59 pm
Released
EXAM
Midterm
Due 11:59 pm
Wed 07/20
LEC 11 Sets + Sorting
in-class:
Thu 07/21
SEC 04 Sets & Sorting
worksheet: blank solution
in-class: gslides recording
Fri 07/22
LEC 12 Sorting + HW4
in-class: gslides
Week 6
Mon 07/25
LEC 13 Graphs + Testing
in-class:
Wed 07/27
LEC 14 Testing + Debugging
Released
HW5
Homework 5
Due 11:59 pm
Thu 07/28
SEC 05 Testing
worksheet: blank solution
in-class: gslides recording
Fri 07/29
LEC 15 Sharing & Mutability
in-class: gslides
Week 7
Mon 08/01
LEC 16 Good Programming Practice
in-class: gslides
Wed 08/03
LEC 17 Plotting + Statistics
Thu 08/04
SEC 06 Sharing, Mutability, Statistics, Plotting
worksheet: blank solution
in-class: gslides recording
Fri 08/05
LEC 18 Statistics + Classes
Week 8
Mon 08/08
LEC 19 Classes (cont)
in-class: gslides
Released
HW6
Homework 6
Due 11:59 pm
Wed 08/10
LEC 20 List Comprehensions
in-class: gslides
Thu 08/11
SEC 07 Classes and Documentation
worksheet: blank solution
in-class: gslides recording
Fri 08/12
LEC 21 List Comprehensions + Final Review
Week 9
Mon 08/15
LEC 22 Final Review
in-class: gslides
Released
EXAM
Final
Due 11:59 pm
Wed 08/17
LEC 23 N/A
Thu 08/18
SEC 08 TA's Choice
worksheet: blank solution
in-class: gslides recording
Fri 08/19
LEC 24 More Python + What's Next?