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, 123, or any 300-level CSE class, you will not receive credit for taking CSE 160. For those who have taken CSE 142, 122 or have had some experience with programming, CSE 163 may be a better class choice.

Feedback

Feedback is always welcome! You can contact the the course staff or submit anonymous feedback.

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

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 Practice Check-In
Week 1
Mon 06/23
LEC 01 Welcome to CSE 160!
resources: recording
in-class:
23 Jun
HW 0
Homework 0
27 Jun, 11:59 pm
P 1
Check-in #0 About you Survey
26 Jun, 11:59 pm
Wed 06/25
LEC 02 Variables & Expressions
resources: recording
in-class:
Thu 06/26
SEC 01 Intro to Python
in-class: gslides
P 2
Written Check-in #1
27 Jun, 11:59 pm
Fri 06/27
LEC 03 Loops
resources: recording
in-class:
Slides Loops
27 Jun
HW 1
Homework 1
06 Jul, 11:59 pm
Week 2
Mon 06/30
LEC 04 Nested Loops
resources: recording
in-class:
30 Jun
W 1
Coding Practice #1
06 Jul, 11:59 pm
Wed 07/02
LEC 05 Conditionals
resources: recording
in-class:
Thu 07/03
SEC 02 Loops + If Statements
worksheet: blank solution
in-class: gslides
P 3
Written Check-in #2
05 Jul, 11:59 pm
Fri 07/04
HOLIDAY Holiday
Week 3
Mon 07/07
LEC 06 Functions
resources: recording
in-class:
07 Jul
HW 2
Homework 2
14 Jul, 11:59 pm
07 Jul
W 2
Coding Practice #2
11 Jul, 11:59 pm
Wed 07/09
LEC 07 List Methods
resources: recording
in-class:
Thu 07/10
SEC 03 Functions
P 4
Written Check-in #3
11 Jul, 11:59 pm
Fri 07/11
LEC 08 Nested Lists
resources: recording
in-class:
Week 4
Mon 07/14
LEC 09 File I/O
14 Jul
HW 3
Homework 3
20 Jul, 11:59 pm
14 Jul
W 3
Coding Practice #3
18 Jul, 11:59 pm
Wed 07/16
LEC 10 Dictionaries
Thu 07/17
SEC 04 Lists and Nested Lists
P 5
Written Check-in #4
18 Jul, 11:59 pm
Fri 07/18
LEC 11 Dictionaries (cont.)
Week 5
Mon 07/21
LEC 12 Midterm Review
20 Jul
HW 4
Homework 4
03 Aug, 11:59 pm
21 Jul
W 4
Coding Practice #4
25 Jul, 11:59 pm
Wed 07/23
LEC 13 Midterm
Thu 07/24
SEC 05 Sets and File I/O
P 6
Written Check-in #5
25 Jul, 11:59 pm
Fri 07/25
LEC 14 Sets
Week 6
Mon 07/28
LEC 15 Tuples and Sorting
28 Jul
W 5
Coding Practice #5
01 Aug, 11:59 pm
Wed 07/30
LEC 16 Testing/Debugging
Thu 07/31
SEC 06 Dictionaries
P 7
Written Check-in #6
01 Aug, 11:59 pm
Fri 08/01
LEC 17 Sharing and Mutability
Week 7
Mon 08/04
LEC 18 Visualization
04 Aug
HW 5
Homework 5
17 Aug, 11:59 pm
04 Aug
W 6
Coding Practice #6
08 Aug, 11:59 pm
Wed 08/06
LEC 19 Classes
Thu 08/07
SEC 07 Nested Structures
P 8
Written Check-in #7
08 Aug, 11:59 pm
Fri 08/08
LEC 20 Classes (cont.)
Week 8
Mon 08/11
LEC 21 CSV DictReader
11 Aug
W 7
Coding Practice #7
15 Aug, 11:59 pm
Wed 08/13
LEC 22 List Comprehensions
Thu 08/14
SEC 08 CSV DictReader
P 9
Written Check-in #8
15 Aug, 11:59 pm
Fri 08/15
LEC 23 Cool Bonus Python
Week 9
Mon 08/18
LEC 24 Intro to Pandas
Wed 08/20
LEC 25 Final Review
Thu 08/21
SEC 09 Classes
P 10
Written Check-in #9
22 Aug, 11:59 pm
Fri 08/22
LEC 26 Final Exam