If you do well in high school you can obtain a lot of college level general education credit and knock off a year.
The last 2 years are probably more like what you did in 1 year.
In the UK the A-levels we do at the end of high school cover first-year uni material and there are no general education requirements at university.
The downside is we don't have the major system either - you pick what you will study at 18 before you go and it is rather difficult to change.
I preferred such a focused system but I can see why others may not.
Now, if we talk about memory optimization or the intricacies of concurrency, that's a much different story. Though, both of those things can't really be taught in the basic sense. They require a lot of experience to really understand.