Lecture Notes

 Topic Section 001 Introductions Why mathematics? -- Sep For, while, if -- Sep Read from file -- Sep Interpolation -- Sep Visualization -- Sep Multiplication -- Sep Minimum cost network -- Sep Random variables -- Sep Craps -- Sep Review Week 1 -- Sep Week 2 -- Sep Week 3 -- Sep Week 4 -- Sep Week 7 -- Sep Week 8/9 -- Sep Week 10 -- Sep Matlab Suggestions Square Root -- Sep - an ancient algorithm Discussion -- Sep - why does the above work? Cube Root -- Sep - cube root algorithm Pi -- Sep - calculate π accurately Others -- Sep - additional problems to iterate Draw a circle -- Sep - use sin and cos to draw a circle Representation of Numbers and Characters as Numbers Byte Representations I -- Oct - what is binary and hexadecimal Byte Representations II -- Oct - binary, hex, character, decimal Arithmetic Operations I -- Oct - integer arith, 2s complement rep Arithmetic Operations II -- Oct - floating point rep and ops Bitwise Logic Operations -- Oct - and, or, xor, negation, shift left/right Algorithms for Nearly Real Problems Find largest number in a list -- Oct Find largest number in a matrix -- Oct Find best rational approximation for π -- Oct Search for a stored data item -- Oct Red-Black Tree -- Oct Minimum Cost Network -- Oct Shortest Path -- Oct Conceptual Solution Topological Sort -- Oct Discussion     Build Sort Message Encryption XOR three numbers -- Oct - an important crypto operation Simple XOR-based cryptography -- Oct - a weak approach to cryptography Brute force attack on XOR cipher -- Oct - what to do? Double lock protocol -- Oct - Cracking the double lock protocol -- Oct - A more secure version of DLP -- Oct - RSA: public key encryption -- Oct - Simple hash function -- Oct - Random Number Generator -- Oct - Karn: secret key encryption -- Oct - Statistics Discussion -- Nov