Published using Google Docs
CSE 340 Fall 2024 - Syllabus
Updated automatically every 5 minutes

Syllabus

CSE 340 – Fall 2024

About This Course

Essential Links:

Teaching Team

Instructor: Dr. R. Benjamin Shapiro

Calling him Ben is fine

TA: Dhruv Bansal (he/him)

TA: Xiyuan Shen (he/him)

TA: Harry Fung (he/him)

TA: Joann Nguyen (she/her)

Lecture and Section Schedule and Locations

When

Where

Lecture

Tuesday & Thursday

10:00 – 11:20 AM

CSE2 G10

Section

Friday

12:30 – 1:20 PM

MGH 241

Participation in lecture and section are mandatory

Office Hours

Who

When

Where

Prof. Shapiro

Tuesdays 9am

CSE 660

By appointment

See Communications

Harry

Mon 11:30-12:30pm

Allen Center 220

Harry

Wed 12-1pm

Allen Center 220

Dhruv

Tues 12:30 - 1:30pm

Gates 121

Dhruv

Thur 1:30 - 2:30 pm

Gates 121

Joann

Mon 9:30 - 10:30 am

Allen 5th floor breakout

Joann

Mon 8:00 - 9:00 am

Zoom

Xiyuan

Mon 10:30 - 11:30 am

CSE 430

Xiyuan

Wed 10:30 - 11:30 am

CSE 430

Learning Objectives

By the end of this course, students will be able to:

Course Policies

Grading

% of Grade

Component

20%

In-lecture/-section participation

45%

Homework assignments

10%

Peer audit thoroughness and timeliness

25%

Final Project

All deadlines for this class are at 9:59 PM (i.e. “by 10 PM”). We know some courses use midnight deadlines. We also frequently hear from students who lament that they do not get enough sleep. We prefer earlier deadlines as a way to encourage you (and ourselves) to get more sleep.

Extensions

The teaching team is happy to provide extensions in response to emergencies (only). Please contact us (see Communications, below) to request such exceptions as soon as you are able. If at all possible, you should do this before the assignment deadline. 

We discourage submitting work late, as this limits the amount of feedback we can give you to help you to learn more. However, assignments may be submitted late by following the resubmission process for this course (see next section). Note that resubmissions can only be used for assignments for which feedback has been released– for most assignments, this means you will not be able to use a resubmission until at least one week after the initial due date.

Resubmission policy

Learning from mistakes is an important part of mastering any skill. To enable this, you are allowed to revise and resubmit your work on any assignment in order to demonstrate improvement after your initial submission. Note that class work (participation) and the final project are not subject to the resubmission policy.

Resubmissions are subject to the following rules:

Note that it is in your best interest to correctly submit something that demonstrates progress by the due date, then continue to work on the project and do a resubmission after you have received feedback. That way you will get at least one round of feedback which you can use in your resubmission.

Regrade Policy

Reflecting on feedback is one of the most valuable ways you can learn from your mistakes, and we encourage you to do so. If you have a question about a grade you received or if you feel the grade you received is incorrect, please email an instructor for an appointment to discuss the assignment and your grade in detail.

It is also possible for the graders to make mistakes. If that happens we certainly would like to correct the error. Please note the following: When you request a regrade, we may look at the entire assessment, homework or reflection. Therefore, it is possible for your grade to go either up or down through this process.

We will be using Gradescope to grade almost all of your assignments. Gradescope has a mechanism to manage regrade requests, including the length of time regrades will be accepted. Regrade requests for assignments must be submitted within one week of when the grade was provided to you.

Disability Accommodations

We are happy to provide whatever disability accommodations we can to support your success in this class. That includes both permanent and temporary health conditions (mental or physical). You do not need to disclose your conditions to us.

If you have an accommodation letter from DRS, please share it with Prof. Shapiro (see Communications, below). He may share details about your accommodation needs with the teaching team for the purposes of ensuring that we can work together to support you.

Even if you do not have an official disability diagnosis or accommodation from UW, you may also request accommodations. Please contact Prof. Shapiro directly (see Communications, below) to discuss this. You do not need to share your medical or mental health details to make such a request.

Religious Accommodations

People of all faiths, or none, are welcome in this course.

When you complete the Attendance and Conflicts form, please indicate the dates of religious events that are pertinent to your faith, and describe what accommodations would best support you. We will do all we can to address your needs. To ensure that we fully comply with UW’s Religious Accommodations Policy, please also submit a Religious Accommodations Request  within the first two weeks of this course.

Extenuating Circumstances

We recognize that our students come from a wide variety of backgrounds and can have widely-varying circumstances. Extenuating circumstances can include physical or mental health and wellness, work-school-life balance, familial responsibilities, military duties, unexpected and unavoidable travel, or anything else beyond your control that may negatively impact your performance in the class.

If you have any unforeseen or extenuating circumstances that arise during the course, please do not hesitate to contact the instructor to discuss your situation as soon as possible. The sooner we are made aware of the situation, the easier it can be resolved and the more likely we will be able to offer flexibility.

