Learning by Code