I do like the idea of an internship!
Real-world experience can not be overvalued. That being said, I'm still working with the parameters in my original post. Small. Liberal Arts. College. This isn't a huge program, I've consistently had between 12 and 20 students in the major, of all grade levels and wide differences in skill levels, experience, exposure, and mathematical prowess.
I know it may be hard for others to understand what my student landscape looks like, but after more than a decade, I feel I understand them. But a year of strictly theoretical CS, and I'm looking at 2 to 7 students in the major, and filling out my teaching schedule with writing classes.
Looking at a newly built house, you see that all levels of craftsmanship have been employed. If every contractor is a framer, because it's the fundamentals of building, your interiors look pretty basic, and let's not even mention plumbing made out of lumber!
What I'm trying to say is that I've tried my own version of CS snobbery and highmindedness, and it isn't working. I'm looking to design a computing major that isn't producing only framers.
I appreciate your input, please reread this post and my original post, and try to put yourself in my position, then send me some more suggestions!!