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封信:最好是更好的敌人》里说的:
虽然我们的目标是追求卓越,但是行动的步骤却是在固定时间,固定成本的前提下尽可能做好而已。只要我们保证下一次比现在更好,我们就能接近目标。但是,最好是更好的敌人,很多时候当我们看似在追求完美的时候,我们其实是在不作为!
所以,坚持写博客,即使照抄书里的内容,要知道抄一遍比读一遍记忆要深刻很多!
如何改进作业:
教学方式
教学方式也做了两种尝试:
- 仿效翁恺老师的上课方式,边讲解边实践,但是学生反应无法接受,原因是第一学期学C的时候老师授课方式主要是单纯讲解,学生动手实践的时间很少,不习惯于边听课边教学。实验了大概4周后,测试了几个例子,让学生当堂写,结果是两个班级70多人只有大概15个人完成。上课效果差的惊人,反思需要改进两点,放慢讲解速度,增加学生动手编程的机会。
- 简单讲解基础知识,分析例题,然后出测试题,当堂记录成绩。惊讶的发现课堂测试题完成的人越来越多,也看到好几个同学的编程能力逐渐增长。但是等结课的时候才发现,很多人依然是抄袭,另外人数太多指导起来难度大。
改进方法:
- 增加课堂趣味性:最近上下班车里放的都是吴军老师的硅谷来信,非常喜欢听并且上瘾,每天都会听好几篇,就我目前听到的内容,硅谷来信本质是两方面内容,一是大道理,比如慢生活,多阅读,终生学习,积极向上等,另一方面是it行业、投资等一些理论东西,当然硅谷来信肯定不止这些东西,但是这些东西很多人都讲,但是为何吴军老师讲解的让人上瘾,能听到心里去,我很多时候听完都有一种幸福感,充满精气神,并且像润物细无声一样,悄悄地改变了我很多的观念。那吴军老师如何做到的,我觉得最大的特点是每封信都从讲故事开始,故事每个人都爱听,讲完故事总结的理论或者大道理就很容易让人接收,所以需要重看吴军老师的浪潮之巅、硅谷之谜和智能时代。预备在下学期的C基础和arm体系结构中,每次课讲解一个小故事。
- 改变别人从改变自己开始:不要对学生抱有希望,默认大家什么都不会,大一的自然什么都不会,给大三的上课也发现基础知识都忘记了。另外态度温和,减慢语速,坚决不能抱怨学生,吸引而不是强迫学生去学习。这也是最近去听学校的教学大赛的最大感受,我听的都不是我所在专业,默认都听不太懂,但是后来获得冠军的老师的讲课让我很有感触,她的语速语调让人不自觉地想听她讲。
- 翻转课堂不能着急:这学期的另外一门课嵌入式系统程序设计,内容和娄老师的[信息安全系统设计基础]有很多重合,并且娄老师成功的翻转了课堂,我依葫芦画瓢也去翻转的时候我发现翻转不过来,需要准备的东西超出了我的想象,而我对这门课的积累还远远不够,就像比尔盖茨大学退学了,我们都要仿效退学吗?当然不是你得先考上哈佛再去考虑是否退学的问题。另外像学校80岁的老校长说的,目前我们的学生不适合翻转课堂,自学能力和积极性都不够。因此打好地基再去翻转,不过很多其他的教学手段还是可以学习的。
C语言程序设计课程总结的更多相关文章
- C语言程序设计课程设计自查表格
课程设计自查表格 序号 项目 完成与否(完成打勾) 1 格式是否符合标准(缩进是否规范) 2 是否模块化设计(使用函数分解系统功能) 3 函数名否易懂(不得使用f1(int a1,int a2)这样的 ...
- Java语言程序设计课程学期总结
2016-2017 第2学期 课程介绍 编程类课程,76学时(44理论+32实验),学期末还有1周的课程设计. 问题与现状 4个班共120人,教师无法逐一检查每个学生的编程实验. 纸质作业质量不高. ...
- 2019年上-C语言程序设计课程内容
第一节课 序言 为何学习C语言 打印hello world程序 编译步骤,认识编译器 冯诺依曼体系结构 hello world程序如何在计算机上运行的 第二节课 基本数据类型与表达式 求华氏温度对应的 ...
- JAVA语言程序设计课程评价
紧张的又短暂的一个学期结束了,这个学期也许将成为我人生中一个重要的转折点,作为一名半路出家的选手,在初次了解Java语言时我感到非常的迷茫与不知所措.因为之前很多同学都是通过假期时间在家自学,刚转入新 ...
- 2018年秋季学期《C语言程序设计I》教学过程及学期总结
一学期下来,问题很多,思考也很多,需要整理.总结,好的经验要形成规律,不好的地方要提示警醒. 教学过程小结: C语言程序设计I-第一周教学 C语言程序设计I-第三周教学 C语言程序设计I-第四周教学 ...
- C语言程序设计I—第一周教学
这是在修改人才培养方案后第一次上C语言程序设计课程,本课程由原来的1学期80课时(周学时6)修改为2学期48(周学时4)+32(周学时2)课时的模式,开课学期也由一年二期改为大一整学年,当时修改的主要 ...
- 李志杰的C语言程序设计第一次作业
这个作业属于C语言程序设计课程 : https://edu.cnblogs.com/campus/zswxy/CST2020-2 这个作业要求在哪里: https://edu.cnblogs.com/ ...
- 《C语言程序设计》课程教学目录
<C语言程序设计>课程教学目录 不要去精确定义单个论题,应将一整套问题组织成体系.--黎曼(1826-1866)德国著名数学家 教学过程 2018年秋季学期 C语言程序设计I-第一周教学 ...
- 2019年春季学期《C语言程序设计II》课程总结
2019年春季学期<C语言程序设计II>课程总结 1.课程情况 教学内容 课堂小结 作业安排 优秀作业 备注 1.开学谈心 2.测验数据类型.运算符与表达式的自学情况,并讲解测验题目3.第 ...
随机推荐
- eclipse和android studio的爱恨情仇
Eclipse,以下简称ES(自己起的,不喜勿喷):Android studio,以下简称AS(都这么叫的啦)! 2000年,IBM怀胎24个月,终于产生了Eclipse,当时ES的诞生只是为了解决I ...
- Vue2.0结合webuploader实现文件分片上传
Vue项目中遇到了大文件分片上传的问题,之前用过webuploader,索性就把Vue2.0与webuploader结合起来使用,封装了一个vue的上传组件,使用起来也比较舒爽. 上传就上传吧,为什么 ...
- DBdbvis数据库驱动连接问题
今天使用数据库查询工具DBvis链接mysql数据库时, 发现执行如何sql语句, 都报如下错误: mysql驱动包的版本不对导致的.我的mysql版本是5.7 解决办法: 去mysql官网下载最新的 ...
- 在.NET Core中处理一个接口多个不同实现的依赖注入问题
前言 近段时间在准备公司的技术分享,所以这段时间将大部分时间放在准备分享内容上去了.博客也就停了一下下. 在.NET Core中处理依赖注入问题时,往往是定义好了一个操作规范的接口,会有N多个基于不同 ...
- POJ 1087 A Plug for UNIX (网络流,最大流)
题面 You are in charge of setting up the press room for the inaugural meeting of the United Nations In ...
- .NET中的线程与异步(笔记)
翻出了之前记录的笔记,基本涵盖了.NET中线程和异步的相关概念.可以提供一个学习的方向. 线程类型 工作者线程IO线程 线程池 全局队列(QueueUserWorkItem.Timer总是放入全局)本 ...
- java 关键字final static native详解
java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...
- asp.net跳出iframe结构转向登录
在网页编程时,我们经常需要处理,当session过期时,我们要跳到登陆页面让用户登陆,由于我们可能用到IFrame框架,所以我们我登陆页面需要显示在整个页面,而不是一个IFrame中,大部分的网友是用 ...
- PHP基础入门(一)
php现在很火的后台开发语言,它融合了许多其他的语言,所以它的灵活性不用多说.话不多说,我们开始php的学习吧! 整数类型:$变量名=132;浮点类型:$变量名=1.32;字符串类型:$变量名=&qu ...
- 关于win8的各种版本的区别
Windows8.1 Professional VL 表示:专业版(大客户版,批量授权) Windows8.1 Multiple editions 表示:多合一版本(包含:标准版.专业版) 个人用户 ...