Should all computer science courses from a reputable university contain programming? Right now, I am taking a BSc in computer science from a more reputable online university. Courses from there are transferable to most major Canadian universities. I would have preferred to take it from a brick-and-mortar place, but I wanted to just get as much done as fast as I can. In addition, I already have a degree. 

Now, many of the programming courses (e.g., Beginner's Java, C++) are quite intensive even coming from a programming background. Some courses like Data Structures go through the concepts as well as have you code them (also fairly involved). However, some courses like Operating Systems and Computer Networks do not have a programming component. They are quite intensive, but I’m worried that not having a programming component will render my learning useless by future employers. (Though, on the other hand, they do have courses like socket programming that does cover that aspect)

So, I am wondering: Do brick-and-mortar universities typically have every computer-science course require you to program?
No, computer science is much more than just programming. That's what makes it science.

Introductory CS course tend to focus on programming, but as you get deeper into the subject programming becomes less central. Thus many (maybe even most) graduate-level CS courses at top universities do not involve programming at all. (Of course, graduate courses on systems or security will still involve programming, but it's no longer universal.)

By the same token, assembly code, digital circuits, and semiconductor physics are all vital to how computers work in practice, but we don't expect those to be a ubiquitous part of computer science education. We are able to abstract away from the implementation details of how our Python script gets executed. Likewise, more advanced topics in computer science will abstract away from the practical aspects of computing.

For example, course in computability and/or complexity theory is unlikely to contain programming aspects. The reason being that these subjects focus on what is impossible to compute and such impossibilities do not depend on what programming language you use or how good you are at debugging. That is, these scientific questions require you to think more abstractly. Similarly an advanced algorithms course may avoid programming assignments because (i) it's assumed (i.e. is a prerequisite) that the students could in principle implement the algorithms and (ii) the algorithms are complex and it would take a lot of time to implement them with little pedagogical value.