发布日期:1/17/2019
Tzvika Harpaz博士于2018年加入GTIIT。在此之前,他与以色列同行们共同研究气候变化相关问题,并与Matlab和Python——这是全球数百万工程师和科学家都在使用的软件语言——打交道十多年年。如今,他在GTIIT教授一门让同学们“又爱又恨”的课程——Introduction to Computing with Matlab。
下面,我们一起走近Tzvika Harpaz博士,进一步了解他与编程语言的故事。
一开始是我妻子Silvia来到GTIIT,教授物理及线性代数,而我继续在以色列的团队中开展研究。后来,我发现GTIIT正在寻找有经验的Matlab教师,而我用Matlab工作长达十年,积攒了一些经验。很开心我来到了这里!
一方面是Matlab本身——你可以了解到处理问题的办法。使用Matlab需要了解编程语言、编写高效的代码。在学习的过程中,我希望学生可以学习怎样把遇到的任务分解成多个更简单的任务,然后给每一个任务编写一个合适的代码。这正是利用逻辑思维可以完成的事。此外,我希望课程能帮助学生提高逻辑思维能力。人们需要理解为其编写逻辑解决方案的问题背后的逻辑。
但只知道方法是不够的,你还需要知道何时以及如何正确使用这些方法:对于一个特定的问题,使用循环是否更容易?对于另一个问题,是采用计数器还是逻辑数据?
因此在这门课上,学生一方面要学习事物是如何工作的,另一方面则是学习如何使用它。这个过程包括:如何找到一个问题——如何将问题简化——如何去思考问题。这对于绝大部分同学来说都是十分困难的,但是我相信最后你会收获很多。如果你自己解决了问题,或者你无法解决这个问题,但因为投入时间去尝试解决,当得知解决方案时,它就会深深地印在你的脑海里。
如果以后想当一名优秀的程序员,你需要知道如何去思考——这意味着你需要知道什么时候使用编程语言, 以及为了某个目的如何准确地使用它。这很难教,但随着经验的不断累积,你会更深刻地理解这件事。如果你只写过几个小时的代码,这往往是不够的。但如果你在学习过程中不断练习, 例如尝试为实验数据做一些计算, 那你就会积累很多编程方面的经验。
此外,还有一点我想说的是:除了你自己,没有人可以帮助你。有些事你现在觉得很困难,但当你坚定目标并坚持不懈,某个瞬间你便会豁然开朗,这和学习语言是一样的。所以我们能做的是——提供工具、分享方法、培养逻辑思维。我唯一无法给学生的就是经验,所以尽量让你们从作业里获取更多的经验。
我非常喜欢旅游!利用假期,我去过很多地方。我还非常喜欢球类运动。在以色列的时候,我曾经是一个不赖的篮球运动员。上个学期,我就和GTIIT的同学们一起打过篮球!我的女儿们也在GTIIT,所以闲暇时间我会教她们使用Tynker或Codecombat。我认为逻辑思维非常重要,我希望我的女儿们能够随着时间的推移逐渐培养这种思维方式。我也喜欢棋类游戏,我在GTIIT组建了一个棋类游戏小组,每周我们会碰面一次。我在以色列收集了大约150种不同的棋类游戏,都是非常有趣和具有挑战性的。
采访:陈可
文:施贝凝、何溢键、曾育颍、袁春霖
图:张鸿睿
编辑:GTIIT传媒与公共事务部