In this paper, we describe a new set of software functions and associated exercises that can be used for teaching orthogonal frequency division multiplexing (OFDM) concepts in undergraduate DSP and communications courses. These tools can be used to simulate, visualize, and analyze the performance and behavior of OFDM systems by considering different input signals and communication channels. OFDM is a compelling paradigm because of its utility in WiFi and LTE. It is also a good demonstration of the use of the FFT in a communication system. We have developed the proposed set of functions as a part of the Java-DSP (J-DSP) visual programming environment. The functions can be used in undergraduate DSP and communications courses, in order to demonstrate to students, the application of DSP concepts in a communication system, as well as concepts such as FIR filter design, properties of the DFT matrix, random signals, and circular effects.