Spring 2025, Willamette College, Salem
TTh 1450-1620, "Salem TBD"
Ford 3rd Floor
A semester-long study of topics in Computer Science that specifically includes a collaborative programming project that applies or extends the content of CS 152 or more advanced classes.
Systems research joins together the theory and the practice of computing, and cryptography is a perfect microcosm of this dynamic. As a guided study of low-level implementation of computer systems, this course will study the RSA and SHA cryptographic at once in theory and practice, and then build these cryptographic elements into emergent systems using data structures and algorithms such as Merkle trees and blockchains.
Spring 2025, School of Computing and Information Sciences, Portland
Th 1800-2100 GPC 212, 1hr asynchronous
Ford 3rd Floor
Cybersecurity can be understood as a mindset or approach rather than a subfield of computer science, such as secure mobile computing, network and operating system security, secure data bases, and secure cryptography algorithms. This course prepares a general audience to incorporate security concepts and ethics into their daily lives and offers some basic familiarity with writing security oriented code.
Week | Talk | Demo | VoDs | HW's |
---|---|---|---|---|
Part 0 | ||||
0x0 (13 Jan) | Podman | Alpine | Cipher | Enigma |
Part 1: Cryptography | ||||
0x1 (20 Jan) | C89/99 | Printb | x86-64 | Macros |
0x2 (27 Jan) | SHA256 | Resist | GPGPUs | SHAinC |
0x3 (03 Feb) | Modulo | BigNum | Turing | Euclid |
0x4 (10 Feb) | KeyGen | RSA.py | Qiskit | RSAinC |
0x5 (17 Feb) | Hashes | Arrays | Caches | Linear |
0x6 (24 Feb) | AES128 | Tables | Galois | Review |
0x7 (03 Mar) | Review | Midtrm | ||
Part 2: Cryptocurrency | ||||
0x8 (10 Mar) | Chains | struct | object | PyList |
0x9 (17 Mar) | Blocks | min.py | CDwork | Proofs |
0xA (24 Mar) | Spring | Breaks | Spring | Breaks |
0xB (07 Apr) | Graphs | B-tree | xorlst | heap.c |
0xC (14 Apr) | Merkle | Wallet | airgap | TxTree |
0xD (21 Apr) | Server | Client | NLynch |
"Cheat Sheets":
This course will be conducted via Podman containers on a host machine.
This course will use GitHub to distribute source code.
This course will use vim to edit code.