Syllabus

Students are expected to be familiar with all of the information below. They should read it fully and carefully. Once they have done so, they can watch this video commentary, where the instructors highlight the most important and distinctive elements in the syllabus they want to be sure students do not miss.

Goals

The goals of this course are to:

  • Teach students the shared language of computer scientists.
  • Give students a toolkit for solving difficult computational problems.
  • Allow students to practice making and clearly communicating rigorous, formal arguments.
  • Introduce students to theoretical computer science.

Prerequisites

The formal prequisites of this course are MATH 126 and CSE 143. Informally, we will assume familiarity with basic mathematical objects like integers and functions and with the basics of how computers perform calculations. For example, we will assume students are familiar with how non-negative integers can be written in binary.

For students who are in their first quarter at UW: You are strongly encouraged to take CSE 390z concurrently with CSE 311.

Course Structure

Topics

The course content can be grouped into three parts:

  1. Logic and Proofs: how to make and communicate rigorous, formal arguments
  2. Applications of Logic: understanding mathematical objects that are widely used in computer science such as numbers, sets, relations, and recursively-defined data and functions
  3. Theoretical Computer Science: different models of computation and what problems they can solve

Textbook

There is no required text for the course. For the first 6-7 weeks of the course, the following textbook can be useful: Rosen, Discrete Mathematics and Its Applications, McGraw-Hill. (Course materials will reference problem numbers from the 8th edition, but older versions largely include the same material.) It should be available through the bookstore and on short-term loan from the Engineering Library.

On occasion, there may be required readings during the course when there is insufficient time to fully cover the material during lecture. If this occurs, the readings will be posted on the web site and students will be notified of the reading via email or the message board.

Lectures

Lectures will be given in person, at the locations and times shown on the time schedule. The afternoon lecture will also be recorded for the benefit of students who are sick or otherwise unable to attend.

Sections

Each week includes a TA-led quiz section. These will not be recorded, but the printed material used will be posted on the section list and calendar.

Each quiz section will be focused on preparation for the next homework assignment. A substantial portion of the time will be spent on practice problems similar to those appearing in that homework. It is very important that students take the time to work through the practice problems before attempting the homework, not only to make sure they understand how to solve them but also to understand how to communicate their solution in writing in a way that will be clear enough to receive full credit.

For those reasons, participation in section will be included as part of the course grade. (Those unable to attend can correspond with their TAs about how to demonstrate that they have completed the practice problems on their own.)

Exams

There will be a midterm exam held in class and a final exam during finals week.

Note that the final exam may not be at the time and place listed in the UW time schedule. The final exam for Section B is as listed, but the final exam for Section A is not. Instead, Section A will have its exam immediately after Section B's, in the same room. These times and locations are shown correctly on the course calendar.

See the exams page for more details on the exam contents.

Homework

Homework will consist of 8 assignments, normally with one due each week (except for the week of the midterm). As noted above, each quiz section will include practice problems similar to those on that week's homework assignment.

For students who are in their first quarter at UW: Note that most of the work in this course happens outside of the classroom. The university standard is two hours of outside work per hour of instruction. With four hours in the classroom, you should expect 8 hours of homework. Furthermore, there has historically been wide variation in how long it takes students to complete assignments in this course, with some fraction of students needing far more than 8 hours.

Extra Credit

Homework assignments will often have extra credit problems. They will be scored separately from the regular problems, and they will have little to no impact on course grades. The main incentive for doing the extra credit problems is for the additional challenge.

Getting Help

Each member of the course staff will have at least one office hour every week, where students can get one-on-one help. See the course calendar for times and locations.

Students can also ask questions at any time on the message board. During normal working hours, they should receive a response within a fairly short period of time (certainly under an hour).

Mechanics

Communication

In addition to in-person discussion, students and staff will communicate through the following online means:

  • Course Mailing List: for the instructors to email the class with infrequent but important announcements. (All students are auto-subscribed, but students should be sure to check their @uw email for these emails.)
  • Ed Message Board (link): the preferred way to ask questions about course content and homework assignments
  • Staff Mailing List (cse311-staff at cs): for private matters, not suitable to the message board

Typesetting

Students are not required to type their homework solutions. However, solutions are required to be legible, and typesetting is one way to ensure that they are easy to read.

Students who would like to try typing their solutions can see the typesetting page for advice on how to do so. However, students should be warned that the software is not always easy to use. In the past, some students have spent several hours trying to make their solution look the way they want, which is neither necessary nor advisable.

Homework Submission

Students will receive an email invitation, during the first week of the course, to a course web page in GradeScope, where they can submit their homework solutions. To do so, they will first need to scan their solutions into a PDF. Portions of the scans that are not readble by the TAs (either due to the quality of the scan or the legibility of the handwriting) cannot be graded or receive credit.

Homework Regrades

