Course Information¶
Instructor: Arpan Kapoor (akap1204@uw.edu), Office: Allen 218 (CSE1)
Registration Questions: CSE Advisors (ugrad
- Class Sessions:
- Lecture: MWF 1:10 - 2:10 PM (HRC 155)
- Section AA: Th 12:00 - 1:00 PM (BLD 392)
- Section AB: Th 1:10 - 2:10 PM (BNS 117)
- Section AC: Th 2:20 - 3:20 PM (AND 301)
Course Goals¶
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. In this course, students will learn:
More advanced programming concepts than in CSE122 or CSE160, such as writing bigger programs with multiple classes, using more complex data structures, and analyzing code complexity and data management.
How to work with different types of data: tabular, text, images, geo-spatial.
Ecosystem of data science tools including Jupyter Notebooks and various data science libraries such as pandas, seaborn, and scikit-learn.
Foundations of data literacy and technical communication for critical and conscientious data science.
This course is designed to support students who have completed either:
- CSE 160: Data Programming
- Know control structures, data structures, file processing, and problem solving in Python. Your first weeks will review these concepts.
- CSE 122: Introduction to Computer Programming II
- Know control structures, data structures, file processing, and problem solving in Java. Your first weeks will focus on learning these concepts in Python.
Software¶
All of this course’s materials will be run on JupyterHub, which is free for students enrolled in CSE 163 this quarter. You can find the link to JupyterHub at the top of the course website. Please note that each time you open JupyterHub, it is normal for it to take a few minutes to load as the server starts up.
We will use Python3, which already comes set up with your instance of JupyterHub, along with all other dependencies needed for this course. You may use another IDE (Integrated Development Environment), such as VSCode, but the course staff may not necessarily be able to help you with any set up related questions or troubleshooting you may have.
Lecture¶
Lecture takes place three days a week, and primarily serves to cover course content, and complete in class programming demos and activities. You can expect to It is important to stay on top of lecture content, as it may be difficult to complete class assignments if you fall behind schedule. Please don’t hesitate to reach out to the course staff if you feel the pace of lecture is too fast or slow for you.
Attendance¶
Lecture attendance is optional but highly encouraged. Lectures will be recorded and posted to Canvas shortly after the session ends. Come with an open mind, ready to learn and to ask questions!
Quiz Section¶
Quiz section takes place once a week, and primarily serves to recap lecture content and to practice the skills you’ve learned in a given week. Quiz sections are 60 minutes long, and will be led by two TAs. You can expect to review the week’s content and complete any practice work for the majority of section, and then complete a short check-in assignment during the last 5-10 minutes.
Attendance¶
Quiz section attendance is also optional but highly encouraged, however, these sections will not be recorded. There is a graded component to quiz section through the check-ins, which cannot be completed without participating in section.
It is possible to attend a different section than the one you are registered for. You will need to ask permission from the TA of the quiz section you want to attend, since they might be planning for a fixed number of students or might not have capacity to safely seat all students in their classroom. You can find the TA assignments on our staff page.
Grades¶
Types of Assignments¶
Homework Assignments (Weekly/Biweekly, 5 Total): Longer programming assignments that will assess your mastery of the skills and concepts covered in class that week. While homework assignments will emphasize content covered in the week preceding the assessment’s release, they will often integrate content from earlier in the quarter as well. Homeworks will be due on Fridays and must be completed independently, though you may discuss your approach with classmates (more on this below). These assignments are completed on JupyterHub and submitted on Gradescope.
Final Project (Parts due throughout the quarter): The final project is your opportunity to create something new that you want to share with the rest of the world. The nature of your project is entirely up to you, and we will provide additional guidelines to ensure that your project is sufficiently complex. All that we ask is that you build something of interest to you, that you solve an actual problem, that you impact campus, or that you change the world! Strive to create something that outlives this course! More information will be made available as the time approaches. Note that there will be a presentation component, which will be done in the final section of the quarter. These parts will be completed on JupyterHub and submitted on Gradescope.
Final Exam (At the end of the quarter): The final exam is a summative assessment and reflection of the core concepts learned throughout the course in order to get the best sense of your learning without outside assistance. We do not intend for this to be a stressful experience, however we understand that traditional exams can cause anxiety. The questions on the exam will be derived from the problems you will complete in the homeworks, programming practices, and section. There will also be plenty of practice resources released in the preceding weeks to help you prepare. The final exam will be in person on the last day of class.
Programming Practices (Weekly, 8 Total): Shorter programming assignments that assess your understanding of the previous weeks concepts. Usually around 2-3 small programming questions each covering a single lecture concept from the past lectures. These assignments shouldn’t take you too long. If you feel like you are struggling on the programming practices, please come see us for help! These assignments are completed on JupyterHub and submitted on Gradescope.
Section Check-ins (Weekly, 8 Total): Section check-ins consist of a few guided conceptual and coding problems to be worked on during or after the weekly quiz section. Section check-ins will be released on Thursdays before section and will be due the following Friday at 11:59pm. These help us track section participation and attendance. The lowest section assignment score will be dropped. These assignments are completed on Gradescope.
Lesson Reviews (Optional Extra Credit, 3 per Week, 24 Total): Reading and reflecting on each lecture’s content and answering a few guided conceptual/programming questions assessing the covered topics. Intended to be completed after a given lecture. You may choose to use these assignments however you’d like to benefit you most. They are meant to help you engage deeper with the lecture content and to reflect on the concepts you learn each day. Receiving 80% of the available points for lesson reviews will grant you a 0.1 point increase in your final GPA. These assignments are completed on Gradescope.
Grading Scale¶
Your percentage grade in this course will be weighted using the following categories:
| Category | Weight |
|---|---|
| Homework Assignments (5) | 30% |
| Final Project | 20% |
| Final Exam | 20% |
| Programming Practices (8) | 20% |
| Section Check-ins (8) | 10% |
| Total | 100% |
Resubmitting Work¶
There will be one resubmission cycle each week starting after the first homework assignment’s grades are released. Information regarding the specific start and due dates of each resubmission cycle will be posted as an annoucement on Ed. You may resubmit any one homework assignment each week for a complete regrade, allowing you to correct any errors made in your initial submission. You may resubmit the same assignment multiple times, however keep in mind that you can only resubmit one assignment each week. Your resubmission opportunities are limited, so plan ahead!
Late work¶
Late work is generally not accepted, however you may make use of our resubmission policy outlined above for homework assignments. If you are unable to complete an initial submission for a homework assignment, you may use the next week’s resubmission cycle to submit your initial attempt. Late work for all other assignment types will not be accepted unless you have previously established accomodations or extenuating circumstances.
Course Grades¶
There is no curve in CSE 163. Final grades will be assigned according to the percentages given above. Additionally, we will make the following minimum guarantees for final GPA. If you earn at least the percentage specified on the left, your course grade will be at least the grade listed on the right. These are minimum guarantees: your course grade could be (and in the past, tends to be) higher than what this table suggests.
| Percent Earned | Course Grade |
|---|---|
| 95 | 3.5 |
| 85 | 3.0 |
| 75 | 2.5 |
| 65 | 2.0 |
| 50 | 0.7 |
If you have a specific goal in your course grade, please feel free to reach out to the course staff. We can work together to talk about what you can expect in terms of meeting that goal.
Getting Help from Staff & Peers¶
Having questions or getting stuck on something is entirely expected in the learning process. If you find something challenging with your studies, that is a sign you are learning! Learning is not something that you need to do alone though! In fact, connecting with your peers or asking a member of the course staff for help can add extreme depth to your knowledge.
Synchronous Help (Office Hours): One place to go to get help is our office hours hosted throughout the week. TAs staff office hours for many hours a day to provide you the help you need when you need it! This is a great place to go if you want to review a particular course concept, work on a practice problem with the help of a TA or your peers, or get help on one of the homework assignments if you are running into difficulties.
Asynchronous Help (Ed Discussion): We have a course discussion board that will serve as a lively place for discussion and a way to make sure you can get help quickly. The message board is set up so that all of the course staff can help you, which will make it more likely for you to receive a quicker response than by emailing individual course staff!
Academic Honesty¶
Education is about shaping your identity as much as it is about learning things. In school, the consequences of making mistakes are relatively small. But the habits you form now—repeated over days, weeks, months, or years—determine who you will be in the future. Now is the best time to practice honest habits.
We ask that you do not claim to be responsible for work that is not yours. When you receive substantial help from someone else, include a citation. Don’t post your solutions publicly. Most importantly, don’t deprive yourself or others of the learning opportunities that we’ve created in this course. Allegations of misconduct by students may be referred to the appropriate campus office for investigation and resolution. Academic honesty reflects the trust (or the lack thereof) between students and teachers. We do our best to design the course in ways that ensure trust, but we know our systems are not perfect. If you submit work in violation of these policies but bring it to the attention of the instructor within 72 hours, you may resubmit your own work without further consequence. Rather than blame students, we want to fix or replace broken systems that compel students to lose trust.
- Encouraged
- Discussing examples shown in class. These examples are learning materials.
- Working with a TA to work on a task and resolve a particular problem.
- Talking with other students without sharing code or details to reproduce code.
- Permitted with caution
- Working alongside one or more other people on a homework or project.
- Sharing or generating small snippets of code not specific to any assignment part.
- Prohibited
- Obtaining solutions to any assignment part in any form for any reason.
- Giving, receiving, obtaining, or generating a walkthrough to an assignment.
- Posting solutions to an assignment in a public place even after the course is over.
AI Usage & External Resources¶
While the use of AI is not prohibited, it should be used in an appropriate way that supports your learning. All assignments (with the exception of the final project) are designed to be completed with what has been taught in class. Keep your homework within the scope of what has been taught. Any assignment found to contain out of scope content will recieve a score of 0, and will need to be resubmitted. If you are unsure if something has been covered in class or not, you can search for it using the search bar at the top of the course website. Repeated use of out of scope content is considered academic misconduct.
With the advancements in generative AI in programming, it is important to develop healthy habits when utilizing them to supplement your learning. Help from generative AI or sources outside the course may be used only for clarifying concepts, supporting debugging, or explaining problems at a high level. Writeups should all be your own words and ideas; you will not be penalized for grammar or mechanics as long as we understand what you are saying and your arguments are reasonable.
A note about the final project: since this assignment is an open-ended research project on a topic of your choice, we will not strictly be enforcing the same out of scope policy. You are encouraged to learn about and utilize external libraries on the final project that we did not cover in class. This does not mean that AI should be used any differently on this assignment compared to the others; it still may only be used to clarify concepts, support planning, and debugging. If we suspect that AI has been used to generative significant portions of your final project code, we will ask you to sit down with a member of the course staff and explain the purpose and reasoning behind your code.
Inclusion & Support¶
The University of Washington acknowledges the Coast Salish peoples of this land, the land which touches the shared waters of all tribes and bands within the Duwamish, Puyallup, Suquamish, Tulalip and Muckleshoot nations. Among the traditions of the Coast Salish peoples is a value for the connectedness between all living things and a recognition of the unique ways that each of us comes to know things.
Course Climate¶
You should expect and demand to be treated by your classmates and teachers with respect. If any incident occurs that challenges this commitment to a supportive, diverse, inclusive, and equitable environment, please let the instructor know so the issue can be addressed. Should you feel uncomfortable bringing up an issue with the instructor directly, meet our advisors during quick questions or contact the College of Engineering.
We recognize everyone has unique circumstances. Do not hesitate to contact the instructor by private Ed post or email. The sooner we are made aware of your circumstances, the more we can help. Extenuating circumstances include work-school balance, familial responsibilities, religious observations, military duties, unexpected travel, or anything else beyond your control that may negatively impact your performance in the class.
Disabilities¶
It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law. If you have already established accommodations with Disability Resources for Students (DRS), activate your accommodations via myDRS so we can discuss how they will be implemented in this course. If you have a temporary health condition or permanent disability that requires accommodations, contact DRS directly to set up an Access Plan.
Religious Accomodations¶
Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.
Additional Student Resources¶
UW Campus Food Pantry: Provides UW students, staff, and faculty with nonperishable groceries and select fresh produce for no cost.
Counseling Center: Resources for students seeking counseling.
Let’s Talk: Free, confidential, informal drop-in counseling service at UW.
Leadership Without Borders: Resources for undocumented students.
International Student Services Office: Visa and immigration advising for international students on F or J student visas.
Safe Campus: How to report violence or threats to the safety of yourself or others.
Office of the Title IX Coordinator: Resources and reporting against discrimination based on sex, sexual orientation, gender, gender expression, pregnancy and related conditions, and LGBTQ identity.
Student Legal Services: Resources for legal issues, advice, and education; includes immigration, housing, family law, bankruptcy, civil rights, disability, domestic violence, and employment/unemployment legal services.
wǝɫǝbʔaltxʷ – Intellectual House: Community, support, and resources for American Indian and Alaska Native students, faculty, and staff; as well as others from various cultures and communities.
Prayer and Meditation Spaces: A list of spaces on campus for prayer, meditation, or reflection