This document simulates the bit error rate (BER) of binary phase-shift keying (BPSK) modulated data over an additive white Gaussian noise (AWGN) channel, a Rayleigh fading channel, and an AWGN channel with direct sequence spreading, and compares the results to theoretical BER values. Monte Carlo simulations are performed to calculate BER for varying signal-to-noise ratio (SNR) values. The simulated BER values closely match the theoretical curves, showing that BPSK and direct sequence spread BPSK perform similarly in AWGN, while the Rayleigh fading channel significantly degrades performance.