Course Structure and Logistics
Instructional Staff
Aaron Bloomfield
Rice Hall, room 402
aaron@virginia.edu
Course resources
- Contained in the Canvas workspace: landing page of links, Piazza, Gradescope, lecture videos, files download, anonymous feedback
- And a link to the support requests tool
- External course materials
- Feel free to chat with me right after any class
- Although I teach another class right after this, so it will have to be quick
- Please fill out a support request instead of emailing me
- Linked to from the Canvas landing page
- Office hours will start next week
- Anonymous feedback through Canvas
- The daily announcements slide set
- If you miss lecture, you are responsible for checking it!
- Anything else that is "urgent" will be posted to Piazza as an instructor note
- VERY few notifications (possibly none!) will be sent out as a course email
- How to do this is non-intuitive in Canvas
- Thus, you have to check two places for updates: the daily announcements slide set and Piazza
- But if you log into Piazza via Canvas, then that one action will check two of them
Meetings
- Lectures: M/W/F 10:00-10:50 in beautiful Olsson 018
- Lectures are required
- There will be occasional reading quizzes and attendance taking in lecture
- If you have to miss a lecture, there is a Google form for you to fill out
- Linked to from the Canvas landing page
- Please don't email me or send in a support request that you are going to miss a lecture!
- These generally have to be in before class starts
- Reasonable exceptions for unexpected circumstances and emergencies, of course
Expectations
- Pre-requisite: CS 3710 (Introduction to Cybersecurity) with a grade of C- or higher
- This is a strict pre-req!
- Reason: this course builds upon the material in that course
Homeworks
- There will be a combination of:
- Larger programming homeworks (about a dozen): the 'P' homeworks
- Smaller ('S') homeworks, such as tutorials and readings
- Often one of each may be assigned at any given time
- But their due dates will be staggered
- You can see them all on the homeworks page
- Please don't start them early!
- I'm creating many of them new this semester
- I'll have them ready a week or so before they are due
- And I will clearly announce when that happens
- Either in the daily announcements or on Piazza
HW submission: Gradescope
- We will be using Gradescope
- All assignments will be autograded
- The specifications and some test cases will be included in the homework descriptions
- Gradescope will use the same type of tests, but with different data
- You may submit as many (reasonable!) times to Gradescope as you want before the deadline passes
- Gradescope submissions will open 3 days (72 hours) before the due date/time
Piazza
- We all know Piazza
- If the e-mail settings default to "send annoying emails all the time", you can easily change this
- In Piazza, in the upper-right, click on the gear/settings icon, select "Account/Email Settings", and then select "Edit Email Notifications" under "Class & Email Settings"
- Rules
- Don't post any code on it, period (that's an honor violation!)
- Note that you can post anonymously to each other, but the course instructional staff will know who you are
- If you start trolling other students on Piazza, I will permanently ban you from it
- Please be respectful of your fellow students in the course!
Development environment
- You will have to have a (working and recent) notebook computer for this course
- Don't have one? Speak to me, and the dept can loan you one
- You can use any development environment you want (Windows, Mac, Linux; IDEs are okay also)
- We will be using Docker for much of the test environments in this course
Required Textbook

- Internet Security: A Hands-on Approach, 3rd Edition (ISBN: 978-17330039-6-4)
- $53 on Amazon
- The bookstore doesn't have it
- If this causes a problem for you, please speak to me
- Chapters will be assigned as readings
- The lectures will then review that material
- Occasional reading quizzes will be had to check that you read the chapter
Course syllabus
- It is available in the github repo
- It contains all the information covered so far, plus some more information
Grades
- Grades are computed by:
- 10% class participation (in-class quizzes)
- 45% homeworks
- 20% midterm: Wednesday, February 28th, in class
- 25% final exam: Thursday, May 9 from 9 am to noon
- That's the second worst final exam time...
Alternative final exam
- This may well happen
- No idea what or how
- The grade weighting will likely change
- More info later...
Learning your names...
I am determined to learn each of your (first) names
So if you raise your hand in lecture, and I don't call on you by name, you have to say your first name before your question
Don't be offended if it takes me a while -- there are 100 students in this course...
Course Goals
- Understand network models, both OSI and TCP/IP
- Understand how to analyze network traffic and how to scan for malware therein
- Understand the details of common network attacks, as well as their defenses (ARP, DOSes, etc.)
- Understand the common network services that help to secure a network (DNSSEC, VPNs, PGP, firewalls, etc.)
- Understand the role and use of cryptography in network security (AES, RSA, DHE, TLS, etc.)
- Be able to secure a network from outside attacks
Lecture topics
You can see the slides on the lecture slides page
These slide sets are not part of the course repository, and are not released under the same CC BY-SA license
Initial assignments
- HW S1: Introductory Survey is an online Google survey
- Link on the Canvas landing page
- Due next Tuesday (by midnight)
- This also contains the honor pledge
- The next assignment will be a docker setup tutorial
- The first programming assignment will be out in a week or so