CSE 311: Course Info

Students are expected to be familiar with all of the information below. Read it fully and carefully.

We have also prepared an inductory video, available here (as “CSE 311 — Syllabus”), which discusses the goals of the course and highlights some important items from below. Please find time to watch that before the first lecture on Monday, January 5th.

Course Structure

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 123/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. CSE 390z is a 1-credit workshop that gives extra hands-on practice with the material from CSE 311. Anyone who thinks they might need extra support is welcome to register, subject to available space.

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

Lectures

Lectures will be given in person, at the locations and times shown on the time schedule. Lectures will also be recorded for the benefit of students who are sick or otherwise unable to attend; however, it is worth noting that, historically, students who regularly attend lecture and quiz sections almost always outperform students who do not.

In rare cases, where there is not enough time in lecture to cover all of the material, some lecture content may be recorded on video to be watched later.

Concept Checks

To help ensure your understanding of the concepts introduced in lecture (and to provide an incentive to attend lecture and keep up with the material), we will have regular, short quizzes on the lecture material, consisting of short, multiple choice questions and administered on Gradescope.

There will be one concept check per lecture. They are intended to be completed before the next lecture, but the absolute deadline is 11pm on the day after the lecture was given. Concept checks are autograded and can be attempted as many times as you wish before the absolute deadline.

Late submissions are not allowed. However, you only need to get 90% of the available concept check points over the whole quarter to receive full credit, so there should be no penalty for missing one or two concept checks (that is, we will rescale the points so that 90% becomes 100%, 45% becomes 50%, etc.).

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.

Readings

On occasion, the lecture material will mention associated readings posted on the website. In particular, the class will provide templates for how to write certain important types of proofs. The versions of these shown on the lecture slide are often abbreviated due to space limitations and a complete version of the template will be posted on the website. Students are expected to follow the complete template, not the abbreviated version in the slides.

Assignments

The course work will consist of several assignments, each broken into three parts: section, homework, and a quiz. The first and last parts take place in class, while the middle portion is done at home.

Sections

Each assignment starts with a TA-led section. In section, TAs will lead the students through solving two or three problems and then go over the answers. It is very important that students take the time to work through the these problems before attempting the homework problems.

Past experience indicates that section attendance is extremely important for being successful in the course. For that reason, participation in section will be included as part of the course grade.

Homework

The next part of the assignment consists of problems to complete at home. Homework problems will be posted after the last section of the day is finished, and will be due at 11pm three business days later (e.g., if section is on Tuesday, then homework would be due at 11pm on Friday).

As with section, this work will not be graded for correctness. Instead, students will receive participation points for submitting a solution to the practice problems that shows a good faith effort.

Students should do their best to try to answer each question correctly. The TAs will review these submissions in order to give students feedback on where points might have been lost had the problems been graded. Students should take time to carefully review all the TA feedback when it is released, as the next attempt to solve problems like these will be graded.

Occasionally, we will discover errors in the assignment after it is posted (typically, just small typos). We will maintain a log on the website with all changes made to the assignment. If (and only if) we believe there is potential for students to submit correct solutions to the earlier version, we will also announce the change on the message board. In particular, we will not post an announcement if the earlier version is obviously nonsensical. (Most typos fall into this category.)

Quizzes

One week after section, at the normal section time and location, there will be a quiz on the material of that topic. This will consist of problems suspiciously similar to those completed in the previous section or homework. This will be the third attempt at solving problems on this topic, so unlike section and homework, the problems will be graded for correctness.

Exams

There will be a final exam during finals week. There will be no midterm exam. See the Exams section below for further details.

Getting Help

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.

Each member of the course staff will also have an office hour every week, where students can get one-on-one help. See the home page for times and locations.

In office hours, students should not:

  • Ask “What is the answer to Task N?” (or some question that amounts to the same thing).
  • Simply say “I don't know how to solve Task N” and expect the staff to tell them how to solve it.
  • Simply say “I don't understand Topic X” and expect the staff to repeat the lecture material.
  • Ask the staff to double-check your answers for mistakes.

Instead, students are expected to come to office hours with concrete questions. Students should bring questions whose answers they think are likely to help clear up their confusion or get them un-stuck on a problem. One example of a good, concrete question is “I tried using Technique X on Task N, but it doesn't seem to work. ≪Shows where it failed.≫ Did I make a mistake or is this not the right approach?”

Course Staff

Homework Mechanics

Typesetting

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

Students who would like to try typing their solutions can see the resources page for advice on how to do so. However, students should be warned that the LaTeX software, in particular, is not 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.

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.

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 these 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. 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.

  • If two students feel that they made the same error but received different deductions for the error, both students must submit a regrade request. Note that we may resolve the inconsistency by increasing the smaller deduction to the larger amount.

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. You can use the anonymous feedback tool if you would like to tell us something anonymously.

Late Policy

Coursework is designed to be completed on the dates listed on the course calendar. However, for students who are sick, we will use the following policies.

Sections

Sections will not be recorded, but the printed material used will be posted on the Topics page of the website. Students who are sick can complete the practice problems on their own and submit their solutions in Gradescope by 6pm on the day after section. (Note that this is due at 6pm, not at 11pm like homework or concept checks.)

Homework

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 three late days total during the quarter.

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

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 10 minutes late is just as late as something submitted the next day.

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

