CSDN博客和OJ,两种积累编程代码量的方法对比

带着菜鸟学生在CSDN上发博文积累代码量已经有近两年的时间(见2011级学生2012级学生),模式逐渐成熟,学生们每周能够认真地完成该做的学习任务,积分见涨,排名提升,相互评论,互褒互贬,好不热闹。尽管在学习中需要克服的困难依然存在,但从总体上,遇到问题能伸出手去编,编完程序还有发博文的一个环节,倒也算是目标明确,乐得做下去。
  近日在张罗ACM协会,协会工作逐渐走上正轨,关于ACM比赛的事情也有同事专心去做。这算是了却了多年来一直想做这方面事的一个心愿。以算法能力为核心的学生课外学习活动能够借此起步了。
  玩ACM,条件之一是必须要有Online Judge(OJ)系统。借着华中科技大学的开源项目HUSTOJ,平台算是建了起来,感谢。
  课程组老师们商议在下学期在课程中引入OJ,上机考试实施起来就方便了。作为先行者,出了两道题让亲弟子们先集体体验一下。有些意外,发惯了博文的弟子们似乎没有多大的兴趣,尽管说了春假后要来次上机测验,显然这帮家伙想发完博文再考虑OJ。几个性急的小试一把,Wrong Answer居多:调试好的程序,OJ就是不接受。
  将OJ用于教学,我们是落后了一大截子了,效果不错的学校我知道一些,先进经验应该要学。带着学生发博文能这样热闹的,不谦虚,没有发现第二个。能让学生坦然不抄袭,说实话,在想出这个主意时,没有想到能这样好。看着学生们的顾不上和不适应,想起来将这两种办法粗略比较一下。
  OJ系统的优点在于让学生能够多多去编程,题库建设可以延续下来,学生做题的可选余地增大,在练习中增加兴趣。发博文的方法,在这方面一点儿不弱,在带第二轮C++课程时,我写题目的压力明显减小,可以在提高题目质量上下些功夫了。上一年积累的成果甚至编成了一个半成品《C++程序设计入门同步实践宝典(v0.5)》。学生做题选择性不大,但是紧贴正在学习的内容,能够及时体验该掌握的知识点。OJ上出题,可以重视解决问题方法,但针对某个语法有针对性地练习,却是劣势。
  OJ系统能即时判分,方便了考核学生。这是老师使用OJ积极性最高的地方。有些学校施行完全的上机考试,以此给学生压力,必须要在动手能力上过关才算数。我希望对我的学生也能进行上机考试,OJ是个好帮手。但我不想让考试的压力常在他们的头脑中,一做题就想着考试,就想着压力,学习多无趣。过分的外界刺激会异化学业习动机,面对在高中将考试当作学习惟一目标的大一学生,抽掉他们脑袋中对考试的过份依赖,也还是我的追求目标之一。重逼之下,这帮家伙使出的应付手段岂是当老师的能掌控了的。把孩子们从考试中解放出来,这个追求还要继续。
  博客上提交的代码写上注释,用上语法着色,排版排得整整齐齐,截个图奉上运行结果,看着就舒心。OJ上代码一提交,冷冰冰地,好的来个AC,不好就WA、PE、CE,不爽。至于写不写注释,不管。
  博客上交代码,完成任务中可以自由发挥,做一个银行系统,你的是张家银行,他的是李家财团,三次密码输不对,有人的提示是“你这个大笨蛋”,好不热闹。OJ不好玩,算对了数字,只多输出一个空行,给出的结果不是WA就是PE。听老师的话设计的程序要用户界面友好,在用户输入前提示一个“请输入一个整数:”,就为这,WA。
  博客中的题目,我出题时敢发挥,设计一个复数类的运算符重载,加减乘除大于等于小于不等于输入输出取反所有的运算都让学生做一遍,复数加复数、复数加实数、实数加复数,光加减乘除就12个函数。类是实现了,测试程序还要根据需要自己写,这就是一个完整的工程。写完发博文才吓出自己一身冷汗:300多行!用完了成员函数实现了,再来一份友元函数的解决办法,又是几百行。给OJ一个上百行的程序,找罪受。
  发了博客,全世界看得见,涨积分,上排名,成果看得见。从“千里之外”升到20000以内,那不是一般的自豪,再想想自己,还是纯鸟蛋一枚。走过路过的留个言,夸两句,拍个砖,多过瘾。OJ上,62% WA,20% AC,多画个饼图也不养眼。封闭在这个空间里,自己过后再不看,或许老师看,也就看个统计数字罢。
  通过博客,还找找了更多的资源,新闻、下载,链接引出一大片,大牛、大腕、菜鸟、写代码的,搞运维的,跑市场的,行业中的众生态,一应俱全。OJ里的,全是一帮学着写程序的。
  老贺越写越带情绪。这是怎么啦,发博客两年,和博客近,玩OJ两月,欺负新来的?还真是很清楚用博客营造出的编程氛围,其优势能全面盖过OJ,尤其是要追求所有同学都发自内心去进步。玩博客的办法不容易玩好,所以玩的人特别少。
  话又说回来,OJ这个新朋友还真不赖。对程序苛刻些,不是坏事。未来的程序员要能像在玩博客中那样疯起来,也要能像在使OJ时那样静下来;能抓狂到程序里随处加入个性的创意,也要能一板一眼不带马虎地就按要求工作;要能一口气几百行大规模作战,也能几小时就那两三行精打细算。更关键的是,玩博客得到的本领只是能让你下得了厨房,熟悉了OJ玩转了ACM,那才是上得了厅堂。
  所以,在和菜鸟们一起积累代码行的征程中,博客老朋友还要继续发扬光大,新朋友OJ也将登堂入室,和谐相处,获得的是将是更广阔的天空。

  写给我的学生,用好成长中的一切机会。

