Just to add: Canadian universities are quite hungry these days for the extra tuition international students bring. If you call the schools of interest, I imagine they will be highly motivated to help you.

I would also agree that while UoT is a highly reputable school, if CS or engineering is your son's goal, a co-op degree from Waterloo has been a golden ticket to employment for about 50 years. (Note Waterloo is a small town and a pretty different environment from Toronto. Though if you are in co-op, you'll be moving around a lot anyways).

A different kind of consideration if you attend a Canadian school - there was a thread here a year or two ago comparing the types of courses students were typically required to take for a degree, with some international comparisons. You may find a Canadian undergrad degree is more intensely focused on its core subject than is usual in the US: we don't have a Gen Ed model. (In my day, for instance, first year chemistry involved math, chemistry, physics and CS (all versions specific to chem/ science majors), with an elective (anything whatsoever). Subsequent years were almost fully chemistry and chem-related courses). I've looked at some examples of the "required courses" for a degree more recently, and while there seem to be more requirements for courses outside your program, it varies quite a bit both from program to program, as well as from school to school, so you may find it's worth a look for preferred fit.

Aquinas - there's essays now?! ugh. There is, alas, some movement towards the US's more "holistic" entrance requirements, but again, this is going to vary enormously not just by university, but by faculty and program, so look up your specifics.

Same variation in giving credit for APs (it will be hardest to get at Waterloo, but still varies by program).