With my sixth graders, I use Hands on Equations to begin solving equations. We start with the manipulatives, move to drawings, and then on to solving equations. Some students always need the manipulatives, others are ready to start at the equation stage. Connected Mathematics also has a some great lessons using coins and pouches that is really great at providing context to solving for a variable.
I am unsure at this point how programming can help with the transition, but I am excited to learn more about this!