Build to Learn: How Learn-by-projects Transforms Aspiring Coders into Engineering Masters