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 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@uw.edu.
Announcements¶
Feb 24 Homework 6 Release
Our last homework, Homework 6, has been released and is intended to give you practice analyzing data in the context of a real life scenario: election fraud.
HW6 is due on Friday, 10 March 2023 by 11:59pm.
See the full announcement on Ed! Feb 11 Homework 5 Release
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 Tuesday, Feb 21.
- Part one is due 11:59pm on Friday, Feb 24.
- Part two is due 11:59pm on Friday, March 3
The best way to get help for the projects is through Ed or Office Hours! Please do not hesitate to ask if you’re stuck on something, because chances are somebody else will be too, and now they can be helped by your thread!
Feb 03 Homework 4 Release
Our next homework, Homework 4, has been released. This homework has been broken into two parts. Part one is due 11:59pm on Monday, Feb 13. Part two is due 11:59pm on Friday, Feb 17.
The best way to get help for the projects is through Ed or Office Hours! Please do not hesitate to ask if you’re stuck on something, because chances are somebody else will be too, and now they can be helped by your thread!
See the full announcement on Ed!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 | Exercises | ||
---|---|---|---|---|
Week 1 | ||||
Mon 01/02 | HOLIDAY New Year's Day | |||
Wed 01/04 | LEC 00 Intro to CSE 160 + Intro to Python | |||
Released HW0 Due 11:59 pm Homework 0 | Released EX0 Due 11:59 pm Survey + Ed Board Intro | |||
Thu 01/05 | SEC 00 Intro to Python | |||
Fri 01/06 | LEC 01 Intro to Python | |||
Week 2 | ||||
Mon 01/09 | LEC 02 Loops | |||
Wed 01/11 | LEC 03 Nested Loops | |||
Released HW1 Due 11:59 pm Homework 1 | Released EX1 Due 11:59 pm Practice Problems Check-In #1 | |||
Thu 01/12 | SEC 01 Loops + If Statements | |||
Fri 01/13 | LEC 04 If statements | |||
Week 3 | ||||
Mon 01/16 | HOLIDAY Martin Luther King Jr. Day | |||
Wed 01/18 | LEC 05 Functions | |||
Released HW2 Due 11:59 pm Homework 2 | ||||
Thu 01/19 | SEC 02 Functions | |||
Fri 01/20 | LEC 06 Functions (cont) | |||
Released EX2 Due 11:59 pm Practice Problems Check-In #2 | ||||
Week 4 | ||||
Mon 01/23 | LEC 07 Lists | |||
Released EX3 Due 11:59 pm Practice Problems Check-In #3 | ||||
Wed 01/25 | LEC 08 Lists (cont) | |||
Thu 01/26 | SEC 03 File IO + Lists | |||
Fri 01/27 | LEC 09 File I/O | |||
Released HW3 Due 11:59 pm Homework 3 | ||||
Week 5 | ||||
Mon 01/30 | LEC 10 Dictionaries | |||
Wed 02/01 | LEC 11 Midterm in-class: Midterm | |||
Thu 02/02 | SEC 04 Dictionaries | |||
Fri 02/03 | LEC 12 Dictionaries and Sets | |||
Week 6 | ||||
Mon 02/06 | LEC 13 Sets | |||
Released HW4 Due 11:59 pm Homework 4 | ||||
Wed 02/08 | LEC 14 Graphs & Sorting | |||
Thu 02/09 | SEC 05 Sets & Sorting | |||
Fri 02/10 | LEC 15 Graphing (cont) & Testing | |||
Week 7 | ||||
Mon 02/13 | LEC 16 Testing (cont) | |||
Wed 02/15 | LEC 17 Debugging | |||
Thu 02/16 | SEC 06 Testing | |||
Fri 02/17 | LEC 18 Exceptions | |||
Released HW5 Due 11:59 pm Homework 5 | ||||
Week 8 | ||||
Mon 02/20 | HOLIDAY Presidents' Day | |||
Wed 02/22 | LEC 19 Sharing, mutability, and immutability | |||
Thu 02/23 | SEC 07 Sharing, Mutability, Statistics, Graph | |||
Fri 02/24 | LEC 20 Visualization & Statistics | |||
Week 9 | ||||
Mon 02/27 | LEC 21 Good Programming Practice | |||
Wed 03/01 | LEC 22 Classes | |||
Thu 03/02 | SEC 08 Classes and Visualization | |||
Fri 03/03 | LEC 23 Classes (cont) | |||
Released HW6 Due 11:59 pm Homework 6 | ||||
Week 10 | ||||
Mon 03/06 | LEC 24 List Comprehensions | |||
Wed 03/08 | LEC 25 More Python + What's Next? | |||
Thu 03/09 | SEC 09 Final Review & OH | |||
Fri 03/10 | LEC 26 Final Review | |||
Week 11 | ||||
Mon 03/13 | LEC 27 no class | |||
Wed 03/15 | LEC 28 no class | |||
Thu 03/16 | EXAM Final Exam Note: 2:30pm - 4:20pm in CSE2 G20 | |||
Fri 03/17 | LEC 29 no class | |||