Justin 高中最后一年,豆豆选了计算机编程AP课,因为学校学生少,这门课几年才开一次。开学第一天,这门课的教师Mr. P发现来上课的学生程度非常不齐,最棒的一个名叫Justin,已经自学了这门课的所有内容,还有包括豆豆在内的四个计算机爱好者,在这之前修过计算机入门,有一些编程的经历,剩下的三十来个学生则是完完全全的初学者,需要从头学起。Mr. P是个教学经验丰富的老教师,便决定分两个班,由Justin教那四个计算机爱好者AB级的内容,统考通过可免修大学一年级两学期的计算机课程,而他自己则教那三十来个初学者A级的内容,统考通过只能免修大学一年级一学期的计算机课程, 这所学校说是天才学校,其实大部分学生都象豆豆一样,只能说有点小聪明,离天才的标准差得远了。而这Justin可以说是个真正的计算机天才,他各科成绩都很优秀,对计算机独有情钟,花了许多时间自己钻研与计算机有关的各种问题,许多概念他都要求自己弄懂弄通,决不一知半解。当上小老师以后,他对这项工作极为负责,对这四个学生的要求远远超过AP考试的标准。比如,有一个数据库里的概念叫B-Tree,是一种常见的数据结构,一般数据库都有这个功能,AP大纲要求学生了结这个结构的特点,知道怎么用就行了。可Justin却要每个学生自己写出程序,把随机的数据排成B-Tree结构,对这几个高中生来说,这程序写起来很繁杂,豆豆叫苦连天,费了不少劲才写好,可这么一折腾,B-Tree的概念想忘也忘不掉了。 学期中,Justin看这几个徒弟的编程水平提高了不少,便又给他们提了新要求:必须定期参加网上的Topcoder编程比赛。这Topcoder可不是闹着玩的,参赛的选手来自世界各地,大多是大学生,也有资深程序员,有个别高中生。每次比赛只给75分钟编程时间,却有三道题目,每道题看似简单,却不那么容易,比如:四个人打扑克,请编一个给四人随机发牌的程序。交卷后还有一些时间让大家互相评判,在别人程序中找出错误可以加分,被别人挑出错则要减分,这就要求参赛人编程又快又准确。开始豆豆只能做完一道题,还被人挑出错来,到最后他进步到能做完两道题,让别人挑不出错,。每次参赛那一个多小时,豆豆真是全力以赴了,可Justin却总是对他的成绩不满意,人家自己早就能做完三道题了。为此豆豆和另外三个学生都恨得不得了,半开玩笑地管Justin叫纳粹,说这是魔鬼训练,想方设法在课堂上给他捣捣乱。Justin却不生气,照样一本正经地讲他的课。 州里举办高中生编程大赛时,Mr. P开车带上Justin和他的四个学生参加,结果五个人全部榜上有名,主办大学给得奖的每人发了一笔有好几个零的奖学金。当然这几个孩子都没看上那所学校,但这个经历在大学申请表上也算是个小小的闪光点。而对没参加过什么业余活动的Justin来说,他这段教书经历可算得大大的一个闪光点,可不是嘛,报考名校的申请人中,会读书的孩子多了,可会教书的又有几个呢。最后大家参加AP考试都得了最高分,5分,并进入自己喜爱的大学,Justin报的几所名校,包括斯坦佛和MIT, 都为他发了录取通知。高中毕业典礼上,每个毕业生要预测自己十五年后在做什么,Justin不假思索地答:在斯坦佛教计算机课。 前不久豆豆完成了在软件公司的实习,实习鉴定上人家给他这样评定:优点 – 工作努力,课题完成得又快又好;缺点-进度太快,很难和组里其他同事步调一致。其实他组里的其他同事都是有一定经验的正式雇员,编程速度却比不上他。我想,这是不是要归功于当初Justin的魔鬼训练呢。 |