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.
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¶
May 19 Exam Dates
This quarter’s final exam will be in person, pen/pencil & paper. It will be held in the same room as lecture (ECE 105) on Wednesday, June 5, 2024, from 8:30am - 10:20am.
You can read additional details on the finals page.
Apr 12 Homework Resubmissions
Resubmissions Open
- See this page on the website for general instructions on resubmissions.
- You *must* submit both the Google Form linked in the week’s Ed post AND re-upload the assignment to Gradescope.
- Only one resubmission per week is allowed, and you don’t need to have submitted the assignment previously in order to use a resubmission.
- You can upload to Gradescope as many times as you need; we won’t grade resubmissions until after the window closes.
Apr 05 Exam Dates
This quarter’s exams are in person, pen/pencil & paper. They will be held in the same room as lecture (ECE 105).
- The Midterm exam will be during normal class time on Wednesday, April 24, 2024, from 9:30am - 10:20am.
- The Final exam will be on Wednesday, June 5, 2024, from 8:30am - 10:20am.
Further details will be posted and announced as we get closer to those dates.
Upcoming Reminders & Due Dates¶
Friday (05/31)
- DUE: Resubmissions
Monday (06/03)
- DUE: HW6 (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 03/25 | LEC 01 Intro to CSE 160 + Intro to Python | ||||
Released 25 Mar HW 0 29 Mar, 11:59 pm Homework 0 | Released 25 Mar W 1 28 Mar, 11:59 pm Welcome! About you Survey. | ||||
Wed 03/27 | LEC 02 Intro to Python | ||||
P 1 28 Mar, end of section Check-in #1 | |||||
Thu 03/28 | SEC 01 Intro to Python in-class: gslides | ||||
Fri 03/29 | LEC 03 Lists (briefly) & Loops | ||||
Released 29 Mar HW 1 05 Apr, 11:59 pm Homework 1 | Released 29 Mar W 2 08 Apr, 11:59 pm Coding Practice #1 | ||||
Week 2 | |||||
Mon 04/01 | LEC 04 Nested Loops | ||||
Wed 04/03 | LEC 05 If Statements | ||||
P 2 04 Apr, end of section Check-in #2 | |||||
Thu 04/04 | SEC 02 Loops + If Statements | ||||
Fri 04/05 | LEC 06 If Statements (con't) | ||||
Released 05 Apr HW 2 12 Apr, 11:59 pm Homework 2 | |||||
Week 3 | |||||
Mon 04/08 | LEC 07 Functions | ||||
Released 08 Apr W 3 15 Apr, 11:59 pm Coding Practice #2 | |||||
Wed 04/10 | LEC 08 Functions (con't) | ||||
P 3 11 Apr, end of section Check-in #3 | |||||
Thu 04/11 | SEC 03 Functions | ||||
Fri 04/12 | LEC 09 Lists | ||||
Released 12 Apr HW 3 22 Apr, 11:59 pm Homework 3 | |||||
Week 4 | |||||
Mon 04/15 | LEC 10 Nested Lists, HW3 | ||||
Released 15 Apr W 4 22 Apr, 11:59 pm Coding Practice #3 | |||||
Wed 04/17 | LEC 11 File I/O | ||||
P 4 18 Apr, end of section Check-in #4 | |||||
Thu 04/18 | SEC 04 File IO + Lists | ||||
Fri 04/19 | LEC 12 Dictionaries | ||||
Week 5 | |||||
Mon 04/22 | LEC 13 Midterm Review in-class: recording | ||||
Released 22 Apr HW 4 03 May, 11:59 pm Homework 4 - Part 1 | Released 22 Apr W 5 29 Apr, 11:59 pm Coding Practice #4 | ||||
Wed 04/24 | EXAM Midterm | ||||
P 5 25 Apr, end of section Check-in #5 | |||||
Thu 04/25 | SEC 05 Dictionaries | ||||
Fri 04/26 | LEC 15 HW4: floats, modules, nested dictionaries | ||||
Week 6 | |||||
Mon 04/29 | LEC 16 Sets & Tuples | ||||
Released 29 Apr W 6 06 May, 11:59 pm Coding Practice #5 | |||||
Wed 05/01 | LEC 17 [Im]mutability & Sharing | ||||
P 6 02 May, end of section Check-in #6 | |||||
Thu 05/02 | SEC 06 Sets & Nested Dictionaries | ||||
Fri 05/03 | LEC 18 Testing | ||||
Released 03 May HW 5 10 May, 11:59 pm Homework 4 - Part 2 | |||||
Week 7 | |||||
Mon 05/06 | LEC 19 Debugging | ||||
Released 06 May W 7 13 May, 11:59 pm Coding Practice #6 | |||||
Wed 05/08 | LEC 20 Debugging (con't) & Sorting | ||||
P 7 09 May, end of section Check-in #7 | |||||
Thu 05/09 | SEC 07 Sorting | ||||
Fri 05/10 | LEC 21 Sorting (con't) | ||||
Released 10 May HW 6 17 May, 11:59 pm Homework 5 - Part 1 | |||||
Week 8 | |||||
Mon 05/13 | LEC 22 Graphs | ||||
Released 13 May W 8 20 May, 11:59 pm Coding Practice #7 | |||||
Wed 05/15 | LEC 23 Good Programming Practice | ||||
P 8 16 May, end of section Check-in #8 | |||||
Thu 05/16 | SEC 08 Testing | ||||
Fri 05/17 | LEC 24 Visualization in-class: slides | ||||
Released 17 May HW 7 24 May, 11:59 pm Homework 5 - Part 2 | |||||
Week 9 | |||||
Mon 05/20 | LEC 25 List Comprehensions in-class: slides | ||||
Released 20 May W 9 29 May, 11:59 pm Coding Practice #8 | |||||
Wed 05/22 | LEC 26 Classes in-class: slides | ||||
P 9 23 May, end of section Check-in #9 | |||||
Thu 05/23 | SEC 09 Classes and Visualization | ||||
Fri 05/24 | LEC 27 Classes (con't) in-class: slides | ||||
Released 24 May HW 8 03 Jun, 11:59 pm Homework 6 | |||||
Week 10 | |||||
Mon 05/27 | HOLIDAY Memorial Day | ||||
Wed 05/29 | LEC 28 Bonus Python & What's Next? in-class: slides | ||||
Thu 05/30 | SEC 10 Final Review & OH | ||||
Fri 05/31 | LEC 29 Final Review | ||||
Week 11 | |||||
Mon 06/03 | no class | ||||
Wed 06/05 | EXAM Final Exam (8:30a - 10:20a) | ||||
Fri 06/07 | no class | ||||