C语言程序设计课程总结

第一次教授C语言程序设计课程,相比计算机组成原理、arm体系结构等偏向硬件的课程,C的教学方式要灵活一些。计算机组成原理课程偏向理论,哈尔滨工业大学的计算机组成原理是国家精品课,增加了mooc+spoc的方式,但主要还是课堂讲解。arm体系结构也是硬件课程,之前的经验是学生都不太爱学,抽象,下学期预备改革的方式是加入汇编编程,或者使用开发板。这学期C语言程序设计课程教授课程中做了一些尝试:

博客

首先我很喜欢博客,喜欢将所学所讲写下来的踏实感。在我自己假期备课C语言课程的时候尝试了3种方法:

  • 看课本,课本内容是最基础的,学习应该从基础的开始看,但是悲剧的发现我看不下去,或者看过一遍只是大概知道主要内容,但是却讲不出来,之所以讲不出来因为理解不够透彻。
  • 看mooc,翁恺老师的C语言程序设计是mooc中访问量数一数二的,然后我开始“听”课,当然在实践的时候也会使用devc++编译运行,但是一天下来感觉和看课本类似,还是觉得知识并没有吸收到脑袋里。
  • 边看mooc边记博客边动手编程,扔掉课本,专心看翁恺老师的mooc,用devc++编译器将所有代码都敲写一遍,并将学习到的内容都写在博客里,虽然这样速度比单纯看课本和看mooc要慢很多,在听前几节课的时候,几个小时可能只学习了30分钟的mooc,但是这30分钟的内容却都实打实的记在脑里了!虽然大家都说谭浩强老师的课本比较绕,但当我学习完一章节的mooc内容,再回头看课本的时候,发现课本内容很简单清晰明了了。

其实我并不是有意尝试三种方法,而是为了把C语言知识掌握了不得不做的,但是从这件事情可以看出动手的重要性,学习的时候应该动手,教课的时候应该让学生动手:

  • 学习的东西要动手,怎么算动手?
    • 上课听老师讲课的时候或者听mooc的时候,要记笔记,上课不像听mooc可以回放,手也没那么快,不能将所有东西都记录下来,那就记知识点,如果听了40分钟,能够把老师讲解的知识点总结记录下来,这节课就吸收了80%。
    • 看书的时候随手记下所感所想或者是疑问,看专业书的时候是有必要的,看课外书也有必要,很多人写读后感就是从随手记录总结出来的。
  • 教课的时候要让学生动手,如果老师单纯的讲解知识,渐渐就会演变成老师的独角戏,实在不想再去演独角戏
    • 让学生动手编程
    • 课堂考核
    • 等等,肯定还有其他很多办法,这里就要说到博客的另一个好处,可以看到很多老师讲课的细节,比去听课去听讲座的效果还好,这里尤其推荐娄老师,一方面和娄老师教的课程重合的比较多,另一方面娄老师是个爱写爱总结的,所以从他的博客学习到好多。

另外写博客还有一个好处,好记性不如烂笔头,像吴军老师在硅谷来信中说的:

只有善于写作和记录,总结每一次成功的经验,或者某一次失败的教训,才能让自己做第二件事情的时候站在第一次的基础之上,第三次站在第二次的基础上,这样才有叠加效应,能不断的前进。
人的记忆力是有限的,不可能做到第十件事情的时候,能够把前九次的细节记得一清二楚,因此很多人做事情总是不断重复错误,很难获得叠加式成功。

叠加效应在教师这个行业更是非常适用,目前利用博客学习的方式是学习->记笔记->捋顺思路->写上课大纲博客->写ppt,为了让上课的效果更好,下次预备修改为学习->记笔记->捋顺思路->做ppt->写上课大纲博客-->回头修改ppt,这样可以对上课内容多一次梳理。

用博客写作业

