Skip to main content

Section B.4 Projects

A comprehensive guide to all the parts of all of the projects for the text.

1.2 Project: Gaining Familiarity with Python

Activity 1.1 KidRSA project files
Activity 1.2 Using Python as a simple calculator
Activity 1.3 Encoding strings into lists of integers
Activity 1.4 Applying KidRSA
Activity 1.5 Implementing Euclid’s algorithm
Activity 1.6 Hacking KidRSA

2.2 Project: Permutations in Python

Activity 2.1 Permutation project files
Activity 2.2 Start the __init__ method
Activity 2.3 Flesh out __init__ with input validation
Activity 2.4 Representations of permutations
Activity 2.5 Calling AlgoPerm
Activity 2.6 AlgoPerm methods for domain and after
Activity 2.7 Inverses of AlgoPerm objects

3.3 Project: Implementing cryptography in Python

Activity 3.1 Practice makes perfect
Activity 3.2 DIANA: Vigenère-style encryption
Activity 3.3 Extending the AlgoPerm class

4.2 Project: Vectors in Python

Activity 4.1 Initialization of the AlgoVector class
Activity 4.2 Overloading + and *
Activity 4.3 Adding a conjugate method
Activity 4.4 Adding inner_product and norm methods
Activity 4.5 Testing AlgoVector by computing interesting values

4.4 Project: Matrices in Python

Activity 4.6 AlgoMatrix initialization
Activity 4.7 Matrix entries and testing equality
Activity 4.8 Multiplication in AlgoMatrix
Activity 4.9 Addition in AlgoMatrix
Activity 4.10 AlgoMatrix as column matrices
Activity 4.11 Complex conjugate of an AlgoMatrix
Activity 4.12 AlgoMatrix augmentation
Activity 4.13 Transpose of an AlgoMatrix

5.2 Project: Gauss-Jordan Elimination

Activity 5.1 Implementing the elementary row operations
Activity 5.2 Implement Gauss-Jordan Elimination with Partial Pivoting
Activity 5.3 Identity matrices
Activity 5.4 Inverse matrices