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

Upcoming Reminders & Due Dates

Friday (08/02)

  • DUE: HW5 Part 2 (11:59 pm)

  • DUE: Coding Practice 6 (11:59 pm)

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
in-class:
Slides Lists
P 3
Check-in #3
04 Jul, 11:59 pm
Thu 07/04
SEC 03 Functions
worksheet: blank solution
in-class: gslides
Fri 07/05
LEC 08 File IO
in-class:
Slides File I/O
Released 05 Jul
HW 3
Homework 3
12 Jul, 11:59 pm
Week 4
Mon 07/08
LEC 09 Dictionaries
in-class:
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
worksheet: blank solution
in-class: gslides
Fri 07/12
LEC 11 Midterm Review
in-class:
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
in-class:
Slides Sets
P 5
Check-in #5
18 Jul, 11:59 pm
Thu 07/18
SEC 05 Sets & Nested Structures
worksheet: blank solution
in-class: gslides
Fri 07/19
LEC 14 Tuples and Sorting
in-class:
Slides Sorting
Released 19 Jul
HW 5
Homework 4 - Part 2
24 Jul, 11:59 pm
Week 6
Mon 07/22
LEC 15 Graphs and testing
in-class:
Released 22 Jul
W 6
Coding Practice #5
26 Jul, 11:59 pm
Wed 07/24
LEC 16 Testing + Debugging
in-class:
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 Tuples, Itemgetter, and Sorting
worksheet: blank solution
in-class: gslides
Fri 07/26
LEC 17 Sharing + Mutability
in-class:
Week 7
Mon 07/29
LEC 18 Visualization
in-class:
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
in-class:
Slides Practice
P 7
Check-in #7
01 Aug, 11:59 pm
Thu 08/01
SEC 07 Testing
worksheet: blank solution
in-class: gslides
Fri 08/02
LEC 20 Classes
in-class:
Slides Classes
Released 02 Aug
HW 8
Homework 6
12 Aug, 11:59 pm
Week 8
Mon 08/05
LEC 21 Classes (con't)
in-class:
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
worksheet: blank solution
in-class: gslides
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