因为我自己从写博客获益了,然后就非常鼓励学生也写博客,强迫授课班级学生开博客写作业,学生一开始非常抵触,不仅学生我一开始布置作业的时候也是非常犯愁,不知道布置什么样的作业能够避免抄袭,博客电子版作业比纸质作业抄袭起来方便很多,事实证明抄袭非常严重。有几个原因:

  • 作业布置的不好,因为学习内容是比较基础的知识且学生学习动力不足,所以作业内容大多是让学生熟悉学习基础知识,或者像(抄例题)这种作业完全是强迫学生去学习。
  • 学生不习惯也不知道怎么写博客,写博客不仅是为了完成作业,更重要的是积累知识,建立自己的知识体系,写博客是给自己看的,目的是让自己一段时间后回头看这些知识的时候能快速回想起来,怎么想,假设读者是一点不懂计算机的大一刚入学的自己。另外写博客不能讲究完美,我自己最近也停更了,原因和一个同学跟我说的一样:计算机知识网上一搜很多人都写了,我干嘛还要写或者我不知道该写什么了。首先还是写给谁看的问题,要记得写给自己看,顺带给别人看,另外不能追求完美,一写惊人,就像吴军老师在硅谷来信的《第215封信:最好是更好的敌人》里说的:

虽然我们的目标是追求卓越,但是行动的步骤却是在固定时间,固定成本的前提下尽可能做好而已。只要我们保证下一次比现在更好,我们就能接近目标。但是,最好是更好的敌人,很多时候当我们看似在追求完美的时候,我们其实是在不作为!

所以,坚持写博客,即使照抄书里的内容,要知道抄一遍比读一遍记忆要深刻很多!

如何改进作业:

  • 需要学习结对编程,整个一学期的作业最好是一个场景逐渐累加
  • 借助教学辅助工具,例如PTA,实验楼,蓝墨云课堂等!
  • 学习teacherli的布置作业

教学方式

教学方式也做了两种尝试:

  • 仿效翁恺老师的上课方式,边讲解边实践,但是学生反应无法接受,原因是第一学期学C的时候老师授课方式主要是单纯讲解,学生动手实践的时间很少,不习惯于边听课边教学。实验了大概4周后,测试了几个例子,让学生当堂写,结果是两个班级70多人只有大概15个人完成。上课效果差的惊人,反思需要改进两点,放慢讲解速度,增加学生动手编程的机会。
  • 简单讲解基础知识,分析例题,然后出测试题,当堂记录成绩。惊讶的发现课堂测试题完成的人越来越多,也看到好几个同学的编程能力逐渐增长。但是等结课的时候才发现,很多人依然是抄袭,另外人数太多指导起来难度大。

改进方法:

  • 增加课堂趣味性:最近上下班车里放的都是吴军老师的硅谷来信,非常喜欢听并且上瘾,每天都会听好几篇,就我目前听到的内容,硅谷来信本质是两方面内容,一是大道理,比如慢生活,多阅读,终生学习,积极向上等,另一方面是it行业、投资等一些理论东西,当然硅谷来信肯定不止这些东西,但是这些东西很多人都讲,但是为何吴军老师讲解的让人上瘾,能听到心里去,我很多时候听完都有一种幸福感,充满精气神,并且像润物细无声一样,悄悄地改变了我很多的观念。那吴军老师如何做到的,我觉得最大的特点是每封信都从讲故事开始,故事每个人都爱听,讲完故事总结的理论或者大道理就很容易让人接收,所以需要重看吴军老师的浪潮之巅、硅谷之谜和智能时代。预备在下学期的C基础和arm体系结构中,每次课讲解一个小故事。
  • 改变别人从改变自己开始:不要对学生抱有希望,默认大家什么都不会,大一的自然什么都不会,给大三的上课也发现基础知识都忘记了。另外态度温和,减慢语速,坚决不能抱怨学生,吸引而不是强迫学生去学习。这也是最近去听学校的教学大赛的最大感受,我听的都不是我所在专业,默认都听不太懂,但是后来获得冠军的老师的讲课让我很有感触,她的语速语调让人不自觉地想听她讲。
  • 翻转课堂不能着急:这学期的另外一门课嵌入式系统程序设计,内容和娄老师的[信息安全系统设计基础]有很多重合,并且娄老师成功的翻转了课堂,我依葫芦画瓢也去翻转的时候我发现翻转不过来,需要准备的东西超出了我的想象,而我对这门课的积累还远远不够,就像比尔盖茨大学退学了,我们都要仿效退学吗?当然不是你得先考上哈佛再去考虑是否退学的问题。另外像学校80岁的老校长说的,目前我们的学生不适合翻转课堂,自学能力和积极性都不够。因此打好地基再去翻转,不过很多其他的教学手段还是可以学习的。

posted on 2017-05-19 12:07  niuxiaoxia  阅读(4570)  评论(2编辑  收藏  举报

导航