For course schedule, click here .

Course Logistics

Tuesday, Thursday 3:05 PM - 4:20 PM
Location: Reid 102

Instructor

Teaching Assistant and Grader

Textbook

Other Required Materials

Class Communication

CSCI 476 Code Github Repository

Other Resources

Catalog Description

Note from Reese: The prerequisite list is pretty beefy, but I will cover all the relevant background information from those classes during before starting each section. We will be tinkering around with memory (stack and heap, processes, etc) and working very closely with C programs. If you have not taken C programming, I would highly recommend withdrawing and taking this class at a later time. Please email or chat with me if you have any concerns about prereqs for this course

Before taking this class, I expect you to be comfortable with basic programming in C and Python. You should be comfortable with basic Linux command line navigation. You should also be familiar with some of the fundamental concepts of a computer system (CPU, Assembly & Hexademical, Memory, Networks and HTTP)

Course Outcomes

By the end of this course, students should be be able to:

Grading

70% - Labs (10 @ 7% each)
15% - Research Project and Paper
15% - Final Exam

Grading Breakdown

Labs (70%) (10 labs @ 7% each)- The labs are the primary assignments and focus in this class. These are hands-on activities where you get to experience exploiting the vulnerabilities that we discuss in lecture using the SEED labs VM. These are generally due every week and you have about 1 week to complete the labs. You will follow lab instructions and record your findings/output in a word document and then submit it to D2L as a PDF. Labs are to be done individually.

Research Project and Paper (15%)- Because security covers such a large breadth of topics, we cannot discuss every interesting topic in this 16-week course. The research project will allow you to explore a security-related topic of your choice and write a short report and presentation about your topic. You can choose any security-related topic that we do not cover in this course, but you must get it approved by Reese first. You can generally submit your project anytime to D2L during semester before the final week.

Final Exam (15%)- The final exam will take place during finals week. This is a cumulative exam that will ask you conceptual questions about topics we've talked about. A note sheet is allowed and the exam will consist of free response questions.

Extra Credit (?%)- There will probably be extra credit opportunities at certain times during the semester.

Grading Scale

Q: Do you curve exams or final grades?
A: Maybe, but probably not. If exams or final grades are lower than I anticipated, then I may apply a curve. For final grades, if you are within 1% of the next letter grade, I will bump you up.

Late Assignment Policy

You will be given 1 virtual late passes. Late passes allow you to submit a lab up to 48 hours late with NO penalty-- no excuse required.

To use a late pass, you must indicate in your submission that you are electing to use a late pass (e.g. at the top of your lab report and in the comment box on your submission in D2L).

Note that you cannot change this decision later.

If you do not use a late pass, the penalties for late submissions are as follows:

Getting Help and Succeeding

Like with many CS assignments, you should not attempt to do an entire lab the night before it is due. Make sure you give yourself plenty of time to complete each assignment.

Collaboration Policy

All students should read the MSU Student Conduct Code.

All labs will be individual submissions.

When it comes to labs, you may

You may NOT

Failure to abide by these rules will result in an "F" for the course and being reported to the Dean of Students.

Plagiarism

You may not copy or modify solutions that are not your own (e.g. from the Internet, classmate, ...) for any graded material. Copying and pasting very small snippets of code is acceptable, however copying/pasting or stealing entire solutions from an external source is prohibited. I know how to use the Google and I have a Chegg membership, so If you find something, I will too! It is easy for me to tell if you copy and pasted code from the Internet, so please do not engage in such academic misconduct. If I find a student engaging in plagiarism, I will have to report you to the Dean of Students.

More Helpful MSU Resources