为什么大学老师教编程上课都不敲代码?
我上课就是现场编程，而且还经常脑子一热，冒出来个新想法，就立刻众目睽睽下开始实现。虽然知道事前没有准备，会有做不出来的风险，但心里种了草，忍不住呀。（有时候为了增加课堂上的意外性，我还会在备课时故意留一点尾巴不备。） 所以有时候就会被卡住，折腾半天搞不定，这时只能给学生承认翻车了，并承诺回去搞定了再在qq群里告诉大家。奇怪的是，站讲台上半天搞不定的，我回到家不一会就搞定了。看来站讲台上还是压力大。 我上课只有代码，没ppt。 学生都怪我没有ppt。 说完我自己，再来回答题主问题： 带编程类课程的老师，很多都是假期才赶鸭子上架自学的，开学就教学生，所以水平非常有限，仅限于能看懂并调通书上例题的水平，代码稍作改动，可能就不知道哪里出问题了。 书上有的代码，上课再现场敲进电脑，没啥意思，所以一般都是直接拿现成的演示。而且，万一没敲对引起问题了呢？ 老师的主业是发论文，编程这些事情会被认为是不务正业的没技术含量浪费时间的粗活。所以都不愿意花时间去琢磨。 有些老师怕在学生面前暴露出“不行”，尤其是那些学生当完直接当老师的，心里师生等级观念比较强，所以会避免现场敲代码。我以前是职业码农，跟公司的老哥哥小兄弟们厮混惯了，所以技术上比较放肆，尊卑上比较不在乎。 教室里教师机上没有编程环境，或者配置有问题，没法用。自己带笔记本来又嫌重。带个优盘，只能给你放ppt。 学校有时会要求老师们上交ppt来检查，所以更愿意做成ppt。而且现在多数教材都自带ppt（带不带ppt也是老师们选择教材的重要指标）。 最后说个题外话，论对计算机的了解程度，大学计算机老师跟码农是比不了的。目前各高校计算机学院的教师中，有大量都是其他专业的博士（比如学通信的、自动化的、数学的，就是那些数学训练比较多的专业），就算是计算机专业出身的博士，搞的研究也大多不是系统软件方向。那搞啥？人工智能呗，很多专业都在搞这个东西，计算机的人搞它并没有啥优势，所以才会让外专业的博士“入侵”计算机学院。那这些老师，你能指望他多懂计算机吗？这些外专业的老师，既然进了计算机学院，你能不给人家排课吗？不排课教学工作量怎么完成？
我是要敲的，而且尽量从空白开始敲，甚至基础代码框架每次课从头敲。 我觉得这样可以帮助更多的“0”基础同学找到感觉。 当然会有翻车，即出现bug，但这刚好是演示如何查找定位bug，解决bug的好机会。 这反而会证明，bug不可怕，总有解决办法。 