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.

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

Jun 17

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 Practice Check-In
Week 1
Mon 06/17
LEC 01 Intro to CSE 160 and Python
Released 17 Jun
HW 0
Homework 0
21 Jun, 11:59 pm
Released 17 Jun
W 1
Welcome! About you Survey.
21 Jun, 11:59 pm
Wed 06/19
HOLIDAY Juneteenth
P 1
Check-in #1
20 Jun, 11:59 pm
Thu 06/20
SEC 01 Intro to Python
in-class: gslides
Fri 06/21
LEC 02 Intro to Python/Loops
in-class:
Slides Loops
Released 21 Jun
HW 1
Homework 1
28 Jun, 11:59 pm
Week 2
Mon 06/24
LEC 03 Nested Loops
in-class:
Slides Loops
Released 24 Jun
W 2
Coding Practice #1
28 Jun, 11:59 pm
Wed 06/26
LEC 04 If Statements and Functions
P 2
Check-in #2
27 Jun, 11:59 pm
Thu 06/27
SEC 02 Loops + If Statements
worksheet: blank solution
in-class: gslides
Fri 06/28
LEC 05 Function (cont.d)
in-class:
Released 28 Jun
HW 2
Homework 2
05 Jul, 11:59 pm
Week 3
Mon 07/01
LEC 06 Lists
in-class:
Slides Lists
Released 01 Jul
W 3
Coding Practice #2
05 Jul, 11:59 pm
Wed 07/03
LEC 07 Nested Lists, HW3
P 3
Check-in #3
04 Jul, 11:59 pm
Thu 07/04
SEC 03 Functions
Fri 07/05
LEC 08 File IO
Released 05 Jul
HW 3
Homework 3
12 Jul, 11:59 pm
Week 4
Mon 07/08
LEC 09 Dictionaries
Released 08 Jul
W 4
Coding Practice #3
12 Jul, 11:59 pm
Wed 07/10
LEC 10 Dictionaries (cont.d)
P 4
Check-in #4
11 Jul, 11:59 pm
Thu 07/11
SEC 04 Midterm + Dictionaries
Fri 07/12
LEC 11 Midterm Review
Released 12 Jul
HW 4
Homework 4 - Part 1
19 Jul, 11:59 pm
Week 5
Mon 07/15
EXAM Midterm
Released 15 Jul
W 5
Coding Practice #4
19 Jul, 11:59 pm
Wed 07/17
LEC 13 Sets and HW4
P 5
Check-in #5
18 Jul, 11:59 pm
Thu 07/18
SEC 05 Nested Structures
Fri 07/19
LEC 14 Sets and Tuples
Released 19 Jul
HW 5
Homework 4 - Part 2
24 Jul, 11:59 pm
Week 6
Mon 07/22
LEC 15 Sorting, graphs, and testing
Released 22 Jul
W 6
Coding Practice #5
26 Jul, 11:59 pm
Wed 07/24
LEC 16 Testing + Debugging
Released 24 Jul
HW 6
Homework 5 - Part 1
29 Jul, 11:59 pm
P 6
Check-in #6
25 Jul, 11:59 pm
Thu 07/25
SEC 06 Sets & Sorting
Fri 07/26
LEC 17 Sharing + Mutability
Week 7
Mon 07/29
LEC 18 Visualization
Released 29 Jul
HW 7
Homework 5 - Part 2
02 Aug, 11:59 pm
Released 29 Jul
W 7
Coding Practice #6
02 Aug, 11:59 pm
Wed 07/31
LEC 19 Good Programming Practice
P 7
Check-in #7
01 Aug, 11:59 pm
Thu 08/01
SEC 07 Testing
Fri 08/02
LEC 20 Classes
Released 02 Aug
HW 8
Homework 6
12 Aug, 11:59 pm
Week 8
Mon 08/05
LEC 21 Classes (con't)
Released 05 Aug
W 8
Coding Practice #7
09 Aug, 11:59 pm
Wed 08/07
LEC 22 CSVDictReeader + List Comprehensions
P 8
Check-in #8
08 Aug, 11:59 pm
Thu 08/08
SEC 08 Classes and Visualization
Fri 08/09
LEC 23 List Comprehensions (cont.d)
Week 9
Mon 08/12
LEC 24 Final Review
Wed 08/14
EXAM Final Exam
P 9
Check-in #9
15 Aug, 11:59 pm
Thu 08/15
SEC 09 TA Choice
Fri 08/16
LEC 26 More Python + What's Next