感觉每篇文章前都来段鼓舞人心的话加个BUFF蛮不错的~
有些事不是因为看到希望才去坚持,而是因为坚持了才看到希望。
既然听了Professor的课就按人家的规矩来,Reading Task,先预习这门课创始人Eric Roberts的Karel the Robot Learns Java的前三章,接下来的几节课应该都要围绕这个机器人来展开。
CH1.
简单介绍了一下JAVA,大家都这么熟了就不多说了。比较出彩的地方是很简略的点出了class 和 object的区别:Class is a pattern or template for objects share a common behavior and collection of state attributes.
CH2.
Tips:
a.关键字Extend public class A extend B 表明A继承B; public class A implement B,C,D 表明A实现B,C,D的接口; Java中只支持单继承,但是可以实现多个接口。
b.一个基本的思路,当Karel只有左转的函数时,实现右转的方法,一是连续左转三次,二是设计一个右转函数。左转三次无需多言,右转函数可在子类中定义private.体现一个encapsulate information的思想。
c.NewImprovedKarel类:继承Karel(无法接触并改变),对其加入一些常用的方法(turn right等...),作为我们使用的父类。
d.来个软件工程思想里面的装逼术语:decomposition---分而治之。两个判断decomposition优劣的依据:1.Each subproblem should perform a conceptually simple task;2.Each subproblem should perform a task that is as general as possible, so that it can be used in several different situations.
CH3.
a.To solve mor general problems.
b.fencepost error
额预习完了才发现讲的内容和预习的也差不多~看来刚去米国的童鞋们一定要提前预习啊~
PS:前面几节课实在是太入门了,不过这个授课理念的确IMBA,围绕着Karel简明易懂,再忍2节,按照Mehran的说法从(五)开始就告别Karel进入JAVA的世界了~
Next--->Programming Methodlogy(三)