首先是每篇的BUFF时刻,贴上偶像李开复喜欢的一首诗,虽然他最近被黑的蛮惨的,但是在我迷茫的时候看他的经历还是获益匪浅的~
未选择的路
----By Robert Frost黄色的树林里分出两条路,
可惜我不能同时涉足,
我站在那路口久久伫立,
我向着一条路极目望去,
直到它消失在丛林深处。
但我选择了另一条路,
它荒草萋萋,十分幽静,
显得更诱人,更美丽;
虽然在这两条小路上,
却很少留下旅人的足迹。
虽然那天清晨落叶满地,
两条路却未经脚印污染。
啊,留下一条路等改日再见!
但我知道路径延绵无尽头,
恐怕我难以再回返。
也许多年后在某个地方,
我将轻声叹息将往事回顾;
一片树林里分出两条路——
而我选择了人迹更少的一条,
从此决定了我一生的道路。
网易公开课链接:http://v.163.com/movie/2010/1/K/N/M6LDTAPTU_M6LDV9PKN.html
虽然没啥看官,万一有同学真的感兴趣,我还是把相关的资料贴出来,大家可以GET YOUR HANDS DIRTY,在stanford定制的ECLIPSE下面跑跑Karel
课程网址: CS106A.STANFORD.EDU 里面可以下载到课程有关的资料程序等,包括ECLIPSE及其环境。
第三课还是以Karel为主题(- -真正开始学习JAVA请忍耐到第五课吧),咱就简单记个流水账吧~从Common Errors开始讲起:
1.简单介绍了这么几种common errors, 一:infinite loop 二:off-by-one bug
2.Comments的写法(/* ..... */)以及作用
3.Stepwise Refinement: 还是分而治之的思想,将一件事情分解到计算机能明白的程度,对于Karel而言就是分解到最初始的四个函数,系统的叫法为: Top Down Design,对应的另一种设计思路为: Bottom Up Design. 这里着重说明一点:Professor提及统计表明On average需要100个小时从BUD转为TDD。与大家共勉希望在学完CS106A后能有思维上的改变。比如在设计SteeplKarel的时候,为了让Karel完成障碍跑,有两种思维方式:BUD的思维是需要左转,前进到障碍顶端,右转,前进,右转,前进到障碍底端,左转。而TDD的思维方式是Karel需要完成2个步骤,前进和跨越。前进即MOVE已经完成,跨越需要进行细分到机器能识别的KAREL语言。
4.之后以让Karel使Beeper翻倍为例,非常精彩的按照自顶向下方法讲述了这个程序的编写过程。精彩程度建议大家自行观看~获益匪浅~
5.对Decomposite进行一个总结
a.solve one problem
b.1-15 lines
c.good names
d.comments
Next---> Programming Methodology(四)