ICS: UVa specific material, summer 2024

Go up to the main ICS readme (md)

Much of the rest of this git repo is meant to be generic to anybody who has a class such as this one. But this page contains details specific to the specific version of the course at the University of Virginia.


There are a number of links and other parts of this course that are NOT included in this repository. They are:

The parts of this course that are in this repo are:

Readings

All scholarly articles (such as from the ACM digital library) can be obtained from free from any UVa wireless network. Some of them you will NOT be able to get it for free from your home Internet provider such as Comcast (unless you live in a UVa dorm, of course) without using a UVa VPN. All readings are due by the start of lecture that day.

To avoid having the due dates having to be listed in too many places, the readings and their due dates are not shown here. The readings can be found on the Canvas landing page and in Canvas Assignments tool.

Homeworks

Unless otherwise noted, all submissions are due by the end of the day of the due date given – this means by 11:59:59 pm. The late policies are discussed in the homework policies page (md). Submission is through the Gradescope – all submissions should open up 3 days (i.e., 72 hours) prior to the due date/time (1 day / 24 hours in summer terms).

To avoid having the due dates having to be listed in too many places, the homeworks and their due dates are not shown here. The homeworks themselves can be seen on the Homeworks page (md) – but please don’t start on one until it’s announced in class that it is ready! You can see the due dates in the daily announcements and the Canvas landing page.

Lecture progress

The links to the specific slides sets can be found on the slides page (md).

Expected lecture progress:

  1. Mon, May 20: course introduction; security mindset, terminology
  2. Tue, May 21: terminology, policy, ethics
  3. Wed, May 22: ethics, encryption
  4. Thu, May 23: encryption
  5. Fri, May 24: encryption
  6. Tue, May 28: encryption, networks
  7. Wed, May 29: web security
  8. Thu, May 30: web security, SQL/XSS/CSRF
  9. Fri, May 31: (midterm)
  10. Mon, Jun 3: SQL/XSS/CSRF, cryptocurrency
  11. Tue, Jun 4: anonymity, rootkits
  12. Wed, Jun 5: rootkits, virtual machines, stuxnet
  13. Thu, Jun 6: stuxnet, viruses
  14. Fri, Jun 7: viruses, buffer overflows
  15. Mon, Jun 10: buffer overflows
  16. Tue, Jun 11: forensics
  17. Wed, Jun 12: binary exploits
  18. Thu, Jun 13: (buffer class)
  19. Fri, Jun 14: (buffer class)

Actual lecture progress:

  1. Mon, May 20: finished course introduction; security mindset to 6.13
  2. Tue, May 21: finished security mindset; finished terminology; policy to 4.19
  3. Wed, May 22: finished policy; ethics to 7.12
  4. Thu, May 23: finished ethics; encryption to 6.17
  5. Fri, May 24: encryption to 7.13
  6. Tue, May 28: finished encryption; networks to 3.12
  7. Wed, May 29: finished networks; web security to 6.8
  8. Thu, May 30: finished sql/xss/csrf
  9. Fri, May 31: midterm and HW work day, so no lecture progress
  10. Mon, Jun 3: finished web security
  11. Tue, Jun 4: finished cryptocurrency
  12. Wed, Jun 5: finished anonymity, rootkits to 4.11
  13. Thu, Jun 6: finished rootkits, finished vms, finished stuxnet
  14. Fri, Jun 7: viruses to 8.3
  15. Mon, Jun 10: finished viruses; finished buffer overflows
  16. Tue, Jun 11: finished forensics
  17. Wed, Jun 12: finished binary exploits
  18. Thu, Jun 13: HW work day
  19. Fri, Jun 14: review session; course reflection