Quizzes

There will be a makeup date for students who are sick on the day of a quiz. Students must contact the course staff via email within one day of the quiz date. Once we have the list of sick students, we will try to find a day and time that can accommodate all sick students.

No makeups can be allowed after grades are released for the quiz, about three days after the quiz date.

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.

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.

AI Assistance

AI tools are not disallowed for homework. However, the rules above still apply: the AI tool must be listed as a collaborator and students must write up their solution without any assitance. Submitting the AI tool's solution as if it were your own is cheating.

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 the solution of another student or an AI tool 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 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.

Grading

Homework Grading

Students are responsible for making sure that they submit solutions to the final version of the problems posted on the website. (As noted above, the initially posted versions of assignments sometimes contain errors.) Students should confirm that they have solved the final version by consulting the change log on the website before submitting their solutions.

Correctness determinations will be based on the intention of the problem. As long as we believe that the intention was clear, we will deduct points from solutions that do not solve the intended problem. We will not listen to legalistic arguments about why poor solutions should be considered correct.

We may also deduct points for the following, additional reasons:

  • Legibility: We cannot give credit to solutions that cannot be read. Furthermore, we will deduct points whenever the grader has to spend a significant amount of time just trying to determine what the submission says.

  • Clarity: The goal of writing is to make the ideas clear to the reader, so the grader will deduct points for solutions that are unclear to them. (Note that we will not give points back just because the writing was clear to the writer. It must be clear to reader, and only the reader can say whether that was the case.)

  • Style: While it is generally better to err on the side of writing too much rather than too litle in this class, we may deduct points for solutions that are overly verbose or hard to follow.

The section solutions are intended to demonstrate solutions that would receive full credit. Solutions shown in lecture will often skip parts that would be expected in a complete solution due to limited time in class and space on the slides.

Finally, note that we will not debate the amount of points deducted for mistakes. Those are at the descretion of the course staff.

Course Grades

Overall percentage scores for the course will be determined roughly as follows:

4% Concept Checks
72% Assigments (12% per assignment)
24% Final exam

Each homework assignment is worth 12% of the grade: 2% of the points are section participation, 4% are for homework participation, and 6% are for the quiz.

We tentatively intend to translate percentage scoures into course grades using the following table. However, since this is the first time using this arrangement of at-home and in-class work, it is possible that this will need to be adjusted.

96.5% 4.0   84.0% 3.4   71.5% 2.8
94.5% 3.9   82.0% 3.3   69.5% 2.7
92.5% 3.8   80.0% 3.2   67.5% 2.6
90.5% 3.7   78.0% 3.1   65.0% 2.5
88.5% 3.6   75.5% 3.0   63.0% 2.4
86.0% 3.5   73.5% 2.9   61.0% 2.3

Grades for scores below 60% will be determined by the instructors on a case-by-case basis. In particular, we reserve the right to pass students whose percentages would fall below 2.0 in the table.

As an example, an average of 90% on the homework assignments and 80% on the final exam would translate into an overall percentage score of 88%, using the tentative weights in the first table above. Per the second table, that translates to a 3.5 grade as it is above 86.0% and below 88.5%.

Note that grades are not rounded. Students must achieve a percentage at or above the cut-off in the second table to achieve that grade. The only exception to this is from extra credit...

Each assignment will include an optional extra credit problem. These problems will not count toward the final grade unless students are within 0.3% of the next grade cut-off. Students who successfully complete a couple extra credit problems will see their grade rounded up as much as 0.1%. Students who successfully complete all of the extra credit problems could see their grade rounded up as much as 0.3%.

Exams

Midterm exam

There is no midterm exam.

Final exam

The final exam will be held in person on March 16th from 8:30-10:20am in CSE2 G20. If you have a conflict, please contact course staff as soon as possible and at least a week in advance of the exam.

Students must bring their UW ID and have it ready to be checked during the exam.

The final exam will be comprehensive, so problems from any topic would be allowed. The exam will be closed book and notes; however, any reference sheets that would be useful will be provided.

If you would like additional practice, the problems in the following materials should be similar enough to our own to be helpful preparation:

  • a set of practice problems and solutions with these additional notes:

    • In Predicate Logic part (a), you may assume the domain of discourse is restaurants, food, and people. In subpart (i), you may use a predicate Restaurant(x) which means that "x is a restaurant". In part (c), you do not have to state that the person was the only person Jane and John voted for.
    • In the Formal Proofs question, it should say "i is in the domain" rather than "a".

  • a previous midterm and solutions

  • a set of practice problems and solutions

  • a previous final and solutions

Note, however, that these tests may include some material that was not discussed in our class, as the course content does change somewhat from quarter to quarter. Also note that previous quarters had both a midterm and a final, so the final exam topics were much more weighted toward second-half material than our final exam is likely to be.

There may be a TA-led review session beforehand. More details will be forthcoming later in the quarter.

Advice For Students

  • Start each homework assignment immediately. 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.

  • 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.

  • Create your own study groups. By working with others, you will reinforce each other's understanding. If you work with the same group of people consistently, you will also build a shared group vocabulary that will allow you to communicate more effectively than you would with course staff at office hours. In all cases, be sure to follow the collaboration policy. You should never share any written work with other students.

  • 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".