Implementation Projects in a Computing Theory Course