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. The schedule listed here is subject to change.

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 Check-ins Practice
Week 1
Mon 01/01
HOLIDAY No Class
Released
W 1
Welcome! About you Survey.
Due 11:59 pm
Wed 01/03
LEC 01 Intro to CSE 160 + Intro to Python
Released
HW 0
Homework 0
Due 11:59 pm
Thu 01/04
SEC 01 Intro to Python
in-class: gslides
Fri 01/05
LEC 02 Intro to Python
Week 2
Mon 01/08
LEC 03 Loops
in-class: recording notes
Slides Loops
Released
W 2
Check-in #1
Due 11:59 pm
Released
P 1
Coding Practice #1
Due 11:59 pm
Wed 01/10
LEC 04 Nested Loops
in-class: recording notes
Slides Loops
Released
HW 1
Homework 1
Due 11:59 pm
Thu 01/11
SEC 02 Loops + If Statements
worksheet: blank solution
in-class: gslides
Fri 01/12
LEC 05 Nested Loops (con't)
in-class: recording notes
Slides Loops
Week 3
Mon 01/15
HOLIDAY Martin Luther King Jr. Day
Wed 01/17
LEC 06 If, Lists, & Functions
Released
HW 2
Homework 2
Due 11:59 pm
Released
W 3
Check-in #2
Due 11:59 pm
Released
P 2
Coding Practice #2
Due 11:59 pm
Thu 01/18
SEC 03 Functions
worksheet: blank solution
in-class: gslides
Fri 01/19
LEC 07 Functions
Week 4
Mon 01/22
LEC 08 Functions (con't)
in-class: recording
Wed 01/24
LEC 09 Nested Lists
Released
HW 3
Homework 3
Due 11:59 pm
Thu 01/25
SEC 04 File IO + Lists
worksheet: blank solution
in-class: gslides
Fri 01/26
LEC 10 File I/O
in-class: recording
Slides File I/O
Released
W 4
Check-in #3
Due 11:59 pm
Released
P 3
Coding Practice #3
Due 11:59 pm
Week 5
Mon 01/29
LEC 11 Sets & Midterm Review
in-class:
Slides Sets
Wed 01/31
LEC 12 Midterm
Thu 02/01
SEC 05 Sets
worksheet: blank solution
in-class: gslides
Fri 02/02
LEC 13 Dictionaries
Released
HW 4
Homework 4
Due 11:59 pm
Week 6
Mon 02/05
LEC 14 HW4 & More Dictionaries
Wed 02/07
LEC 15 Sharing, mutability, and immutability
Thu 02/08
SEC 06 Dictionaries
worksheet: blank solution
in-class: gslides
Fri 02/09
LEC 16 [Cancelled] Sorting
Week 7
Mon 02/12
LEC 17 More Sorting
in-class: recording
Slides Sorting
Released
W 5
Check-in #4
Due 11:59 pm
Released
P 4
Coding Practice #4
Due 11:59 pm
Wed 02/14
LEC 18 Graphs
in-class: recording
Slides Graphs
Thu 02/15
SEC 07 Nested Dictionaries
worksheet: blank solution
in-class: gslides
Fri 02/16
LEC 19 Testing
in-class: recording
Slides Testing
Released
HW 5
Homework 5
Due 11:59 pm
Week 8
Mon 02/19
HOLIDAY Presidents' Day
Wed 02/21
LEC 20 Interpreting Exceptions, Debugging
Released
W 6
Check-in #5
Due 11:59 pm
Released
P 5
Coding Practice #5
Due 11:59 pm
Thu 02/22
SEC 08 Testing
worksheet: blank solution
in-class: gslides
Fri 02/23
LEC 21 Visualization & CSVDictReader
Week 9
Mon 02/26
LEC 22 Classes
in-class: recording
Slides Classes
Released
HW 6
Homework 6
Due 11:59 pm
Wed 02/28
LEC 23 Good Programming Practice
in-class: recording
Thu 02/29
SEC 09 Classes and Visualization
worksheet: blank solution
in-class: gslides
Fri 03/01
LEC 24 More Classes
Week 10
Mon 03/04
LEC 25 List Comprehensions
in-class:
Wed 03/06
LEC 26 More Python + What's Next?
Thu 03/07
SEC 10 Final Review & OH
worksheet: blank solution
in-class: gslides
Fri 03/08
LEC 27 Final Review
in-class:
Week 11
Mon 03/11
LEC 28 no class
Wed 03/13
LEC 29 no class
Fri 03/15
LEC 30 no class