GCSEs and A-levels are typically taken as 2 year courses, and is designed to be taught over 2 years. (in terms of the volume of content and format) There are some circumstances where an A-level is taken in a single year, (usually maths or further maths) but the school's approach is "correct" as per the above.
You can self-teach A-level CS. A lot of students wouldn't be disciplined enough to do this, but plenty are. 6 is a slightly low number, the usual is between 8 and 11. 6 shouldn't cause you many problems though. English may be taken as English Language and English Literature meaning you will get 2 GCSEs out of it (putting your total up to 7).