Includes substantial programming experience in languages that expose machine characteristics and low-level data representation (e.g., C and C++); explicit memory management; interacting with operating-system services; and cache-aware programming.
Prerequisites: CSE 351 (The Hardware/Software Interface)
All assignments (homeworks and exercises) in this class will be graded on the CSE Linux environment. We strongly recommend that you work on the assignments in this same environment. There are three ways to do this:
attu.cs.washington.edu
.There are no strictly required texts for this courses. Most people will find it useful to have both a C and a C++ reference; suggestions are given below. We strongly recommend that you have a copy of the C++ Primer, as C++ is a big, complex language and it is hard to understand how it all fits together from just Google and Stack Overflow snippets and folklore.
Strongly Recommended:
Suggested:
Your grade in the class will be broken into the following components:
You will note these components sum to 105%, with the extra 5% coming from Course-Wide Participation. You will not be penalized if you do not engage with the course staff or other students; however, your deliberate and active participation will have a positive impact on both your grade and your mastery of these materials.
These percentages may be adjusted if appropriate.
You can earn credit toward your course-wide participation grade for any of the following:
Course-wide participation scores are kept internal to the staff (i.e. not disclosed to students).
The discussion platform we use, Piazza, provides an optional "Piazza Careers" service. It is NOT required and you do not need to put any personal information into this website. It is also an opt-in service; by default, you will not participate in Piazza Careers.
Lecture will be supplemented with in-class peer instruction questions that will give you a chance to solve a question related to lecture content, discuss with your peers, and vote on the answer. This is designed to give you a chance to check your understanding of the material by applying it on-the-spot, as well as an opportunity to interact with your classmates. You will receive "credit" for voting on peer instruction questions; note that this "credit" is based on based on participation, not correctness (ie, your response does not need to be correct), and that lecture polling is part of your optional course-wide participation. To particpate in polls, first register your UWNetID on the Poll Everywhere website (more information can be found from IT Connect). Then, in lecture, you may vote using either of the following options:
attu
using the following
coarse-grained guideline:
-final
(e.g. hw2-final
);
homeworks are typically due at 8:59 pm.
Homeworks will be tested and graded in an environment
equivalent to attu
so make sure that your code
works in the CSE Linux Environment.For exercises, no late submissions will be accepted.
For homework, you are allocated a total of 4 late days for the entirety of the quarter to utilize should the need arise.
num_late_days = ceil(hours_late
/ 24)
.If you exceed the late days afforded to you, you will lose 20% of the score for each day a homework is overdue. Note that all homework submissions close at most 3 days (ie, the equivalent of 2 late days) after the due date. We strongly encourage you to save late days for emergencies.
We encourage collaboration, but there is a fine line between collaboration and cheating. We can learn from working with each other, but remember the goal is for YOU to learn the material so that YOU will be prepared for the exams, for job interviews, etc.
Cheating consists of sharing code or solutions to assignments by either copying, retyping, looking at, or supplying a copy of a file. Examples include:
You are responsible for understanding and applying the department's Academic Misconduct Policy. If you are in doubt about what might constitute cheating, send the instructor an email describing the situation and we will be happy to clarify it for you.
Our code and our projects are made better by considering a variety of viewpoints. Your course staff is committed to the values outlined in department's inclusiveness statement, and you are expected to uphold a supportive and inclusive learning environment.
If, at any point, you are made to feel uncomfortable, disrespected, or excluded by a staff member or fellow student, please report the incident so that we may address the issue. Should you feel uncomfortable bringing up an issue with a staff member directly, consider sending anonymous feedback or contacting the Office of the Ombud.
The Disability Resources for Students (DRS) is a unit within the Division of Student Life and is dedicated to ensuring access and inclusion for all students with disabilities on the Seattle campus. They offer a wide range of services for students with disabilities that are individually designed and remove the need to reveal sensitive medical information to the course staff. If you have a medical need for accommodations, these will only be granted through official documentation from DRS. Browse to this link to start the process as soon as possible to avoid delays.
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.
We recognize that our students come from varied backgrounds and can have widely-varying circumstances. If you have any unforeseen or extenuating circumstance that arise during the course, please do not hesitate to contact the instructor (eg, in office hours or via email) to discuss your situation. The sooner we are aware, the more easily these situations can be resolved.
Extenuating circumstances include work/school balance, familial responsibilities, military duties, unexpected travel, or anything else beyond your control that may negatively impact your performance in the class.