Teaches students how to create and use their own computational techniques to explore optical physics, devices and systems. Learning is project-based, that is no traditional homework or exams are used. Instead, students write their own series of different numerical tools such as finite difference time domain and Fourier beam propagation. Previously offered as a special topics course. Recommended prerequisite: ECEN 5696 Fourier Optics or equivalent and some familiarity with a numerical programming language such as Matlab is strongly recommended.