时间: 2024-10-25 14:07:58

CSDN博客和OJ,两种积累编程代码量的方法对比的相关文章

两种Oracle应用程序开发接口的对比分析

本文将介绍在Visual C++ 6.0中开发Oracle应用程序的最常用的两种方式:ADO(ActiveX Data Objects, ActiveX数据对象)与OCI(Oracle Call Interface,Oracle调用接口).通过设计实验,采用两种 方式分别完成数据初始化.数据读取.数据更新等工作,通过对比两种方式的代码量及运行速度来分析两 种方式的特点,并最终总结出两种方式各自的优缺点与适用范围. 引言 Oracle以其优越的稳定性和卓越的性能在众多领域里有着广泛的应用,其高性能

2016年年终CSDN博客总结

2015年12月1日,结束了4个月的尚观嵌入式培训生涯,经过了几轮重重面试,最终来到了伟易达集团.经过了长达3个月的试用期,正式成为了伟易达集团的助理工程师. 回顾一年来的学习,工作,生活.各种酸甜苦辣,庆幸是有一群支持我的同事小伙伴,他们同样来自尚观IT培训机构,4年前,他们也是一样,怀着自己的理想考上了理想的大学,4年后,怀着自己的理想通过4个月的培训晋升,巩固自己的知识体系,最终也是找到了一份满意的工作,来到了VTECH, 这一年,收获还是非常大的,获得了公司的升职,同时自己的CSDN博客

自己动手编写CSDN博客备份工具-blogspider

来源:http://blog.csdn.net/gzshun   我之前一直在看lucene,nutch,发现有这么一个现成的小应用,特转来学习下!mark一下. 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫. 网络爬虫最重要的任务,就是从互联网搜索出需要的信息,将网页抓取下来并分析,很多搜索引擎,比如百度,谷歌,后台都有一只很强悍的网络爬虫,用来访问互联网上的网页,图片,视频等内容

【B/S学习总结】我的第100篇CSDN博客

    在学习B/S之前,写过一篇博客<走过C/S,走进B/S>.从那时开始,就认识到了B/S的与众不同.现在,B/S项目结束了,学习了很长时间,是应该整理整理B/S项目下的知识了.例如:它的工作原理,它的页面布局......那一个个绚丽的网页,都是如何实现的?     想了很久,不知道该给这篇博客写个什么标题,总觉得标题写成"B/S学习总结"很是单调.不经意间,发现这篇博客正好是自己CSDN上的第100篇博客,那么,就以此作为博客的标题啦~~顿时变得很有味道的感觉啦~~

【SSH网上商城项目实战15】线程、定时器同步首页数据(类似于CSDN博客定期更新排名)

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51387378 目录(?)[+]         上一节我们做完了首页UI界面,但是有个问题:如果我在后台添加了一个商品,那么我必须重启一下服务器才能重新同步后台数据,然后刷新首页才能同步数据.这明显不是我们想要的效果,一般这种网上商城首页肯定不是人为手动同步数据的,那么如何解决呢?我们需要用到线程和定时器来定时自动同步首页数据. 1. Timer和Timer

利用脚本对CSDN博客实践数据收集与分析

首先,CSDN博客是没有给你做后台统计的,需要你自己收集数据.我写了个shell脚本,主要通过curl来获取HTML页面并自己过滤出需要的数据. 最新的代码共享在这里 https://code.csdn.net/hursing/shell-scripts/tree/master/pv.sh ,在linux和Mac OS X都可以运行(linux可能需要先sudo apt-get install curl),只是输出结果的格式有点差别,以linux的为准. (可以修改脚本中的id,就可运用到其他博

【小工具】CSDN博客导出工具-Java集成Maven开发

CSDN博客导出工具 之前一直想把CSDN的博客导入到自己的网站中,可是由于博客比较多,后面受朋友老郭启发,就找了个时间用Java开发了这款小工具. 转载请注明出处:http://chenhaoxiang.cn 本文源自[人生之旅_谙忆的博客] CSDNBlogExport CSDN博客导出工具 之前一直想把CSDN的博客导入到自己的网站中,可是由于博客比较多,后面受朋友老郭启发,就找了个时间用Java开发了这款小工具. Had been trying to CSDN blog into the

PHP采集CSDN博客边栏的阅读排行

项目中要用到采集的数据,所以就先拿CSDN博客来试了试.这里使用Simple HTML DOM(官网)这个库,它能够方便的遍历HTML文档. <?php include_once("simple_html_dom.php"); header("Content-Type:text/html;charset=utf-8"); $html = file_get_html("http://blog.csdn.net/szy361"); $res =

CSDN 博客栏目添加微博一键关注

方法一(推荐方法二.比较炫): 第一步:打开页面(http://open.weibo.com/widget/bulkfollow.php)点击打开链接 第二步:按照里面的条件设置,填写需要关注的微博的ID,设置样式,以及一些细节的元素: 1.找到自己的uid,登录自己微博首页,如下图红框中的数字即为自己的uid 2.设置自己的uid 第三步:以上两步设置完成后,复制下图中的js代码: 第四步:登录CSDN博客,点击[管理博客] 进入下图: 点击[博客栏目],在该栏目下找到[添加栏目] 参考下图输