If grading mistakes occur, students are encouraged to bring them to the attention of the course staff and see that they are corrected. They can do so by requesting a regrade in GradeScope, with the following caveats:

  • We will only entertain regrade requests for one week after the grades are initially are posted. In particular, students searching for extra points late in the quarter by requesting regrades of problems from early assignments will be ignored.

  • While regrades can (and should) be used to fix mistakes where a correct solution is mistakenly marked incorrect, they cannot (and should not) be used to request changes to amounts of points deducted for errors. Deductions are applied consistently to all students. We will not give one student a smaller deduction than others who made the same (or very similar) mistakes, so do not ask us to do so.

Policies

Inclusiveness

Students should expect and demand to be treated with respect by their classmates and the course staff. All students belong here, and the staff is here to help them learn and enjoy a challenging course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, students should please let the staff know so the issue can be addressed.

Grading

Overall grades will be determined roughly as follows:

4% Section Participation
56% Homework
15% Midterm exam
25% Final exam

See the grading page for details on exactly how grades will be calculated.

Late Policy

Homework assignments are designed to be completed by the due dates listed. Situations may arise, however, where students are unable to complete the assignment by those dates. For that reason, we will allow students to submit assignments one day late with no penalty, provided that the following conditions are met:

  • Students use no more than one late day per assignment. A “day” means 24 hours from the original due date/time.

  • Students use no more than two late days total during the quarter.

Late work not meeting these conditions (i.e., more than 24 hours on one assignment or more than two assignments) will only be accepted after a discussion with course instructors.

Students do not need to take any special action when submitting an assignment late. The course staff will note the late submission and keep track of how many late submissions have occurred.

In addition, please note that:

  • Anything more than a few minutes late is just as late as something submitted the next day.

  • Finishing an assignment one date late means a student has one fewer day to complete the next assignment.

  • Late days are intended to cover any emergencies that arise. We do not grant extra late days beyond the first two just for emergencies — those two are intended to cover emergencies.

Collaboration

Students are encouraged to help each other learn the course material. However, we must disallow collaboration that aims to avoid learning (a.k.a. "cheating").

With that in mind, students are encouraged to work together on homework problems subject to the following constraints:

  • They must list, on their submission, the name of everyone they worked with.
  • They must write up all solutions on their own, unassisted.

When working on solutions with others, we require that:

  • They do not leave with any part of the solution in writing or photographs (only in their head).
  • They wait at least 30 minutes before writing their own solution.

Since they cannot list "The Internet" as one of their collaborators, students may not consult the Internet for problems or key-phrases. This includes Google, MathOverflow, reddit, and any other website. However, students may consult the internet for ideas, definitions, and understanding general concepts.

Each student should keep their own solution (the one they plan to or have submitted) private until after the assignment due date. Under no circumstances should they give a copy of their solution to another student, as that would clearly violate the rules listed above.

Academic Integrity

As noted above, even when students work together to initially solve a problem, we expect each student to write their own solution, independently and unassisted. Attempting to misrepresent another student's solution as their own would be unfair to the other students in the course and constitute academic misconduct in violation of the Allen School policy. Any such violation will be reported to University, and the instructors will make every attempt to ensure the harshest allowable penalty.

If a student is ever unclear about whether their collaboration went over the line, they should (a) ask and (b) describe their collaboration clearly on their assignment. If they do, the worst that will happen is losing some points. That is much better than the alternative.

Accommodations

Please refer to university policies regarding disability accommodations and religious accommodations.

Advice For Students

  • Start each homework assignment early. As noted above, it is hard to know how long any assignment will take you, so you need to leave time available in case the problems are more difficult than you expected. We strongly encourage you to consider a schedule of completing one problem a day, rather than all the problems in one or two days.

  • Prefer the message board to office hours. Office hours get very busy, especially in the last 48 hours before assignments are due. (Yet another reason to start early is that you can attend office hours that are less busy.) Even just before assignments are due, however, questions on the message board are usually answered within a short period of time.

  • Do not skip class to work on homework, not even late in the quarter when you are more tired and busy. Doing so often seems like it will save you time in the short run, but it will cost you time (and learning) in the long run.

  • Remember that your grade in this course matters much less than how much you learn. Your success in future classes (and job interviews) will depend on how well you learned the topics we cover, not what grade you received. (Employers, in particular, do not care that your instructors say, via your grade, that you learned the material. They want to see you demonstrate your knowledge directly in the interview.)

  • Remember that making mistakes is part of learning. The only people who do not make mistakes are those who don't try new things. People who push themselves to do new things make mistakes all the time, even if you don't notice them. As Kevin Kelly said, "professionals are just amateurs who recover gracefully from their mistakes."

  • Try to find the parts of computer science that excite you. To quote Kevin Kelly again, "being enthusiastic is worth 25 IQ points".