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