Teaching Material
I take some pride in providing decent teaching material, but my preferred
approach means you need to keep a few things in mind when using them:
- Since I teach (or have taught) a variety of units which are on one
hand diverse but on the other hand related, overlap occurs. When
the overlap is significant, I don't try to create different sets
of materials for different units: I use one set.
- Where I have previously developed some material which is now deemed
extraneous (for whatever reason), I still include it; usually this
takes the form of a section marked "extra" (or "an
aside" or similar). To cope with this, I've provided a core
set of slides used in lecture and an extended set of notes for
printing and further reading.
The advantage of this approach is that I can more easily keep the material
consistent and up to date; the disadvantage is that the material is overly
detailed in places, and might include detail you don't need to worry about.
I will always point this issue out when covering the material in a lecture,
and ensure that a definitive, clear syllabus is available to aid revision:
if I skip over the "extra" material in a lecture this is usually
by design, not (always) because I'm lazy or have run out of time!
"Computer Architecture Theme"
(e.g., COMS12700,
COMS12600)
(related material also available via a book)
- Mathematical preliminaries:
- Basics of digital logic:
- Basics of computer arithmetic:
- Basics of memory and storage:
- Introductory Verilog:
- Basics of processor design:
- Worksheets:
"Theory Theme"
(e.g., COMS21103)
- Implementation techniques:
- High Performance Computing (HPC):
- Examples (or case-studies):
- Worksheets:
(related material also available via a book)
- Implementing cryptographic arithmetic:
- Multi-precision integer arithmetic
[ slides |
notes ].
- Modular arithmetic (large prime)
[ slides |
notes ].
- Exponentiation (and scalar multiplication)
[ slides |
notes ].
- Symmetric primitives:
- Asymmetric primitives:
- Physical security:
- Protocols and schemes:
- Examples (or case-studies):
- Worksheets: