The objective of this course is l
earn the basics ofcryptography and its application to network and operating system security.
At the same time we will explain core concepts around
network security threats and their countermeasures
gain hands-on experience with programming techniques for network security problems and finally
obtain background for original research in network security. Throughout the course we will have 3 or 4 guest lectures from leading industry experts/researchers that deal with various network security problems in daily bases.
Prerequisites: Computer Networks (CS 4251/ECE 3600), Operating Systems, and Discrete Mathematics. Programming languages: C and/or python and/or Go.
Instructor: Manos Antonakakis
Office: Klaus 3366A
Class location: ES&T L1205
Class date/time: MWF 2:05 pm - 2:55 pm
Office hours: MWF 3:10pm to 4:10pm @Klaus 3366A
Teaching assistant: Yizheng Chen
Office hours: Tuesdays 2:00 - 3:00 pm
Email address: email@example.com
Location: Klaus 3110
Teaching assistant: Panagiotis Kintis
Office hours: Wednesday 12.00-2.00 pm
Email address: firstname.lastname@example.org
Location: Klaus 3108
Note: The time slots for the guest lectures are subject of change according to the availability of the speakers.
Course Expectations, Requirements and Policies
All students must follow the academic integrity and Georgia Tech Honor Code described here: http://www.honor.gatech.edu/plugins/content/index.php?id=9
I. Course requirements
Each student is required to complete a mid-size project being part of a larger team. The project description will be given to the teams in the 4th week of the class. The teams will be assembled according to the grade distribution of the first quiz. That is, we will create even teams that will tackle these course-long projects. We anticipate the teams to be between 5 and 8 students. The responsibilities for the team will be to provide a 10 page technical report around their project.
The codebase needs to be either in C, Python or Go. It also needs to contain clear technical documentation about 1) the environment assumptions, and 2) the execution process. The TAs and I should be able to operate your code without you being in the room. Each team will be assigned a Debian virtual environment that should be used to prototype their project. The (no more than 10 pages) report should include at least 4 sections: 1) A brief (no more than 3 paragraphs) description of the problem and the proposed solution, 2) a background and related work, 3) an overview of the proposed solution to the problem and 4) the results from the experiments. The paper, code base for the project and the presentation is due the same day for all teams (11/21/2014). In the last two weeks of classes, each team will have to give a 30 minute research presentation for their project, a 5 minutes demonstration in class that their codebase actually works, and answer questions from the audience.
Clearly, this project requires a lot of work. Therefore, mandatory requirements for the project to be successful are: 1) learn to work as part of a team, 2) learn to write code that other people may use, 3) learn to write a technical report, and 4) learn to present your ideas. The grade distribution for the project is as follows: 40% codebase, 30% presentation, and 30% the technical report.
III. Grading Scale
There is no curve in this course. However, we may elect to include extra credit assignments at various times during the semester. The grading breakdown is as follows: NOTE: Grading subject to minor changes.
IV. Letter Grades
Letter grades are given according to the following cutoffs with no rounding:
V. Appealing Grades
You have the right to question your grade on any assignment; but you must initiate discussion about the grade within one week of receiving the grade. All re-grade requests should be sent via email to the TA for your section. In the email, include your T-square id and a clear description of which questions you would like reviewed and why.
Grade issues addressed outside of the requirements listed above will not be considered. Pay attention to your grades. If something doesn't look right, address it immediately! Be sure to follow the guidelines outlined in the "Problem Escalation Policy".
It is your responsibility to ensure that all the grades in T-Square are correct before finals week. After that, the only grade appeal will be about grading your final.
VII. Problem Escalation Policy
If you need help and/or have a problem, you should contact the following people in the following order:
(1) Your TA
(2) Your Head TA
(3) Your Instructor (e-mail)
If you are not comfortable talking to your TA about a particular issue, please contact the professor ASAP.
VIII. Excused Absences
If you must miss an exam for a school-approved reason, it is your responsibility to provide adequate documentation and get approval. If you miss your test / exam period without prior approval or a valid excuse, you may be approved to take a makeup test, but you will be penalized 25% of the maximum test score possible (so the maximum score). ***CAUTION: the preprinted note from the infirmary stating that you visited the infirmary is not sufficient documentation.*** Please contact the Dean of Students with your excuse and they can provide you with the proper documentation. http://www.deanofstudents.gatech.edu/content/4/contact-directions
IX. Open Door Policy
The instructor maintains an open door policy. You are free to visit me during the posted office hours or, if you prefer a different time, arrange an appointment with me. It is very important to contact me as soon as you feel that you might need to. Problems, unlike fine wines, typically do not to improve with age.
The last day you may drop the class for the Fall 2014 term is October 10th.
Full Disclosure: Portion of the class policies have been stollen from the syllabus of CS1371, created by Charles E. Phillips.