Breaking large problems into testable steps
Documenting and explaining a build to others
Connecting mathematics and science to visible outcomes
Working in teams with defined roles
Learning from failed attempts without giving up
Learning from failed attempts without giving up