semester project for cs 150 - components and design techniques for digital systems