Labs and Lab Grading Policy

Lab Background

This course has a significant hands-on component, in the form of labs that you will complete in a virtual machine that explore various computer security topics, from attacks to exploration. Unlike many other computer science courses, the labs don’t require a large volume of coding, but it is very tricky programming. One or two lines of code may take a few hours to figure out! Each lab will also have questions designed to explore your understanding of the underlying topic - it’s just as important to understand why something works as to get it working in the first place.

Another significant difference from other courses is that many security topics involve exploiting loopholes in order to achieve unexpected outcomes; this does not lend itself well to autograding or unit testing, or other best practices in software development. This means that you may need to rely on debugging, trial and error, and exploration more than you are used to.

Lab Submissions

Labs will be submitted as PDF documents (you can publish both word and google docs as PDF). Many labs may also require additional files be submitted, as proof of the code you have written. If additional files are required, this will be mentioned in the lab writeup. Please read these carefully, because failure to submit required code files will result in a loss of 50% of the points on the lab.

Screenshots

All of the labs will require that you capture screenshots of your activity in the VM. There are two important considerations in regards to these screenshots. The first is that every screenshot should have on it somewhere your ubit, which helps us uniquely identify the screenshot as yours. You will be shown in the first week’s recitation how to have your ubit print out at the system prompt, which should make this an easy requirement for most screenshots. In the event that the screenshot is of a browser, or other item that doesn’t display your ubit, you can leave a terminal with your ubit open in the same window, capturing it in the screenshot. Failure to include ubit in your screenshots will result in a score of 0 on the lab for any section with a screenshot that does not include the ubit, and repeat offenses will result in a score of 0 for the entire lab.

The second thing that is important to be aware of is that these screenshots are proof of your work. They must be consistent with each other, and with any code or additional files submitted as part of the lab. If you submit screenshots of a step succeeding, and the code that you submit or the instructions that you run do not match the results shown, you will get a 0 for the lab, and academic integrity proceedings will begin. It is your responsibility to check your submission to ensure that you re-take any screenshots if you make changes to your code, and that you submit the correct version of your code along with the lab.

Citing External Sources

For many of the labs, we will suggest additional resources that may help you solve parts of the lab, and you may also find things on your own that are useful in enhancing your understanding of the topic. This is ok, and in fact encouraged. HOWEVER, you need to cite any external material that you used in the process of working on your labs. This includes videos you watch, tutorials you follow, websites you read, etc. This is true EVEN IF they are resources that we point you to. Any time you copy material directly, it needs to be put in quotes, and the source needs to be given. If it is source code that we didn’t give you, the line(s) in your submission should be commented with that attribution. The best way to do this is to include a page at the end of your lab, referencing all of your sources. Failure to cite your sources, approved or not, will result in a 0 for the lab, and academic integrity proceedings will begin.

Understanding External Sources

While we encourage additional resources, it is important that you understand the material that you gain from those sources, and use it to build your own understanding of the topic. It serves no one well for you to simply repeat an answer that you have found online; if you do not understand something you read, come to office hours and let's discuss it! You are not allowed to have the answer for any part of any assignment be completely drawn from an external source, citation or not. In the event that you include insights or material that was not covered in class, you should be prepared to discuss that information in a knowledgeable way. Any answers that you provide that you cannot also explain will be worth no points on any assignment.

Explicitly Forbidden Sources

While exploration is encouraged, plagiarism is (naturally) not. The test of that should fall along the following lines: is the resource in question one that is helping me learn things necessary to answer the question, or is it GIVING me the answer to the question? The first is excellent, the second is not. If you have any questions about whether or not a source is allowed, you are well advised to ask before watching the video or reading the webpage. As a rule of thumb, anything with "SEED Labs" or "CSE 365" in the title are not going to be allowed. A nonexhastive list of sites that would qualify as forbidden are - Chegg, or any site that provides answers in exchange for money or other answers - ChatGPT, or any other generative AI platform that provides a complete answer to a prompt - Any vidoeos, walkthroughs or solution guides that provide solutions to CSE 365 labs specifically, or the SEED labs more generally Use of any of these types of sources is not allowed, even if you cite them. Any evidence that such material was used will be treated as an academic integrity violation.

Language Translators

We understand that there may be students in the class that are not native speakers of English, and we welcome them! This is not an English course, and no points will be lost due to misspellings, grammatical errors, or awkward phrasing. As English is the instructional language of the university, and the language of most of the companies that many of you hope to work for, you should see this as an opportunity to practice your technical communication in that format. Use of google translate, or any other translation services, automated or otherwise, is not allowed for this course.