Critical thinking is not necessarily analytical thinking.
One can be deeply analytical and yet not really critical. For example, some people that know all details of a religious text and can argue its points very well, while not paying attention to its limitations/inconsistencies or influences.
Not trying to bash religious people, just giving a common example.
Debugging requires critical thinking, as does programming in general; it's not just analytical. A course in programming would do everyone's mind some good just as reading does; it changes how you think.
One can be deeply analytical and yet not really critical. For example, some people that know all details of a religious text and can argue its points very well, while not paying attention to its limitations/inconsistencies or influences.
Not trying to bash religious people, just giving a common example.