Mathematical Foundations for Computing

  1. Integers and Number Theory
    1. Divisibility and Modular Arithmetic
      1. The Division Algorithm
        1. Quotient and Remainder
          1. Uniqueness of Division
          2. Divisors and Multiples
            1. Definition of Divisibility
              1. Properties of Divisibility
                1. Common Divisors
                2. Prime Factorization
                  1. Unique Factorization
                    1. Finding Prime Factors
                      1. Applications of Prime Factorization
                      2. Modular Arithmetic Operations
                        1. Addition Modulo n
                          1. Multiplication Modulo n
                            1. Subtraction Modulo n
                              1. Properties of Modular Arithmetic
                              2. Congruence Relations
                                1. Definition of Congruence
                                  1. Properties of Congruence
                                    1. Solving Linear Congruences
                                      1. Systems of Congruences
                                    2. Primes and Greatest Common Divisors
                                      1. Prime Numbers
                                        1. Definition and Properties
                                          1. Primality Testing
                                            1. Distribution of Primes
                                              1. Sieve of Eratosthenes
                                              2. The Fundamental Theorem of Arithmetic
                                                1. Statement and Proof
                                                2. Greatest Common Divisor
                                                  1. Definition and Properties
                                                    1. GCD of Multiple Numbers
                                                      1. Relatively Prime Numbers
                                                      2. Least Common Multiple
                                                        1. Definition and Properties
                                                          1. Relationship Between GCD and LCM
                                                            1. Computing LCM
                                                            2. The Euclidean Algorithm
                                                              1. Standard Euclidean Algorithm
                                                                1. Extended Euclidean Algorithm
                                                                  1. Applications of the Euclidean Algorithm
                                                                    1. Complexity Analysis
                                                                  2. Applications of Number Theory
                                                                    1. Hashing Functions
                                                                      1. Modular Hashing
                                                                        1. Hash Table Implementation
                                                                          1. Collision Resolution
                                                                            1. Universal Hashing
                                                                            2. Pseudorandom Number Generation
                                                                              1. Linear Congruential Generators
                                                                                1. Properties of Good Generators
                                                                                  1. Testing Randomness
                                                                                  2. Introduction to Cryptography
                                                                                    1. Caesar Ciphers
                                                                                      1. Modular Arithmetic in Cryptography
                                                                                        1. One-Time Pads
                                                                                          1. Public Key Cryptography
                                                                                            1. RSA Algorithm
                                                                                              1. Key Generation
                                                                                                1. Encryption and Decryption
                                                                                                  1. Security Considerations
                                                                                                    1. Digital Signatures