From the humble logic gate came the CPU. The CPU begat machine code, machine code begat assembler, assembler begat C, C begat the Windows API and finally the Windows API begat the .NET Framework. So to come full circle, I thought I'd implement logic gates on top of the .NET Framework.
I've implemented OR, AND, XOR and NOT gates, along with a switch for setting inputs and a light for seeing outputs. Just place the gates on the VS.NET forms designer and hook them up through their properties.