Creating a Better Digital Logic Simulation for Teachers and Students

Date of Completion


Degree Type

Honors Thesis


Computer Science (CMSI)

First Advisor

John David N. Dionisio, PhD


When learning the basics of electrical engineering, it can often be difficult to format information in a way that is easy to teach and learn. This difficulty is especially apparent when it comes to choosing software for digital logic simulation. Although there are a variety of options, many are lacking good design and easy usability. Furthermore, many softwares do not have all the features needed to teach and learn. My project was to create a standalone desktop application that combines intuitive design, straightforward interactions, and a suite of all the basic features and functionality required for teachers and students to demonstrate digital logic circuits effectively.

From taking electrical engineering courses at LMU, there were a number of things I found frustrating with the digital logic software we used as a class. Knowing that other students were frustrated by these same shortcomings, I decided to rebuild the basic functionality of this software from scratch, with simple intuitive design as the primary goal. I built the software with Python 2.7 using the PyGame graphics library.

My completed software includes: Digital logic gate simulation from the seven basic gates, interactive input components (switches), clocks, and simple output lights. My software also has tools for describing the circuit, including: truth table generation and timing diagram generation. The user is also able to save and load circuits. Circuits wiring can also be simplified by nodes which allow branching connection lines and line angles.

Interactive Logic, is now a fully developed software application and can be downloaded and used by anyone interested in creating and learning about digital circuits made from logic gates.