Making Math Meaningful - not sure if it's still around - was what my mother used when I was homeschooled. It introduced concepts like variables from the very beginning, but without letters: one problem might be 1 + 1 = [ ]. A week later, you might see 1 + [ ] = 2. Eventually it just becomes intuitive what the missing box should be. Unfortunately, because I knew the theorums behind why you could do it intuitively instead of discretely, I had a hard time when I ended up in public school...