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

Nov 27

Week 10 Announcements

Homework 6 Released

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 Friday, November 17.
  • Part 1 is due 11:59pm on Monday, November 20.
  • Part 2 is due 11:59pm on Monday, November 27.

This homework is intended to give you more practice writing Python code to create graphs using the networkx library.

Programming + Written Activity 9 Released

Both Programming Activity 8 and Written Activity 8 have been released and are due on 11:59pm on Wednesday, November 22. The Programming Activity is intended to give you practice on data visualization and plotting, while the Written Activity is intended to give you practice on debugging.

Extra Credit Released

An extra credit opportunity has been released on this Ed post! Submit a design for a CSE 160 hoodie by 11:59pm on Friday, November 24 in order to receive extra participation credit. The student who submits the final design choice for the hoodie will also receive a free hoodie!

See the full announcement on Ed!
Nov 20

Week 9 Announcements

Week 9 Resubmissions Open

Homework 4 Part 2 grades will be released this week! In the meantime, Week 9 resubmissions are now open. Fill out this Google Form as well as turning in the corresponding resubmission on Gradescope. Resubmissions for this week will be closed 11:59pm on Sunday, November 26.

Homework 5 Released

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 Friday, November 17.
  • Part 1 is due 11:59pm on Monday, November 20.
  • Part 2 is due 11:59pm on Monday, November 27.

This homework is intended to give you more practice writing Python code to create graphs using the networkx library.

Programming + Written Activity 8 Released

Both Programming Activity 8 and Written Activity 8 have been released and are due on 11:59pm on Wednesday, November 22. The Programming Activity is intended to give you practice on data visualization and plotting, while the Written Activity is intended to give you practice on debugging.

Extra Credit Released

An extra credit opportunity has been released on this Ed post! Submit a design for a CSE 160 hoodie by 11:59pm on Friday, November 24 in order to receive extra participation credit. The student who submits the final design choice for the hoodie will also receive a free hoodie!

See the full announcement on Ed!
Nov 13

Week 8 Announcements

Homework 5 Released

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 Friday, November 17. This is also the Written Activity for this week.
  • Part 1 is due 11:59pm on Monday, November 20.
  • Part 2 is due 11:59pm on Monday, November 27.

This homework is intended to give you more practice writing Python code to create graphs using the networkx library.

Programming + Written Activity 7 Released

Both Programming Activity 7 and Written Activity 7 have been released and are due on 11:59pm on Friday, November 17. The Programming Activity is intended to give you practice on debugging and mutability, while the Written Activity is the check-in survey which will assist you with Homework 5.

See the full announcement on Ed!

All Announcements

Calendar

Info

This is a rough sketch of the quarter and things are subject to change.

