Logistics
- Professor
- Prof. Steven M. Bellovin
- Time
- Tuesday Thursday 13:10–14:25
- Room
- Zoom
- Office Hours
-
See my web page
Optional Quasi-recitation
Time to be determined, probably Tuesday evenings
TAs/CAs
Adam Hastings | <hastings@cs.columbia…> | Friday | 12:00pm-1:00pm |
Andrew Quijano | <afq2101@columbiu…> | Thursday | 5:00pm-6:00pm |
Archit Ajay Kapoor | <ak4427@columbia…> | Wednesday | 4:30pm-5:30pm |
George Litvinov | <george.litvinov@columbia…> | Monday | 8:30am-9:30am |
| | Wednesday | 8:30am-9:30am |
Ruth (Haoting) Wang | <hw2726@columbia…> | Thursday | 9:00am-10:00am |
Zoom link is on Courseworks.
Summary
Most security problems are due to bugs in ordinary application code.
This means that application programmers need some security background.
This class is designed for all computer science majors. Topics
covered included the basics of applied cryptography, memory
safety, firewalls and other network security techniques,
sandboxing, and access control.
Readings
- Optional text: Sean Smith and John Marchesini,
The Craft of System Security,
Addison-Wesley, 2007, ISBN 0321434838.
- Primary sources, as assigned.
Prerequisites
- W3157 (Advanced Programming) or equivalent knowledge
- Knowledge of C or C++
- Basic knowledge of socket programming is helpful, but
you can easily pick up all you need to know.
- W4118 (Operating Systems), W4119 (Networking), and
W4261 (Cryptography) are helpful but not required
- If you have any doubts, see me
Assignments
Approximately five programming homework assignments, plus
a full-semester group project.
Grading
Homeworks | 60% (lowest grade dropped) |
Interim project report | Optional |
Final project | 40% |