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:
- 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.
- You will learn Python, a popular and general-purpose programming languages that includes libraries for data manipulation, scientific computing, and visualization.
- 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 03/31 | LEC 01 Intro to CSE 160 and Python | ||||
31 Mar HW 0 04 Apr, 11:59 pm Homework 0 | P 1 02 Apr, 11:59 pm Check-in #0 About you Survey | ||||
Wed 04/02 | LEC 02 Variables & Expressions | ||||
P 2 03 Apr, 11:59 pm Written Check-in #1 | |||||
Thu 04/03 | SEC 01 Intro to Python in-class: gslides | ||||
Fri 04/04 | LEC 03 Types & Programs | ||||
04 Apr HW 1 14 Apr, 11:59 pm Homework 1 | |||||
Week 2 | |||||
Mon 04/07 | LEC 04 If Statements | ||||
Wed 04/09 | LEC 05 For Loops, Range | ||||
P 3 10 Apr, 11:59 pm Written Check-in #2 | |||||
Thu 04/10 | SEC 02 Loops + If Statements | ||||
Fri 04/11 | LEC 06 Nested For Loops | ||||
11 Apr W 1 17 Apr, 11:59 pm Practice Quiz #1 | |||||
Week 3 | |||||
Mon 04/14 | LEC 07 Lists | ||||
14 Apr HW 2 25 Apr, 11:59 pm Homework 2 | |||||
Wed 04/16 | LEC 08 Functions | ||||
P 4 17 Apr, 11:59 pm Written Check-in #3 | |||||
Thu 04/17 | SEC 03 Functions | ||||
Fri 04/18 | EXAM Quiz | ||||
Week 4 | |||||
Mon 04/21 | LEC 10 Terminal & DNA | ||||
Wed 04/23 | LEC 11 Functions (cont'd) | ||||
Thu 04/24 | SEC 04 Lists | ||||
Fri 04/25 | LEC 12 Nested Lists | ||||
25 Apr HW 3 09 May, 11:59 pm Homework 3 | |||||
Week 5 | |||||
Mon 04/28 | LEC 13 File I/O | ||||
Wed 04/30 | LEC 14 Sets & Tuples | ||||
Thu 05/01 | SEC 05 Sets, Tuples, File I/O | ||||
Fri 05/02 | EXAM Quiz | ||||
Week 6 | |||||
Mon 05/05 | LEC 16 Pixel Grids | ||||
Wed 05/07 | LEC 17 Dictionaries | ||||
Thu 05/08 | SEC 06 Dictionaries | ||||
Fri 05/09 | LEC 18 Dictionaries | ||||
09 May HW 4 23 May, 11:59 pm Homework 4 - Part 1 | |||||
Week 7 | |||||
Mon 05/12 | LEC 19 Nested Structures (lists as dict values) | ||||
Wed 05/14 | LEC 20 Nested Structures (dicts as dict values) | ||||
Thu 05/15 | SEC 07 Nested Structures | ||||
Fri 05/16 | EXAM Quiz | ||||
Week 8 | |||||
Mon 05/19 | LEC 22 Centroids & Clustering | ||||
Wed 05/21 | LEC 23 Nested Structures (lists of dicts, aka CSV DictReader) | ||||
Thu 05/22 | SEC 08 CSVDictReader | ||||
Fri 05/23 | LEC 24 Visualization | ||||
23 May HW 5 30 May, 11:59 pm Homework 4 - Part 2 | |||||
Week 9 | |||||
Mon 05/26 | HOLIDAY Holiday | ||||
Wed 05/28 | LEC 25 Classes | ||||
Thu 05/29 | SEC 09 Classes | ||||
Fri 05/30 | LEC 26 Classes (cont'd) | ||||
30 May HW 6 06 Jun, 11:59 pm Homework 5 | |||||
Week 10 | |||||
Mon 06/02 | LEC 27 Real-world Data | ||||
Wed 06/04 | LEC 28 Bonus Python (More Classes) | ||||
Thu 06/05 | SEC 10 Final Review | ||||
Fri 06/06 | LEC 29 Bonus Python (Libraries) | ||||
Week 11 | |||||
Mon 06/09 | [Finals Week No Class] | ||||
Wed 06/11 | [Finals Week No Class] | ||||
Thu 06/12 | EXAM Final Quiz (2:30 - 4:20 pm) | ||||