Topic Homeworks Programming Assignments Written Assignments
Week 1
Mon 09/25
HOLIDAY No Class
Tue 09/26
Wed 09/27
LEC 00 Intro to CSE 160 + Python
Released
HW0
Homework 0
Due 11:59 pm
Released
EX0
Survey + Ed Board Intro
Due 11:59 pm
Released
QUIZ 0
Written Activity 0
Due 11:59 pm
Thu 09/28
SEC 00 Intro to Python
worksheet: blank solution
in-class: slides
Fri 09/29
LEC 01 Intro to Python
in-class: slides
Week 2
Mon 10/02
LEC 02 Loops
in-class: slides
Released
HW1
Homework 1
Due 11:59 pm
Released
EX1
Programming Activity 1
Due 11:59 pm
Released
QUIZ 1
Written Activity 1
Due 11:59 pm
Tue 10/03
Wed 10/04
LEC 03 Nested Loops
in-class: slides
Thu 10/05
SEC 01 Loops + If Statements
worksheet: blank solution
in-class: slides
Fri 10/06
LEC 04 If Statements
in-class: slides
Week 3
Mon 10/09
LEC 05 Functions
in-class: slides
Released
HW2
Homework 2
Due 11:59 pm
Released
QUIZ 2
Written Activity 2
Due 11:59 pm
Tue 10/10
Wed 10/11
LEC 06 Functions (cont) + HW2
in-class: slides
Released
EX2
Programming Activity 2
Due 11:59 pm
Thu 10/12
SEC 02 Functions
worksheet: blank solution
in-class: slides
Fri 10/13
LEC 07 Functions (cont)
in-class: slides
Released
EX3
Programming Activity 3
Due 11:59 pm
Released
QUIZ 3
Written Activity 3
Due 11:59 pm
Week 4
Mon 10/16
LEC 08 Lists
in-class: slides
Released
HW3
Homework 3
Due 11:59 pm
Tue 10/17
Wed 10/18
LEC 09 Lists + HW3
in-class: slides
Thu 10/19
SEC 03 Lists
worksheet: blank solution
in-class: slides
Fri 10/20
LEC 10 File IO
in-class: slides
Released
EX4
Programming Activity 4
Due 11:59 pm
Released
QUIZ 4
Written Activity 4
Due 11:59 pm
Week 5
Mon 10/23
LEC 11 Dictionaries
in-class: slides
Tue 10/24
Wed 10/25
LEC 12 Dictionaries (cont)
in-class: slides
Thu 10/26
SEC 04 Dictionaries
worksheet: blank solution
in-class: slides
Fri 10/27
LEC 13 Sets + HW4
in-class: slides
Released
HW4
Homework 4
Due 11:59 pm
Released
EX5
Programming Activity 5
Due 11:59 pm
Released
QUIZ 5
Written Activity 5
Due 11:59 pm
Week 6
Mon 10/30
LEC 14 Midterm Review
in-class: slides
Tue 10/31
Wed 11/01
EXAM Midterm
Thu 11/02
SEC 05 Dictionaries (cont)
worksheet: blank solution
in-class: slides
Fri 11/03
LEC 16 Sets (cont)
in-class: slides
Released
EX6
Programming Activity 6
Due 11:59 pm
Released
QUIZ 6
Written Activity 6
Due 11:59 pm
Week 7
Mon 11/06
LEC 17 Sorting
in-class: slides
Tue 11/07
Wed 11/08
LEC 18 Graphs
in-class: slides
Thu 11/09
SEC 06 Sets + Sorting
worksheet: blank solution
in-class: slides
Released
EX7
Programming Activity 7
Due 11:59 pm
Released
QUIZ 7
Written Activity 7
Due 11:59 pm
Fri 11/10
HOLIDAY Veterans Day
Week 8
Mon 11/13
LEC 19 Sharing + Mutability
in-class: slides
Released
HW5
Homework 5
Due 11:59 pm
Tue 11/14
Wed 11/15
LEC 20 Testing
in-class: slides
Thu 11/16
SEC 07 Testing
worksheet: blank solution
in-class: slides
Fri 11/17
LEC 21 Debugging
in-class: slides
Released
EX8
Programming Activity 8
Due 11:59 pm
Released
QUIZ 8
Written Activity 8
Due 11:59 pm
Week 9
Mon 11/20
LEC 22 Data Visualization
in-class: slides
Tue 11/21
Wed 11/22
HOLIDAY No Class
Released
EX9
Programming Activity 9
Due 11:59 pm
Released
QUIZ 9
Written Activity 9
Due 11:59 pm
Thu 11/23
HOLIDAY Thanksgiving
Fri 11/24
HOLIDAY Native American Heritage Day
Week 10
Mon 11/27
LEC 23 Statistics
in-class: slides
Released
HW6
Homework 6
Due 11:59 pm
Tue 11/28
Wed 11/29
LEC 24 Classes
in-class: slides
Thu 11/30
SEC 08 Classes
worksheet: blank solution
in-class: slides
Fri 12/01
LEC 25 Classes (cont)
in-class: slides
Released
EX10
Programming Activity 10
Due 11:59 pm
Released
QUIZ 10
Written Activity 10
Due 11:59 pm
Week 11
Mon 12/04
LEC 26 Good Programming Practice
in-class: slides
Tue 12/05
Wed 12/06
LEC 27 List Comprehensions
in-class: slides
Thu 12/07
SEC 09 Final Exam Review
worksheet: blank solution
in-class: slides
Fri 12/08
LEC 28 A bit more Python + what next?
Finals Week
Mon 12/11
HOLIDAY No Class
Wed 12/13
HOLIDAY No Class
Thu 12/14
EXAM Final Exam