I only really decided to go into engineering late in my final year of high school, and I used the local community college (conveniently located across the street from my HS) to take all the calculus and computer science classes that I didn't have covered. In a year, I covered my high school requirements, and my first year of university calculus, computer science, chemistry and physics. The class sizes were tiny, which was amazing, and to this day, I still think my Calc II and Intro to Java professors were two of the best I've ever had. I still have some of the textbooks my Java prof gave me from his own collection because he thought I'd take them further than his lectures.
I transferred into a pretty hard to get into mechatronics program with an OK GPA, but having a year and a half of post-secondary under my belt was a huge bonus when the kids who were coming into engineering school straight out of high school realized that our profs were just too busy to help.
It's really a path that I suggest to everyone that I've met who's just leaving high school. Take some time, save some money, and if you're lucky, get better student-prof interaction.