Attending lectures and keeping up with the readings is crucial for success in CSE 127.
You must not register for another class whose lecture times overlap those of CSE 127, even in part. You must not register for a class section whose time overlaps with those of CSE 127, even in part.
Your instructor and TAs will each hold regular office hours, listed on the course staff page. Office hours are the best way to get extended help with the course material. Please come to office hours!
Instead of a textbook, we will read research papers. The readings are mandatory. Links to these will papers be posted to the course calendar. We recommend that you look over the assigned readings ahead of each class, then reread them in more detail after lecture.
In addition, the course Website includes links to reference books you may wish to consult.
There will be at most seven programming projects. To complete the projects you will need access to a computer capable of running VirtualBox.
There will also be one written homework assignment.
You will work on the programming projects and homework in groups of two, and should not discuss them (except in general terms) with students other than your partner. See the collaboration policy section, below, for more details.
There will be one closed-book, in-class, 80-minute midterm. The date for the midterm is posted on the course calendar. There will also be a closed-book, comprehensive final exam in the course’s registrar-assigned final exam slot.
There will be no makeups for the midterm exam. If you miss the midterm because of a documented medical emergency (and only for this reason), we will substitute your final exam score for the missed midterm. If you miss the final exam because of a documented medical emergency, contact the instructor immediately to arrange a makeup exam. If you miss the final exam for any other reason, you will receive a failing grade in the class.
You should show up on time to both the midterm and final exams. No one who arrives after the first student who saw the exam has left will be allowed to take the test.
Exams will have assigned seating. Bring your student ID with you. We will take photographs of the class with students in their assigned seats.
Failing to follow instructor directions during an exam will earn an automatic 0 on the exam.
The programming projects will count for 45% of your class score, the written homework for 5%, the midterm for 15%, and the final exam for 35%. We expect to apply the following cutoffs in translating scores to letter grades: A/B cutoff at 85%; B/C cutoff at 76%; C/D cutoff at 67%; and D/F cutoff at 58%. Participation—in lecture, in section, at office hours, and on Piazza—may affect your final grade at the margin.
To pass the course, you must successfully exploit one out of two of the targets in the first project.
You may request a regrade of a programming project, homework, or midterm no later than two weeks after that project, homework, or midterm is handed back. You should do so in writing, by e-mail to the course staff, explaining exactly what errors in grading you identified.
All written homework must be typeset (for example, using LaTeX) and submitted as a PDF.
All homework must be submitted using GradeScope. All programming projects must be submitted using the class online submission tool. Submissions by other means—on paper, by e-mail, etc.—will not be accepted.
Unless otherwise stated, homework assignments and programming projects will be due by 11:59 PM on the due date.
Each student will have a total of seven (7) twenty-four hour extensions (“late days”) for the quarter. Late days can be used, in twenty-four hour quantums, on any homework or programming project due date. (There may be exceptions due to course scheduling constraints.) For programming projects done in pairs, late days will be charged to both students in the pair; both partners must have sufficient late days for a late submission. No additional extensions will be given for any reason. Once all late days have been used up, late assignments will not be accepted.
Late days cannot be used for the first programming project. Late submissions for the first programming project will not be accepted. To pass the course, you must successfully exploit one out of two of the targets in the first project.
Per UCSD policy on academic accommodations, any requests for accommodations must be presented to the instructor and to the CSE department student-affairs staff within the first two weeks of instruction (that is, by Monday, January 22nd). Accommodations cannot be made retroactively. All requests must be accompanied by a letter of certification and accommodation recommendation from the Office for Students with Disabilities.
You may work in pairs on the programming projects and written homework. It is expected that both students in a pair contribute to each part of an assignment. If you worked with a partner, you must make a joint submission. You may switch partners between projects and homeworks, but not between parts of the same project or homework. You must not discuss the programming projects or homework with anyone else in the class besides your partner except in general terms, nor with anyone who is not enrolled in CSE 127. This includes both people at UCSD and people not at UCSD.
No collaboration whatsoever is allowed on the midterm or the final exam.
If you are unsure about what constitutes allowed collaboration, ask the course staff!
You can and should use the CSE 127 Piazza forum to ask for help on the homework. You must not post to any forum elsewhere, including Stack Exchange or Facebook groups.
You can and should refer to any readings assigned on the course calendar, and to any of the reference books suggested on the course home page.
You must not consult any book or Internet resource on computer security without first getting approval from the course staff. You must note any such additional resources you consulted on your assignment submissions.
You must not seek out solutions to specific assigned questions on the Internet, from computer security courses offered at other universities, or from computer security courses offered in previous quarters at UCSD.
If you are unsure about what constitutes allowed use of outside resources, ask the course staff!
You must not post online or otherwise distribute to others your solutions to homework or the exams in this course. This prohibition applies both during and after the quarter. This prohibition specifically covers posting any programming assignments to GitHub or similar sites except in a private repository.
Students violating this policy will be subjected to the academic integrity disciplinary process.
Academic integrity at UCSD is governed by the Policy on Integrity of Scholarship. Allegations of academic misconduct are handled by the Academic Integrity Office. Cheating will not be tolerated, and any student who engages in forbidden conduct will be subjected to the disciplinary process. The course penalty assessed for any cheating in CSE 127 is a failing course grade. Cheaters may additionally be subject to administrative sanctions.
To detect instances of academic integrity violations in programming assignments we may use 3rd party software. We recommend you only include your class lab account ID (not your name or PID) in your submissions. Including your name and/or PID will disclose that information to the 3rd party.