While we will make every effort to support and accommodate students experiencing difficulties, we are far more likely to be able to assist before a deadline has passed than after.

Academic Integrity

Academic integrity is an important value that we adhere to in this class. Please read and comply with the Allen School’s guidelines on academic conduct.

You may use whatever online or in-person documentation, tutorials, or other resources you wish to do the assignments for this class. However, the work you submit should be substantively and entirely (or nearly entirely) your own.

Here are examples of acceptable uses of online resources:

Here are examples of unacceptable conduct:

We recognize that there is a gray area between the first (acceptable) Copilot example and the second (unacceptable) Copilot example. We do not want to prohibit you from making use of helpful tools, but also want to ensure that you are learning all you can from this course. Here are some rules of thumb that you may find helpful:

Communications

We want you to succeed in this class, and an important way that you do that is by asking questions and discussing course issues with your peers and teaching staff. Some ways to do that include:

If none of these work for you, you can send an email to Prof. Shapiro.

Remote Instruction

Zoom

Zoom will be used for some number of office hours or special sessions, but lecture and section will generally be in person.

Guidelines and Expectations

Students are expected to adhere to the following expectations for remote instruction in CSE 340. These guidelines are intended to help class go more smoothly, facilitate questions and group activities, and foster a sense of community within the class.

Illness

Do not come to class if you are ill. Instead, let the instructional team know (post a private message on Ed) and make use of the lecture recordings. If you do this in advance of class, we will make sure that you are not penalized for missing any live, in-class participation.

Video

You are not required to have your video turned on during remote office hours or instruction. However, we do encourage you to have your video on, not to monitor you, but to help to create a sense of community.

Audio

Please keep your mic muted unless you’re asking a question

Asking Questions

When in person, to ask a question, raise your hand.

In the event that class, section, or office hours take place via Zoom, and you wish to ask a question, you may use the raise hand feature in zoom, or type “hand” in the chat. When we can, we will call on you to unmute yourself and ask your question.

You may also post questions in the chat, but you may be asked to unmute your mic and ask your question aloud.

It may be helpful for some students to see the instructor speaking even when the instructor is sharing their screen. This can be achieved by right clicking the instructor’s video and choosing “pin” video. Then, under “view options” you can choose the side-by-side option which will enlarge the instructor video

Inclusivity

Our goal is to make CSE 340 a welcoming environment for all. We are working toward using a broad base of examples in our course material. Please let us know if you see an opportunity to improve our course materials to be more representative of our student population.

Additionally, if you experience interactions with anyone that you feel are excluding you or otherwise make you uncomfortable, contact the professor immediately so that we can address the situation. Should you feel uncomfortable bringing up an issue with a staff member directly, there are a number of Community Feedback Mechanisms and Resources including the Anonymous Feedback form, but understand we can not respond to you directly if you use the latter.

Sexual Harassment

University policy prohibits all forms of sexual harassment.

Platforms and Tools

In this class, you will create applications that can run on desktop/laptop computers as well as mobile devices, using Google’s Flutter toolkit and Dart language.

All assignments in this class will be done using Google's Dart language and Flutter toolkit.

We will use Microsoft's Visual Studio Code (VSCode) as our IDE in class and section. While you do not need to use VSCode to do assignments in this class, it is the only IDE that we will provide assistance with.

Compatibility Matrix

While Flutter is designed to be cross-platform, there are some limitations to its cross-compatibility. The operating system on the computer you develop on affects what operating systems you can compile your applications for (i.e. can target).

Developing On

Can Target

macOS

iOS

Android

macOS

Linux*

Windows*

Web

Windows

Windows

Android

Linux*

Web

Linux (inc. Chromebook)

Linux

Android

Windows*

Web

* we haven’t tested this scenario ourselves

Installation Instructions

First, install VSCode from here.

Next, follow Google's instructions for installing Dart and Flutter.

Before you install those tools, here are some important things to keep in mind:

We provide additional setup tips in this thread, and we invite you to ask for help there too.

Additional Resources

Schedule of Topics and Assignments

Assignment details will be posted on Ed.

All programming assignments must be submitted on Gradescope.

All topics listed below may be covered in lecture or section.

Week 1

Topics Covered

Assignment:

Week 2

Topics Covered

Assignment:

Week 3

Topics Covered

Assignment:

Week 4

Topics Covered

Assignment:

Week 5

Topics Covered

Assignment:

Week 6

Topics Covered

Assignment:

Week 7

Topics Covered

Assignment:

Week 8

Topics Covered

Assignment:

Week 9

Topics Covered

Assignment:

Week 10 – Holiday Break

Week 11

Topics Covered

Acknowledgements

We thank Prof. Jen Mankoff for originally creating this course and Prof. Lauren Bricker for keeping it fresh and collaborating with Prof. Shapiro on the redesign of this course in Spring 2024. We are grateful to the many students and TAs who have taken and/or taught it over the years. Their experiences and feedback inform how we are teaching this class now.

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. Please learn more about native lands.