This project aims to improve competency in students? use of programming and computational tools in engineering. Hardware is being introduced into the mix of educational tools as a means to bridge the gap between syntax and programming strategies. Based on three learning principles deemed critical for programming skills (student engagement, knowledge transfer, and self-directed learning), a set of programming toolkits and experiences is being vertically integrated through the curriculum and implemented at multiple universities. The project provides an innovative solution to the classic difficulty associated with learning to program; the contrasting demands between knowledge of programming language (syntax) versus programming strategies (problem solving with programs). The project involves diverse partnerships among four-year universities and community colleges to enable broad impacts for engineering students.