area
sect 1
CSCD - Cryptography
Syllabus
Class Times
| M,T,Th,Fr | 9:00 - 10:00 | CE 204 |
Text
| Modern Cryptography | Wenben Mao | |
| Practical Cryptography | Schneier | |
| Handbook of Applied Cryptography | Menezes, van Oorschot, Vanstone | |
|
|
The Schneier book is a good, relatively non-technical overview of the subject. The Mao book has excellent
and reasonably up-to-date coverage, but can be mathematically intimidating. The Menezes book is available
online and while a bit old is still an excellent book on the basics of the subject and contains a wealth
of detail that may not b e available in other places.
You should try to read the texts completely (once through) as quickly
as possible. I encourage you to read (not study ) the text
three times during the course of the term.
Software
I use Debian and Ubuntu (both Linux) primarily and any programs you
might write should run on these systems, so you should test them there.
Otherwise, there are no limits on what software you might use - though if
you do use something strange, you should ensure that I can install anything
needed on my system. Thus, any programming you might do can be done in
any language that runs on Linux systems - that includes C, C++, Java,
Python, Erlang, C# (Mono), Haskell, O'Caml ...
Class Goals
You should leave this class with a basic understanding of some (small, by necessity) parts of AI. You should also know enough about AI to know where to look for answers and enough to know when you're out of your depth (which is not difficult in this area).
I assume that you have a basic understanding of programming and of how to solve
problems in the general area of computing.
Academic Integrity
Unless otherwise noted, you should work on each of these assignments on your own. Copying
other people's work is considered a Bad Thing and may result in failing the assignment,
failing the class or in you being reported to the department or the University. This
includes copying the work of other people in the class as well as copying work directly from
the web.
If an assignment specifically allows you to work in groups, you should consider that
a strong recommendation to do so. This does not relieve you from the constraints
of the Academic Integrity rules - you should not copy work from other groups, nor
should you copy work from elsewhere (the web, for instance).
You should (if you have not already done so) read the University web page on academic
integrity.
Violations of the Academic Integrity policy or of the ACM Ethics Guidelines are subject to punitive action. This
may (at the discretion of the instructor) range from a Good Stern Talking To to failing an assignment or the course
up to formal university or even (when appropriate and necessary) legal
actions.
Class Structure
I intend to lecture on some aspects of AI (particularly those that interest me) for the first four weeks.
After that, I expect you to prepare writeups (papers) and talks on AI topics that interest you. See the section
on grading for details. I also expect you to participate in class discussions on these topics, so read the
writeups, look the topics up in the text or on the web and be ready.
You should read (but not study) the Schneier text
text completely by the end of the third week
of class.
Schedule
Dates in the calendar are for the Monday of the week, except for assignments
which are for the day the assignments are due.
Dates and topics are approximate and will almost certainly be moved around.
Calendar
Changes Are Probably Inevitable
| 1 | 18 Sept | Introduction | ||||
| 2 | 25 Sept | History of Cryptography | ||||
| 3 | 2 Oct | Underlying Mathematical Background | ||||
| 4 | 9 Oct | |||||
| 5 | 16 Oct | |||||
| 6 | 23 Oct | |||||
| 7 | 30 Oct | n | ||||
| 8 | 6 Nov | |||||
| 9 | 13 Nov | |||||
| 10 | 20 Nov | Thanksgiving | ||||
| 11 | 27 Nov |
Outcomes and Assessments
The successful student will demonstrate familiarity with the general scope of the field.
This mastery will be demonstrated by active class participation.
Class Structure
I'll be lecturing the first few weeks, then the students in the class (and myself depending on the size of the
class) will be taking turns to teach. I'll be
assigning in the first couple of weeks topics for each class period and that either myself or a student will
be taking that topic and preparing a class lecture on the topic.
We may discover in this process that there are other topics we'd like to hear about, or there may be
some short programming problems to take home and report on.
Grading
You will be graded on your class participation, and on the quality of your lectures.
Search (someday)
Notes
References
Oh foo