I just finished teaching an Upperline immersive 4-week web-app development class through Zoom. I echo Jeff's post and want to add some techniques I've cultivated for synchronous remote CS instruction:
DURING PAIR CODING
When you enter a breakout room where a student pair is coding, make sure one of them is sharing their screen, and they're using the driver-navigator protocol. They (and you) can also use the Annotate feature of Zoom (drop-down arrow at the top of the screen-share) to point out things you're referring to on their screen, much as you would point to a screen in person.
DURING FULL-GROUP CODE-ALONGS
When teaching in person, I've historically had one instructor drive (type) while the other navigates (instructs), and then students code along too. This feels more passive in remote instruction, so I've instead switched to using students as drivers. How it works: a student shares their screen and then types while I instruct, and all students follow along. When we get to a key step where students check their code is working (eg, does the website say, "Hello World" when it loads?), all students put a green check-mark in the Participants window to confirm they're caught up. (Use this tactic only for "are you with us" questions, not for checks-for-understanding.) For students who aren't there yet, I'll either have a TA help debug in a breakout room, or I'll have the student screen-share while we debug together. (The decision depends on student comfort and the nature of the bug - that is, will it be instructive for everyone to see the debugging because we'll all get that error eventually.) Then the student with the error becomes the new "driver" for the code-along.
FOR DISCUSSION-TYPE BREAKOUT ROOMS
Sometimes students go into breakout rooms to discuss a concept or problem rather than to code. In these cases, it's great to have one person take notes of who said what. Then when everyone comes back together, each breakout room's scribe posts their notes in the chat for all to read. As instructor, you can quickly pick out student responses you want elaborated upon in full-group discussion.
FOR ACCOUNTABILITY (ZOOM POLLS)
Zoom polls are quick to create and administer. When student pairs are coding in breakout rooms for more than 30 mins, I tell them to take a 5-minute break at some point. When they return from the breakout rooms, they answer an anonymous poll asking, "Did your pair take a break?" This helps with accountability and reinforces the importance of taking breaks - especially on Zoom.
FOR SUPPORTIVE CULTURE-BUILDING (PLAY REAL GAMES)
I use improv-style games in my school-year classes as well as in Upperline summer courses, to instill a supportive culture where everyone is comfortable making mistakes and laughing together. Last month, I had thought this wasn't possible on Zoom, but I assure you now - from experience - it is! For games that require physical motion, you may need to modify the actions to be above the shoulders. For games that require everyone to take a turn (eg, going around a circle), you can rename participants (or have them rename themselves) with a number in front of their name to make clear the order everyone should follow. And there are plenty of online games that serve this community-building function and can be played quickly, such as scribblio and spyfall.