第一次教授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岁的老校长说的,目前我们的学生不适合翻转课堂,自学能力和积极性都不够。因此打好地基再去翻转,不过很多其他的教学手段还是可以学习的。

C语言程序设计课程总结的更多相关文章

  1. C语言程序设计课程设计自查表格

    课程设计自查表格 序号 项目 完成与否(完成打勾) 1 格式是否符合标准(缩进是否规范) 2 是否模块化设计(使用函数分解系统功能) 3 函数名否易懂(不得使用f1(int a1,int a2)这样的 ...

  2. Java语言程序设计课程学期总结

    2016-2017 第2学期 课程介绍 编程类课程,76学时(44理论+32实验),学期末还有1周的课程设计. 问题与现状 4个班共120人,教师无法逐一检查每个学生的编程实验. 纸质作业质量不高. ...

  3. 2019年上-C语言程序设计课程内容

    第一节课 序言 为何学习C语言 打印hello world程序 编译步骤,认识编译器 冯诺依曼体系结构 hello world程序如何在计算机上运行的 第二节课 基本数据类型与表达式 求华氏温度对应的 ...

  4. JAVA语言程序设计课程评价

    紧张的又短暂的一个学期结束了,这个学期也许将成为我人生中一个重要的转折点,作为一名半路出家的选手,在初次了解Java语言时我感到非常的迷茫与不知所措.因为之前很多同学都是通过假期时间在家自学,刚转入新 ...

  5. 2018年秋季学期《C语言程序设计I》教学过程及学期总结

    一学期下来,问题很多,思考也很多,需要整理.总结,好的经验要形成规律,不好的地方要提示警醒. 教学过程小结: C语言程序设计I-第一周教学 C语言程序设计I-第三周教学 C语言程序设计I-第四周教学 ...

  6. C语言程序设计I—第一周教学

    这是在修改人才培养方案后第一次上C语言程序设计课程,本课程由原来的1学期80课时(周学时6)修改为2学期48(周学时4)+32(周学时2)课时的模式,开课学期也由一年二期改为大一整学年,当时修改的主要 ...

  7. 李志杰的C语言程序设计第一次作业

    这个作业属于C语言程序设计课程 : https://edu.cnblogs.com/campus/zswxy/CST2020-2 这个作业要求在哪里: https://edu.cnblogs.com/ ...

  8. 《C语言程序设计》课程教学目录

    <C语言程序设计>课程教学目录 不要去精确定义单个论题,应将一整套问题组织成体系.--黎曼(1826-1866)德国著名数学家 教学过程 2018年秋季学期 C语言程序设计I-第一周教学 ...

  9. 2019年春季学期《C语言程序设计II》课程总结

    2019年春季学期<C语言程序设计II>课程总结 1.课程情况 教学内容 课堂小结 作业安排 优秀作业 备注 1.开学谈心 2.测验数据类型.运算符与表达式的自学情况,并讲解测验题目3.第 ...

随机推荐

  1. 复制粘贴之插件(jquery.zclip.min.js)需要安装flash

    .line{margin-bottom:20px;} /* 复制提示 */ .copy-tips{position:fixed;z-index:999;bottom:50%;left:50%;marg ...

  2. (luogu P1594)护卫队[TPLY]

    (luogu P1594) 护卫队 题目链接 https://www.luogu.org/problemnew/show/P1594 很好的一个模型 题目大意 有一个有序的车队,要求将其分成若干段,每 ...

  3. Luogu P1410 子序列

    题目大意: 给定一个长度为\(N\)(\(N\)为偶数)的序列,] 问能否将其划分为两个长度为\(\frac{N}{2}\)的严格递增子序列, 输入一共有\(50\)组数据,每组数据保证\(N \le ...

  4. 好用的sitemap生成器—GY SiteMap

    好用的sitemap生成器-GY SiteMap 下载地址:http://www.wyxxw.cn/download-detail-6-8-14.html 网站地图可以更好的帮助搜索引擎抓取.收录网站 ...

  5. IT企业如何实现项目管理信息化的目标

    随着信息化技术的不断深入,企业管理方式逐渐向信息化管理转变.大部分IT企业也为了适应企业管理方式的变革,开始加强对管理信息化创新方面的建设.而IT企业在实现信息化的进程中,项目管理信息化其实是IT企业 ...

  6. openssh/openssl升级到7.4和1.0.2j 源码方式

    #!/bin/bashtar -xvf openssh-7.4p1.tar.gztar -xvf openssl-1.0.2j.tar.gz 升级 openssl 到1.0.2jcd openssl- ...

  7. 利用CDLinux里面的水滴破解路由器密码的教程

    工具: 1.CDLinux系统镜像(网上有很多,这里我提供一个我使用的:http://yunpan.cn/cFgIifL8s6zUF 访问密码 a0ef) 2.U盘一个,不需要很大.(可以使用虚拟机安 ...

  8. 【Unity3D与23种设计模式】游戏的主循环——Game Loop

    游戏与其他软件最大的不同 就是游戏有Update逻辑 一般的软件是由"事件"驱动 因为它不会突然跑出来一只"兔子" 因此,只有游戏才有"帧" ...

  9. js中判定this的规则

    判定this new绑定:新建对象; var bar = new foo(); 明确绑定(call.apply,bind):指定对象; var bar = foo.call(obj) 隐含绑定:环境对 ...

  10. Windows Server 2019 预览版介绍

    在Windows server 2012.Windows server 2016还未完全普及的情况下,昨天Windows Server团队宣布Windows Server 2019将在2018年的下半 ...