About

After being taught for two years as a half-course (CO 445H), Advanced security is now being offered as a full course.

Prerequisites

To do well in this course, you should ideally have maturity in both the mathematics of computer science and in the engineering of computer systems. This means that you should: have a good understanding of data structures and algorithms; be comfortable writing programs from scratch in C, Java, and a scripting language like Python or JavaScript; be comfortable writing and debugging assembly code; and be reasonably comfortable in a command-line Unix development environment (gdb, gcc, etc). You should also have a good understanding of computer architecture, operating systems, and computer networks. It would also help to know a bit about programming languages and compilers. It would also be helpful to be comfortable with web technologies such as HTML and JavaScript. Recommended (not required) prerequisites are CO331 (Web and network security) • CO211 Operating systems • CO212 Networks and Communications Related courses: • CO408H Privacy Enhancing Techniques • CO409 Cryptography• CO440 Software Reliability • CO470 Program Analysis.

Don't panic

Do not be scared if the list above seems a bit daunting: it is not likely that many of the enrolled students will have the "perfect" background in all of these topics. If you are missing a few of these skills, you should be able to learn them quickly, possibly with the assistance of our helpful TAs. You will need to learn things as you encounter them; this is a feature, not a bug. Most importantly, you should be eager to challenge yourself and learn!

Reading

This year, there will be only one required textbook for this course: Foundations of Security, Daswani, Kern, and Kesavan, ISBN 1-59059-784-2. This book should be available from the University bookstore and other retailers. Note, however, that there will be other handouts and supplementary reading materials that will be posted on the class schedule. You will need to read these before each class. These articles will often have a research focus, which frequently means that you will need to spend more some time on each, perhaps marking them up as you read. Please refer to these helpful guides on how to read research papers critically: link-1, link-2, link-3. Through these readings, you will be exposed to some topics that are "off the beaten path" and get more exposure to bleeding-edge research in computer security.

Course Staff

  • Dr. Ben Livshits, Instructor, (Reader, Department of Computing)
  • Dr. Soteris Demetriou, Instructor, (Lecturer, Department of Computing)
  • Daniel Perez, Course TA, (Ph.D. student, Department of Computing)

Hours

  • Time: Tuesday 11:00--13:00, Thursday 9:00--11:00 (first class is October 8th)
  • Room:: Tuesday: Huxley building 145 | Thursday: Huxley building 342

Class schedule

This schedule is subject to modification; please check back often...

# Date Description Reading Assessment
October 8, 2019
October 10, 2019
October 15, 2019
October 17, 2019
October 22, 2019
October 24, 2019
October 29, 2019
October 31, 2019
November 5, 2019
November 7, 2019
November 12, 2019
November 14, 2019
November 19, 2019
November 21, 2019
November 26, 2019
November 28, 2019
December 3, 2019
December 5, 2019

Assessment

Coursework:

This will be announced shortly -- expect coursework in early to mid-November.

Paper summaries:

As part of the course, you'll be expected to submit three paper summaries for the papers -- you'll get to pick which papers you want to write the reviews for. This should be individual work. Check the calendar below for the paper review submission date. To help you with this, we provide a paper summary template, which you should fill out.

Exam:

TBD...

Your mark

  • 15% Coursework (including paper summaries)
  • 5% Course participation
  • 80% Final exam

Contact Us