algorithms before algebra?
Basically, what is an algorithm, besides a series of self-contained logical steps, including the idea of decision points (conditionals) and looping? Leaving aside other practical issues like input/output and variables or data structures, that boils down to only three very simple concepts, which should be very easy to teach and demonstrate, whether it's with flowcharts, traditional programming languages, or hybrid pedagogic languages like Squeak.
Even these simple concepts don't have to be introduced formally and all at once. Lesson plans can be structured in such a way that kids are learning these concepts before they even see a flowchart or whatever. Take something like teaching them about quotients and remainders by repeated division (which can be taught with physical props or analogies, such as a string on a spool). You can gauge their grasp of the concepts by asking them simple questions like "what's our next step here", "are we finished yet", "how many times did we wind the string", "how much string is on the spool", "how long is the rest of it", and so on. Later, you can ask the same questions in the context of a simple flowchart and show that the two approaches are identical.
If kids had a basic idea of what an algorithm is in these terms, who's to say that it's not going to make it easier for them to get a handle on what's going on when they come to study algebra? Many topics in algebra have natural algorithmic counterparts. For example: positional number systems (dealing with carries, doing long multiplication/division), solving simultaneous equations (with matrices and Gaussian elimination), affine transformations (possibly using iterated function systems as a fun diversion), solving single equations (Newton's method, or simply using a computer program to graph the equation; also Logo-like languages and tools--like DrGeo, for example--in general are a handy tool for learning trigonometry), symbolic calculus (though I think that Prolog-like languages might be a bit too advanced) and so on. This may not suit everybody, but I think that at least giving kids the basic tools, and tailoring the teaching methods that work best for different groups of students, you're much more likely to get students to understand maths and algebra and get much better results as a consequence. At least a multi-stranded approach has more of a chance to engage kids' imagination and critical faculties.