One of my former students is the CTO of a startup these days. He posted today about the need for all of the employees of his company to be “whiteboard ready.” His theory is that "He who controls the whiteboard controls the conversation." The idea is a lot more than just presentation skills though. In many meetings the closest thing to official notes is what shows up on the whiteboard in the course of the meeting. The person at the whiteboard has a lot of control over that and by extension both the course of the meeting and the action items that result from it. It takes some confidence to stand up at that whiteboard though. Not everyone is ready for that.
I like the idea of finding ways to put students in the front of the classroom. There are several ways to do that. One that is traditional is to have students prepare and present lessons. I had a professor in graduate school who used this to good effect. One of my classmates complained that he was paying money to be taught not to teach himself but I think he looked at the experience all wrong. One really has to understand something to teach it so we all get a real deep learning on that topic. Since everyone worked hard (the presentation was graded) we all got a lot from each lesson as well. Plus it was a confidence building experience. Once you present a topic in front of a professor whose PhD research was on that topic and get a good grade it makes you feel like you know something. Having students teach is valuable on many levels.
I think there are even more opportunities in a computer science class though. I would like to see students take turns leading discussions on designing solutions to programming projects. This simulates the sort of discussion that goes on in professional meetings. It also asks students to talk their ideas out and do some planning before starting code.
There is also the option of code reviews. These don’t have to be on student code though that is possible. Ideally the person at the whiteboard leading the discussion would not be the person who wrote the code though. You want someone who could be impartial and not emotional about the discussion. Code reviews are a great skill to have and a great learning experience as well. Rotating students though leading code reviews gives them experience running meetings as well.
In conversations with industry professionals the topic of soft skills comes up regularly when discussion of outcomes that are desirable in students. Being able to lead a meeting, make a presentation, manage a code review, and generally show leadership ability are the sorts of things employers want to see in students. Developing those soft skills in way that support the overall learning process is a win win for everyone.