当前位置 博文首页 > weixin_34395205的博客:2016-2017-2 《Java程序设计》预备作业2
古希腊学者普罗塔戈说过:「头脑不是一个要被填满的容器,而是一束需要被点燃的火把。」
在对计算机系的学生情况的调查中,我说:
最近几年,我有一个深刻的体会:了解学生是上好课的一个基础。如果老师不了解学生的基础,每周的学习情况,学习状态,学习效果,那么,不少同学从第三周就开始跟不上学习进度了,然后就放弃学习了,等着期末背背就过关了。这样四年的学习效果就像大学生上课为什么一定要认真听讲?所说的 有很多人上完了大学,思考方式还是那种「原生态」的模式:
所谓的原生态就没有经过系统刻意地训练,没有经过斧正,而是任由随机事件随机冲击产生随机结果的状态。如果你从大学毕业的时候,你的大脑里没有留下任何你的专业领域带给你的精神、信念、理论和体系,只是比走进大学的时候老了四岁,那你的思考方式很可能就是原生态的。
与个别老师凭感觉说「我们的学生一年不如一年,或某届学学生不行」不同,我收集不少教学数据,我的结论是:我们学生的素质是逐年提高的。从2013年起,数据说明,上我课的学生总体上一届比一届学生强,教学效果一年比一年好。
说我们的学生素质高,一方面是我们的学生的入学成绩总体一年比一年高,除了上课,其他的就只能从一些学科竞赛,运动会,辩论赛,四大歌手,毕业晚会上零星的感受到部分同学的优秀。
为下学期《Java程序设计》课程做准备,我设计了三次预备作业来了解学生,督促学生:
预备作业01:你期望的师生关系是什么?: 让同学们了解「Trainer/Trainee」是最好的师生关系,让同学们对即将到来的翻转课堂有个心理准备,让同学们对即将到来学习任务,学习压力有个心理准备,副作用是让同学们学会了Markdown。
预备作业02 : 体会做中学(Learning By Doing):让同学们了解「做中学(Learing By Doing)」的学习方法与刻意训练在技能获取中的重要性,进一步理解有学习压力的必要性,副作用是让同学们展示自己,老师了解学生,同学们之间加深交流了解。
预备作业03:课程基础:利用搜商,打下课程的Linux基础,初步体会什么叫学习上的举一反三,融会贯通。老师教十个你会六个就及格了?不,应该是老师教十个,你会一百个个乃至更多,至少具备这样的潜能。
预备作业02 : 体会做中学(Learning By Doing)的内容如下图所示:
这周的学生作业,福州大学的张栋老师(博客)对作业评论说:
娄老师这个博客作业的题目,我觉得出的真心好。一般我们都是在课程开篇作业:「对课程了解多少,对课堂有什么期待。」 学生没上过课,也很难说出有什么了解和期待,似是而非的应付了。而且是以课程为中心的视角。娄老师这个题目,以学生为中心的视角,开篇作业应该是学生展示自己,老师了解学生的过程和目的。完全活跃和打开了学生的心扉,认识了不一样的学生和不一样的武艺。还蕴含了 增强学生自己体会能力之不易的意识。 之前就默默想引用到 下学期课程在寒假里的开篇作业了。
JUSTPUB的周筠老师(知乎,微博,豆瓣)说:
我看了你的学生的多篇博客,被这么富有启发性的问题引出的自述吸引了,真棒!
微软的邹欣老师(博客,微博,豆瓣)建议说:
标准如果稍微低点,「超过60%的人」,可能就会有更多的学生敢于表达自己的优点了...
即使这么高的标准,结果都令我大出意外。以超过周围90%的人为标准,信安系15级的同学们各种了不得,各种高手涌现:
同学们分享了他们获取这些技能的学习经验:
这一次我系统了解到了信安系同学的优秀,感觉不努力教好他们,任由他们上完了大学,思考方式还是原生态模式,作为老师真是对不起良心。同学们掌握了做好一件事情的正确方法,学好专业课中的程序设计不是一件难事。
我相信这次作业不但让老师了解了学生,也让同学们有了更深入的了解。自我感觉良好一下,我认为老师当教练是实现「以学生为主体,以老师为主导」的最好的方法,这次作业是一个很好的范例。
我们学校要建设「特色突出,水平一流」的学校,我们就要教出「特色突出,水平一流」的学生。这几年我一直身体力行实践「做中学」,在以下几个方面进行刻意训练:
同学们通过自己的技能获与老师有了共鸣,那么问题来了,《Java程序设计》要怎么学?一定理解编程是用来解决实际问题的,可以从解决小问题开始,不停的用,最后好成绩只是个副作用。
邹欣老师(博客,微博,豆瓣)在软件开发不是闭卷考试一文中说:
实际的项目中的问题,都是有解的,而且大多数是多项式时间内有解。
我们在现实项目中的 「解题能力」,取决于下面这些因素:
我希望通过我们课程的训练让大多同学掌握Java技术,学会了解问题,通过PSP方法掌握估计任务的技能,通过团队增强沟通和管理风险的能力以及学会拒绝。
邹欣老师(博客,微博,豆瓣)在技能的反面 - 魔方和模仿中说:
Bill 说技能的反面是 ”Problem Solving” – “解决问题”, 这个听起来有点绕, 我们看看IT 人士熟悉的一个例子吧。 一个IT 专业的大学生来面试, 简历上写 “技能: 精通 Visual Studio C# 编程”。 于是面试官请他实际用VS IDE 写一段程序 (冒泡排序)。 一个 “不精通”的面试者的编程过程实际上就是一个“解决问题”的过程。 例如:
你发现他把时间都花在「解决 (低层次) 问题」上了, 你想考察的「算法技能」、 「C# 程序设计技能」 都无暇顾及。注意,这是在他认为非常精通的编程工具和编程语言中出现这样的问题。 你要这样的员工么?
通过身体力行实践「做中学」,我深刻理解了「刻意训练」在技能获取中的作用,同学们的技能获取经验也体现了「刻意训练」。
邹欣老师(博客,微博,豆瓣)下面的一句话,有没有「刻意训练」的经历的人体会是不一样的:
那怎么提高技能呢? 答案很简单, 通过不断的练习, 把那些低层次的问题都解决了, 变成不用经过大脑的自动操作, 然后才有时间和脑力来解决较高层次的问题。
对于编程技能,我对我的前驱课程《程序设计基础(C语言程序设计)》做了个调查。我不得不说,非常感谢徐小青老师给我打下了良好的基础。我们的同学大多在《程序设计基础(C语言程序设计)》中有了4000行到5000行的代码经历。我想在《Java程序设计》中再有5000行以上的刻意训练,实践提高,解决同学们在信息安全专业的学习中程序设计能力不达标的问题。这样信息安全专业的学习才有可能做到时水平一流。
当然,我提了几个《程序设计基础(C语言程序设计)》学习中我认为必须掌握但同学们觉得较难的问题:
理解复杂声明非常重要,数组指针,指针数组;函数指针,指针函数的概念是基础,其他的复杂声明都是这四个的组合。后面的课程中有这样的声明:
void (signal (int signo, void (func)(int))) (int);
signal是个什么东东?以前我在课上提问,能正确回答的几乎没有。
考研中也常有这样的考题:
((x[4])())[4]这个声明中的x是什么东东?
int main(){
printf("Hello World");
while(1);
}
不理解流与文件的区别,不知道缓冲区,这个代码的结果大多学过C的回答不对。我们后续专业课程需要的基础没打好。通过fopen/fread/fwrite/fclose掌握C编程中「初始化,完成业务,清理工作」的模式非常重要,文本文件和二进制文件的区别以及如何用I/O函数读取是最常用的,我监考过李晓东老师的C语言课程,有这方面的考题,我相信老师是讲过的,学生的基础还是不够好,后面我会写一篇C语言与Java对文件处理的对比的博客对学生指导。
C语言解决问题的基本方法大多同学没有掌握,比较主动同学搜索一下,但理解不深。同学们几乎所有的代码都在一个main函数中,不知道一个XXX.c就是一个模块,没有多模块编程的经历,更不用什么「高内聚,低耦合」以及如何实现了。我建议同学们抽空读读王垠的编程的智慧。感谢迅雷的范飞龙博士(博客,微博)的推荐和对我们学生的悉心指导。
学过Java的同学都知道,Java水平的高低和对Java API的熟悉和应用能力紧密相关,在《Java程序设计》课程中我专门写了学习指导博客积极主动敲代码,使用Junit学习Java程序设计。
C语言是一个比较简单的程序设计语言,其标准库函数我全部测试过,掌握了用法,这是我学习的众多编程语言中唯一的。《Java程序设计》课程上了十多年,Java也用了十多年,不少API我都没用过。
「不要重复造轮子 Stop Trying to Reinvent the Wheel」可能是每个程序员入行被告知的第一条准则。这八十多个学生只有一个在拷贝数组是调用了一下strcpy。可以用qsort排序,用 bsearch查找,大多同学是不知道的,告诉他们有这些函数,函数的声明不少是看不懂的,更不用说是应用了。
每年毕业设计验收,大创项目验收都有学生找我,不少问题单步跟踪一下就出来了。调试器不光用来除错,还是很好的学习工具,我在课上写过一篇代码驱动的程序设计学习来教同学们如何用gdb来学C语言,基本的调试技能半小时就能学会,参考一下我编写的Linux下C程序设计实验指导, 举一反三在四年的学习中都受益,学会对自己Debug将终身受益。
为了考查学生的实际情况,我留了这个作业:
统计代码行数,行数不包括空行 (一行中没有字符或只有tab,空格), 注释行 (没有代码, 只有注释),不少同学说代码都丢了,那么可以试试统计这里的单文件c c++库
我们也要培养专门人才,我留了这个作业:
公文写作的重要性,同学们也许参加工作后才能体会,毕业生调研,不少人后悔没选姬瑞环老师的课,说在学校听说姬老师要求严格。很多人毕业了才能感受到要求严格的老师才是好老师。
写作技能也要训练,我们课上要求每周至少交一篇学习博客,如果能把作业按公文的要求来做,我相信同学们毕业时收获会不一般。
欢迎关注“rocedu”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!
原文地址:http://www.cnblogs.com/rocedu/p/6228084.html
推荐网站:博客园、新浪微博、扇贝背单词、DKY背单词小组、有道云笔记、豆瓣读书
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”