龙空技术网

科研的力量 | 德胜学子专访牛津大学计算机科学教授

京领新国际 50

前言:

当前同学们对“计算机科学与技术生涯人物访谈”大致比较关怀,咱们都需要剖析一些“计算机科学与技术生涯人物访谈”的相关文章。那么小编也在网摘上汇集了一些关于“计算机科学与技术生涯人物访谈””的相关文章,希望小伙伴们能喜欢,看官们一起来学习一下吧!

导语

创新能力的培养离不开科学知识的积累和创新性思维的建构。正所谓“名师出高徒”,在思维方式和学习习惯养成的关键时期,青少年能够有机会与世界顶尖学术大师交流对话,对于激发他们的学习兴趣、拓宽全球视野、培养创新精神、开发科研潜能、提高综合素质都大有裨益。

广东顺德德胜学校(国际)重磅打造“科研的力量”栏目,汇聚稀缺的世界顶尖教育资源,为广大学子提供与全球顶尖学术大师交流对话的平台,让广大学子有机会领略世界级专家学者的科研风采与学术精神,了解各学科领域的前沿研究并获得专业指导。学校特别邀请10位来自哈佛大学、剑桥大学、牛津大学、康奈尔大学、卡耐基梅隆大学的知名教授,他们学术水平突出、教育经验丰富,且研究领域覆盖广泛,包括计算机科学,自然科学,商科,社科和文学等专业,德胜(国际)9-12年级的学子们将以采访的形式,与10位世界级顶尖名师展开10场主题交流,让思想的碰撞点燃科研热情,让科研的力量助力创新人才培养。

计算机科学是当下的热门学科,是包含了各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。在美国,计算机科学专业(CS)主要有十大分支:软件工程、数据库、计算机网络、人工智能、计算机图形学和多媒体、体系结构/编译器和并行计算、人机交互、管理信息系统、信息安全、理论和算法。

随着技术普及,计算机在生活中的应用十分广泛,从高精尖的航空航天、遥感导航等行业,到贴近日常的智能家居、网络购物,都需要各类计算机的参与。而各行各业的大数据需求,也为计算机走向更广阔的应用领域提供了机遇,同时也刺激着计算机科学的不断进步。

巨大的需求让许多大学重视培养高水平计算机人才。世界顶尖名校如麻省理工、卡内基梅隆大学等高校都开设了计算机专业。根据英国高等教育统计局(HESA)的数据,英国也有包括剑桥大学、伦敦大学学院等120多所高校提供计算机科学相关专业的教学。

在本期“科研的力量”栏目,几名对计算机专业感兴趣的德胜学子与牛津大学计算机科学教授Alex Rogers进行对话,一同探讨计算机专业的相关知识,并针对跨学科学习、专业前景等问题进行了进一步讨论。教授也向同学们传授了计算机相关的学习与实践经验,让同学们对于这一热门专业有了更清晰细致的了解。

以下内容为本次访谈原文,英文版本附在文末。

嘉宾介绍

罗杰斯

牛津大学计算机科学系终身教授

牛津大学计算机科学系副主任

牛津大学机器系统智能自动化博士培训中心

(AIMS CDT)主任

牛津大学网络物理系统研究组成员

咨询公司Joulo联合创始人

英国国家电网碳强度监测程序

GridCarbon开发及维护员

访谈亮点

科研的力量旨在通过与学科领域内最负盛名的科学家深入对话,使科研的种子能够在未来生根发芽,转变为推动世界进步的力量,计算机是当前应用范围最广的学科之一,也是最热门的学科选择之一。

德胜学子与罗杰斯教授的访谈围绕计算机科学的专业学习、学科融合、应用领域、未来发展等热门话题。通过对以上话题的讨论与思考,德胜学子对高中阶段的专业申请准备及职业规划有了进一步了解。

专业选择与学科教学

首先,德胜学子从教授个人的专业选择出发,希望从教授由工程学转向计算机科学的跨专业经历中得到借鉴。而教授表示这是出于个人兴趣,以及对计算机科学的极大信心——我认为计算机是人类的未来。随后,德胜学子向教授请教了不同地区的计算机学科教学特色。教授则向同学们介绍了英美及其他地区的计算机专业教学特点:美国体系倾向于修读更广泛的课程;英国更集中于专业;马来西亚等地的科技水平及计算机教学水平正在进步。这帮助同学们进一步考虑自己未来的发展选择。

学科联合是一大趋势

在对计算机科学的专业选择与教学有了宏观把握后,德胜学子进一步向教授请教了计算机科学的学科趋势,即多学科融合。教授认为,“数学可以很好地和计算机结合”;同时,计算机伦理涉及到哲学;从更实际的角度出发,计算机科学能与工程学、电子学相联系。能与众多学科自由结合,使得计算机科学也为学子提供了更多可以选择的发展方向。

编程语言与软硬件的发展趋势

除了总体的学科趋势外,德胜学子还关心计算机科学的组成部分,即编程语言与软硬件的发展趋势。在哪一种编程语言会在未来更具竞争力的问题上,教授首先介绍了现在流行的Python语言和更现代化的Golang语言各自具备的优势,最后总结道,并没有哪一种语言具备在未来的绝对竞争力,而“并行开发可以帮助对具有多种原因的流程进行解码,这也是未来的趋势”,据此,教授鼓励学子们学习多种语言。而在硬软件哪个更胜一筹的问题上,教授回答:“软件和硬件是一起进化的,令我惊讶的是硬件的变化速度要快得多”。

有用的活动与竞赛

教授详细的解答激发了德胜学子对于计算机学习的热情,他们希望教授分享一些有用的活动与竞赛,教授则分享了网站Project Euler,它可以锻炼用不同编程语言解决问题的能力;网站Kaggle则适用于对机器学习感兴趣的同学。

计算机的应用领域

目前,计算机应用领域广泛已成为共识。但对于计算机如何在不同具体领域发挥作用,许多人仍一知半解。德胜学子便就实践层面中的计算机应用与教授展开了探讨。在航天领域中,计算机的人机交互可以很好地发挥作用;人工智能也能在医疗健康领域帮助医生进行诊断。

未来发展趋势

计算机科学未来发展的前景趋势及可能遇到的伦理问题也是当前的热门话题,德胜学子在了解了计算机科学当前的教学与实践后,也对未来进行了展望。对于人工智能未来能否预测一切,教授表示需要对此持谨慎态度,这是有可能的,但要预防出现在人类训练数据集以外的危险。而对于许多人担心的人工智能会不会发展成为人类的问题,教授认为:“很多我们希望计算机做的事情不需要人类水平的智能”,因此,“不建造智能计算机可能是一个更好的选择”。

专业选择与规划

在访谈的最后,德胜学子与教授探讨了他们即将面临的专业选择与规划问题。对于哪个领域分支能够有助于找工作,教授表示“拥有任何编程经验都会让你处于一个非常有价值的位置”,因此可以更多考虑个人兴趣和偏好。对于跨专业工作,教授也持积极态度,“现在在任何行业,只要你有计算机科学的背景,它可以帮助你做得很好”。最后,教授鼓励学生们在高中阶段进行编程练习,这有助于能力提升,并能向招生官展示自己对计算机专业的热情。

在本次访谈中,来自德胜学校(国际)的几位同学收获颇丰,通过与教授的交流,同学们对计算机科学有了新的认识,对计算机科学的教学、计算机的应用领域、编程语言的使用、人工智能的伦理问题等有了更清晰的答案,也对计算机科学与技术的广阔前景进行了前瞻。

同时,那些纠结于自己本科学习方向的德胜学子也在本次访谈中有了新的认识,同学们不必纠结领域分支、是否跨学科择业,因为学好计算机科学就能够有广阔的用武之地。

下面,让我们透过文字,一同穿越回访谈时刻,在德胜学子的带领下,走进计算机科学的世界,在学子们与教授的对话中见证思想碰撞的火花,感受科研与创新的魅力。

访谈全文

做好专业选择才能有好的开始

Q

我的第一个问题是,您能否分享一下作为一名测井工程师的一些经验以及为什么暂停了它并选择学习计算机科学?这两个专业最大的区别是什么?

A:我在大学主修物理,我也对旅行很感兴趣。所以我毕业后就成为一名电缆测井工程师。我在北海、中东沙漠和印度尼西亚的森林里工作过。所以,我当时对于在异国他乡旅行和工作感到非常兴奋。但是在石油行业工作是相当耗费时间的,几乎所有的时间都在油田工作。我做了五年左右,这很有趣,然后我开始思考我想做什么。

我一直对计算机很感兴趣,所以我离开了,去攻读了计算机科学博士学位,并且把物理学的想法应用到了早期的人工智能系统中。我曾在一家公司工作过一段时间并试图将复杂性滥用模型应用于业务问题。后来我成为了一名学者,现在在牛津大学教学并研究计算机科学。石油工业和计算机科学还是有着巨大区别的。二十年前石油工业还在增长期,但是现在随着石油资源的枯竭,这个行业已经在衰退了。我认为计算机是人类的未来。

你想要了解的英美

计算机科学专业教学风格

Q

英国和美国的计算机科学专业有区别吗?教学风格有什么不同吗?

A:就内容而言,两者内容基本相同。美国的体系倾向于让你修读更广泛的课程,因此美国体系有一整条主线,你会有主修和辅修课程,这让你可以修读更广泛的课程。在英国,从A-Level阶段开始,学生就必须定下自己的专业,16到18岁学习A-Level的学生必须选择三到四个专业进行学习。因此,在英国,学生们非常专业。如果他们继续学习计算机科学,或者计算机科学和数学专业,那么他们将把所有的时间都集中在数学和计算机科学上,而要学习其他更广泛的课程则要困难得多。美国和英国大学的相似之处在于,在学习基础课程时,需要参加由数百名学生组成的大型讲座。但是,一旦开始学习更专业的第三年和第四年课程,可能参加讲座的学生人数会有10至20名。因此,在本质上,美国和英国的计算机科学教学是相似的,但英国的计算机科学更为专业化。

其他国家的计算机学科教育情况

Q

马来西亚的经济与科技发展速度很快,尤其是在汽车领域。请问您对于马来西亚的大学科学学科教育有什么看法?

A:我之前在南汉普顿大学工作,它在马来西亚有一个校区。很多英国大学都和马来西亚有合作关系,马来西亚是英国大学的目标合作伙伴之一,因为很多技术都是在马来西亚开发的。我之前在马来西亚也进行了一个项目,我们制作了一些低成本的温度中心,然后使用一些算法来推断房屋的热性能。我们在马来西亚建立了生产基地,因为那里的每个人都能说一口流利的英语,那里的科技水平很高,有很好的资源,还是一个风景如画的地方。所以,如果要评选科技领先的国家,马来西亚一定是一个很好的候选。

学科联合是一大趋势

Q

有什么专业可以和计算机科学结合起来的吗?教授刚刚提到过,比如商业和物理。

A:我认为数学可以很好地和计算机结合,实际上,理论计算机科学和数学非常接近。所以我的学生要么就直接研究计算机科学,要么就是将数学和计算机科学结合起来学习。这两个学科有许多重合的地方。同时,很多关于人工智能的问题以及人工智能系统的伦理问题都与哲学领域的研究非常接近,所以计算机和哲学也有非常紧密的联系。在我之前工作的那所大学,计算机科学是与工程系联系在一起的,所以,学生们会在那里学习电子学、数字电子学,也学习计算机科学。那是一种更理论化、更实际的计算机科学。所以,这取决于你未来的发展方向。计算机这个学科可以和很多其他的学科自由结合。我们现在也开设了很多这种跨学科的课程,比如物理信息学和生物信息学,现在能把这些学科和计算机科学结合起来,在我看来是一件非常好的事情。

解锁未来最有竞争力的编程语言

Q

哪种编程语言会成为我们未来最有竞争力的编程语言?是因为这个编程语言背后的逻辑还是因为其他方面?

A:每个人都有自己喜欢的编程语言,Python现在很流行,它是一种解释型脚本语言。它受欢迎的原因之一是它被许多科学图书馆使用,比如CYPI和NUMPI。而且还有很多机器学习的研究都是用Python完成的,因为这本质上就是将一些代码粘在一起。如果你刚开始学习Python,会认为它非常有趣。Python的一些问题是,它不是一种编译语言,所以你只有在实际运行代码时才会发现错误。这就意味着Python是有局限性的,所以学习多种多样的语言是一件非常有趣,也非常有必要的事情。Golang是一种相对更现代化的语言,它非常有趣的一点是,它可以使用消息传递的方式来编写和发送代码。因此,并行开发可以帮助你对具有多种原因的流程进行解码,这也是未来的趋势。我认为目前还没有一个最受欢迎的语言,每种语言都有它自身的优劣势。所以与其成为一门语言的专家,不如学习更多的语言。

软件VS硬件,哪个更胜一筹?

Q

我对软件和硬件都特别感兴趣,所以我想知道这两个方向哪一个在未来更有前景?

A:软件和硬件是一起进化的,令我惊讶的是硬件的变化速度要快得多。我用C语言编程,这个标准语言已经有50年的历史了,它现在和50年前一样完美地运行着。但是我们现在使用的电脑比50年前快了几千倍,甚至一百万倍。很多我们认为是软件改进的东西实际上只是电脑运行速度的提高,我们现在写代码的方式和50年前一模一样。我们的一些工具已经变得更好了,我们有更好的编辑器,我们可能有更好的调试器。但真正推动这一变化的是电脑的速度和能耗,这让智能手机诞生了,它可以用很少的电量运行一整天。所以我认为计算机科学中的硬件是真正的驱动力。我总是对硬件的进步感兴趣,尽管我主要从事软件工作,但我感兴趣的是我们如何利用这些新硬件去发展诸如人工智能这样的技术。

参加竞赛和活动是非常有必要的

Q

Q:能否请您推荐一些相关的活动或者比赛,以帮助我们提升相关领域的知识和经验。

A:我们经常向学生推荐一个名为Project Euler的网站。Euler是一位数学家,这个网站上有一系列的问题,可以用计算机来解决。该网站的一个优点是相同的问题可以用一整套不同的编程语言来解决。一旦你用你知道或喜欢使用的特定编程语言解决了这个问题,还可以看看其他的解决方案,看看如何用不同的编程语言解决问题。如果你对机器学习感兴趣,有一个非常著名的网站叫Kaggle。Kaggle允许你访问数据集并训练你的神经网络。它有点高级,但是网上有很多教程。所以,如果你对神经网络感兴趣,这是一个非常好的资源。网上还有很多学习编码的地方。如果你对数学方面非常感兴趣的话,你也可以参加数学奥赛,这对你们也是非常有帮助的。

航空航天工程领域里的计算机技术

Q

在未来,我想学习航空航天工程,最近几年空难事故频繁发生,您认为计算机技术是否能够帮助航空业降低空难的概率?

A:计算机科学中有一个很大的领域,我们称之为人机交互,通常被称为H-C-I。航空业非常善于理解并且使用这一点。所以他们制定了很多关于驾驶员如何操作飞机和飞机的飞行管理系统交互的规章制度,同时,在多年的摸索中形成了一套完备的自动驾驶规则体系。这个体系现在正在尝试用于自动驾驶汽车中。其中一个原因是,人类往往不擅长观察、监控计算机。从航空业的经验来看,人们非常不擅长这样做。所以我们有空中交通管制员,空中交通管制员必须知道飞机在哪里以及他们将按什么顺序降落。我们还会限制飞机在非常狭窄的航道中飞行,以便于人类导航,即使这样做会损失更多的燃料。因此,如果我们能够自动化这个过程,我们有很多更好的方法可以做到这一点。在现代飞机上,飞行员实际上做得不多,飞机可以自行降落和起飞。有时,坠机是由于飞行员不相信仪器而进行干预造成的。因此,我认为也许开发一个更加自动化的系统去操纵飞机是一个更好的选择。

AI在医疗领域里的大贡献

Q

我想问一个关于健康的问题。我最近伤到了我的手指,现在已经进入了复健阶段。我发现现在医院会用一种AI程序来评估患者的康复程度。我想请问您认为未来AI能够代替医生看病吗?

A:我们还没有谈到健康。当你谈到人工智能在健康中的应用时,另一个问题总是它是否能完成非常高级的诊断?因此,我们将制造一种比人类诊断疾病要好得多的人工智能。这是有价值的,但这是一件很难做到的事情,可以设计一整套低水平的算法,这将是更有价值的,但不必超过人类医生的水平。我们目前的医疗资源是不能保证每一个病人都能在医院完成复健并且完全康复的。但我们可以有一些智能软件来跟踪并帮助他们恢复,鼓励他们锻炼并跟踪他们的表现,如果他们似乎没有如预期的那样改善,这个软件也能及时提醒医生等专业人士介入到患者的恢复中。我认为这是更容易实现的功能也是更有价值的事情。谷歌旗下的大型人工智能公司Deep Mind与伦敦大学学院医院合作,他们正在做的一件事是尝试诊断医院患者的肾脏疾病。这是一个自动化系统,它可以只关注一个特定的问题,它会在后台工作以节省医生的时间。我认为人工智能在这样的应用中有巨大的应用空间。

学习资源看这里

Q

Q:您能为我们提供一些学习神经网络的资源吗?

A:我会推荐Edge Impulses。Edge Impulses是一个易于训练神经网络的网站,重点是收集数据集,然后选择合适的数据集,你可以做的是设置训练过程,你可以选择训练方式并且指导你的神经网络完成这个过程。你可以选择你要做的预处理,也可以选择你要做的分类器。因此,构建一个模型并将其部署到某个地方非常容易。有很多教程和例子让你可以快速上手并且轻易地使用它。它可以识别声音或进行图像识别、目标检测,这是一个很好的网站,它可以让你训练一个更新的网络,看看它有多好。如果你想进入神经网络,看看这个边缘脉冲网站。训练结束后,现在我的智能手机可以在我洗手时检测到我,并告诉我洗手20秒,因为我创造了一个针对从水龙头流出的自来水的声音和一些手势的训练集。这是一个非常好的神经网络的学习网站。

你所好奇的未来人工智能预知能力

Q

Q: 我最近阅读了一本科幻小说,里面提到了一个AI,最终发展到了可以预测未来一切事情的程度,请问您认为这可能变成现实吗?

A:可能吧。但当我们构建人工智能时,一件令人兴奋的事情是使用这些神经网络。神经网络的本质是学习输入和输出之间的映射。我们需要创建一个训练集,训练输入可以是一个图像,输出可以是图像中物体的标签和特征。我们训练神经网络,然后神经网络就能看到它还没有看到的图像并做出推断。很多时候人们都在谈论也许将建立神经网络,利用它来预测未来。我想这些预测可能是类似于,你要左转还是右转?你打算用这个特殊的设备吗?这样的问题。所以,我们在这个过程中都是在利用人们在过去建立的神经网络进行预测。只有当我们所预测的和我们过去看到的一样时,我们才能做到这一点。因此,我们在未来尝试应用这些系统时必须非常小心,因为也许世界上会发生一些不在我们训练数据集中的变化。这才是真正的危险。

如何看待人工智能和人类的关系

Q

Q: 您认为人工智能最后会发展得和真正的人类一样吗?

A:这个问题问得好,我想没人真的知道这个问题的答案。我们现在使用神经网络进行的许多任务似乎都非常智能。我们可以展示一个算法图像,它会生成图像的描述,看起来,这似乎是一种类似人类的智能。但我们可以用同样的算法展示一幅稍微改变的图像,但它认为这是完全不同的。因此,危险在于,我们可能在欺骗自己,让自己认为这些算法是智能的,就像我们认为一个人是智能的一样,而他们真正做的只是学习可能图像的返回空间和可能描述的化身空间之间的映射,对真实情况没有真正的了解。这就是神经网络的工作原理,它们只是机械地学习了但是没有真正地理解。所以一些支持者会说:“也许这就是我们大脑中发生的一切,这就是智力。”还有一些人会争辩说:“不,这是一种更高层次的推理,这种推理正在发生。”而且这种争论已经持续了很长时间。但我认为很多我们希望计算机做的事情不需要人类水平的智能。这是一个大问题,如果你有一台具有人类水平智能的计算机,下一个问题是,它有意识吗?如果它是有意识的,你能告诉我当你关掉它时会发生什么吗?那么,这些计算机是否必须拥有你无法关闭它们的权限?所以从某种意义上说,对于我们人类来说,不建造智能计算机可能是一个更好的选择。

谈谈就业

Q

Q:计算机科学是一个很大的领域,它还有很多不同的分支和研究方向。研究哪一个方向能够更有助于找工作呢?

A:我认为拥有任何编程经验都会让你处于一个非常有价值的位置,因为现在几乎所有的东西都需要计算机,每个企业都有网站和软件。我们越来越需要人工智能算法应用于各种特定的环境。以前,如果你想部署AI,你通常必须有一位拥有博士学位的研究人员,只有到了这个级别的研究员才具有开发定制解决方案的必要经验。现在,有了我们现有的工具,以及我们现有的Python库,部署它就容易多了。还有很多的领域,就像你提到的网络安全。很多人都在开发某种安全协议和安全系统,这些安全协议和系统倾向于更多的后端编程工作,而不是专注于可能会花费大量材料的特定产品。然后是整个网络开发领域,这个方向需要从业者非常有创意,也需要具备一些图形能力。如果你是软件工程师,那么你的工作就是接受他们的设计,并把设计师的工作整合起来然后让它们正常工作。这些方向都很好,也具备很好的前景。但具体选择哪个方向还是取决于你的个人兴趣和偏好。

关于跨专业就业的规划

Q

我有另一个关于就业方面的问题。如果我在大学选择学习计算机科学,但是毕业后不从事计算机相关工作。如果我从事其他诸如经济或者商科相关的工作,我的计算机背景能否帮我做的更好?

A:一些计算机科学专业的学生将成为软件工程师并专业地进行编码。一些人将进入游戏行业。但有很多人也将进入某种专业领域。比如,他们将进入会计公司和管理咨询公司。如果你现在从事任何业务,你通常会管理一些软件项目。在英国,德勤等大型管理咨询公司通常负责管理软件项目的交付。因此,在计算机科学领域拥有一些实践经验并理解软件开发人员告诉你的内容是很有价值的。围绕加密货币和区块链的业务中有许多有趣的事情,这些都是由构建计算机系统的新方法以及我们使用计算机系统方法驱动的。因此,有这样的背景,了解散列的真正含义以及这些数据库是如何工作的,是非常有价值的。所以,我认为现在在任何行业,只要你有计算机科学的背景,它可以帮助你做得很好。

高中生是否应该尝试

接手校外社会平台编程任务?

Q

Q:我也有一个问题,有一些网站会发布一些临时的编程任务。程序员们可以在上面自由选择任务来赚钱。我想请问您会推荐像我这样的高中生在这种平台上接任务以磨练编程技术吗?

A:是的,虽然从学术的角度看,在这些网站上磨练自己的编程技术不是必须的,但是这是非常有用的。我认为你刚提到的那个网站和我之前说过的Project Euler非常类似,都是用不固定的编程语言去解决问题,而解决这些问题会给你编程方面的宝贵经验。在英国,当我们面试计算机科学的学生时,我们最感兴趣的点就是学生究竟是为什么热爱计算机的。所以,如果你知道计算机是你喜欢做的事情,这对你来说很好,因为如果你喜欢它,你会努力工作,做得很好。完成这些网站中的一些任务可以帮助你向招生官展示你对计算机科学的热情。所以,我认为无论如何这是有益的。

结语

计算机学科是一门热度颇高的学科,一直以来都是学生们探讨的热门话题。在这次访谈中也不例外,德胜学子们热情满满,与教授探讨的话题包括学科学习、就业、未来发展等等,他们从不同角度提出了自己的思考,并展开热烈讨论。教授根据自己多年的研究和教学经验给同学们做了详细的解答和指导,为同学们带来了一次非常有意义而丰富的学习经历。

Interview Content

Q

My first question is could you please share some experiences as a logging engineer, and why you suspended it and choose to study computer science? And what is the biggest difference between those two majors?

A:My major was physics at university, and I was quite interested in traveling. When I graduated, I joined Slumberget as a wireline logging engineer. So that involves sort of traveling to oil fields. I worked in the North Sea and in the Middle East Desert, and in Indonesia in forest. So I was very interested at the time, and sort of traveling and working in exotic places. But working in oil industry is quite, sort of a time consuming, so you are basically working in the field nearly all the time. I did it for fun for five years and then I started to think about what I what I wanted to do.

I've always been really interested in computers, and so I left Slumberget and went back and did a phd in computer science, applying ideas for physics to early AI systems. I used to work in a business trying to apply complexity abuse modeling to business problems. And then I turned to be an scholar, and now at University of Oxford, I teach computer science and and research computer science. Therefore, there are great differences between petroleum industry and computer science. Twenty years ago, the oil industry was still growing, but now it is declining with the depletion of oil resources. I think computers are the future of mankind.

Q

Is there a difference between the computer science major in UK and us? Is there any difference in teaching style?

A:In terms of the content, the contents are essentially the same. The US system tends to allow you to take a broader range of courses, and so there's a whole strand through the US system, where you have major and minor courses which allow you to take a much broader range of courses. In the UK, we tend to become quite specialized at A-levels, so students from 16 to 18 are doing A-levels and have to choose three or four topics. So at that point in the UK, students were quite specialized. If they go on to do computer science or maths of computer science, they will then focus all their time on math and computer science, and it's much harder to do other a more comprehensive range of topics. The similarity between American and British universities is that their basic courses are all big lectures that consist of hundreds of students. But, once you get up to more specialized 3rd and 4th-year courses, you might just have ten or 20 students in the lecture. Therefore, in essence, the computer science teaching in the United States and Britain is similar, but the computer science major in Britain is more professional-oriented.

Q

Malaysia's economy and science and technology are developing rapidly, especially in the field of automobile. I'd like to ask you what's your opinion on University Science Education in Malaysia?

A:I was previously working at South Hampton University, and South Hampton has a campus in Malaysia, and so lots of lots of UK universities often have tie ups, and Malaysia is one of the countries where UK universities target for, because a lot of the technology is developed in Malaysia. So I had a previous spin out where we made some low cost temperature centers and then use some algorithms to infer the thermal properties of homes. And we set up the manufacturing there in Malaysia, because it's the place where everyone speaks very good English, and it's very high tech, and you have good resources and and it's a nice place to visit. So Malaysia is definitely, um, A good candidate as well.

Q

I have a question, is there any majors they can combine with computer science like just mentioned business and physics?

A:I think mathematics can be well combined with computer science. In fact, theoretical computer science is very close to mathematics. So my students either study computer science directly or combine mathematics and computer science. Therefore, there are many overlaps between the two disciplines. At the same time, many problems about artificial intelligence and the ethical problems of artificial intelligence system are very close to the research in the field of philosophy, so computer science and philosophy are also very closely linked. In the university where I worked before, computer science was associated with the Department of engineering, so the students there would study electronics, digital electronics, and then computer science. It is a more theoretical and practical computer science. So it depends on your future direction. The subject of computer can be freely combined with many other subjects. We have also opened many interdisciplinary courses, such as physical informatics and bioinformatics. Now it seems to me that it is a very good thing to combine these disciplines with computer science.

Q

I wanna ask, which programming language would be the most competitive one in the future? Why? It is because of the logic behind or something else?

A:Everyone has their favorite programming language. Python is very popular now. It is an interpretative scripting language. One of the reasons for its popularity is that it is used by many science libraries, such as CYPI and NMPI. Moreover, a lot of machine learning research is done in Python because this is essentially sticking some code together. If you are beginning to learn a language, Python will be very interesting. Some problem with Python is that it is not a compiled language, so you will only find errors when you actually run the code. This means that Python has limitations, so learning a variety of languages is very interesting and necessary. Golang is a relatively more modern language. What's interesting about it is that it can use message passing to write concurrent code. Therefore, parallel concurrency can help you decode processes for many reasons, which is also a trend in the future. So I don't think there is a most popular language yet. Each language has its advantages and disadvantages. So instead of becoming a language expert, it's better to learn more languages.

Q

I have a question about software and hardware. I am particularly interested in both software and hardware, so I want to know which of these two directions is more suitable for me in the future.

A:They both sorts of evolving together. I was surprised that hardware changes much faster. I mainly use the C programming language. This standard language is 50 years old, and it works perfectly now as it did 50 years ago. But the computers that we use now are thousands of, maybe a million times faster than they were 50 years ago. So many things that we think of as improvements in software are just improvements in the speed that our computers run and where we're writing code in exactly the same way we did 50 years ago. Some of our tools have got to be better; we have better editors, we have maybe better debuggers, but that side is pretty much the same. But what's sort of driven the change is just the speed of the computers and the power consumption that's enabled us to have sort of smartphones, which would run all day on a very small battery. So I think the hardware in computer science is the real driving force. I am always interested in the progress of hardware. Although I am mainly engaged in software, I am interested in how to use all kinds of new hardware to develop technologies such as artificial intelligence.

Q

Can I just continue ask the question? I wanna know how will a background in mathematics and related science help students learn computer science? Can you recommend some related activities or competitions to help us improve our knowledge and experience in related fields?

A:One of the things that we often sort of point students to is a website called Project Euler. Euler was a mathematician, and one of the things on this website is a whole set of um problems that you can solve using a computer. One of the nice things about the website is that the same problem is solved in different programming languages. Once you've solved the problem in your particular programming language that you know or like using, you can look at the other solutions and see how it would be done in different programming languages; if you are interested in machine learning, a very famous website called Kaggle. Kaggle allows you to get access to datasets and train your neural networks. So it's a little bit more advanced, but there are lots of sort of tutorials online. So, if you're interested in neural networks, that's an excellent resource. And then, there are many places to learn to code online. Of course, if you are very interested in mathematics, you can also participate in the Mathematics Olympiad, which is very helpful.

Q

In the future, I want to study aviation engineering. Recently there are lots of aircraft accidents. Do you think computer technology can help the aviation industry reduce the probability of air crash?

A:There's a big area in computer science we called human interaction, computer human interaction, so often called H-C-I. And that's all about sort of understanding the sort of how people interact with computers.And the aviation industry is very good at understanding that.So lots of the rules about how pilots should operate systems, and how you should design systems a kind of designed using lots of those insights.And those insights now are sort of being tried to be used in autonomous vehicles. one of the things from that is that humans tend to be quite bad at watching, monitoring computers. And the experience from aviation is that people are very bad at doing that. So we have air traffic controllers, and the air traffic controllers have to know where the aircraft are and which order they're going to come in to land. We should also restrict the aircraft to fly in very narrow channels to make it easy for the human to navigate even if we will lose more fuel by doing that. So there's lots better ways that we could do that, if we could automate that process. On a modern aircraft the pilot doesn't really do very much. The plane can land itself and take off by itself. Sometimes crashes are caused by pilot intervening when they don't believe instruments, and they basically cause the crash. Therefore maybe an automatic system would have been better.

Q

I want to ask a question about health. I hurt my finger recently, and now I have entered the reconstruction stage. I found that hospitals now use an AI program to evaluate the degree of recovery of patients. Do you think AI can replace doctors in the future?

A:We haven't talked about health yet. When you read about AI in health, another of it is always the very high-level diagnosis. So we'll make an AI that will be much better than a human diagnosing a disease. That's valuable, but it's quite a hard thing to do, and I think there's a whole set of much lower level things that we could design algorithms for, which would be valuable, but don't have to beat the human-level performance. We can't necessarily afford to keep people in hospital while they recuperate. But we could have some intelligent software which would track and help them recover and encourage them to do exercise and follow their performance, and then maybe sort of alert a professional if they don't seem to be improving as they expect. So I think that their aspect is fascinating. Deep Mind, a large, Google-owned AI company, did some work with the University College London hospital. One of the things they were doing was trying to diagnose kidney disease or kidney events in patients in the hospital. This was an automated system, and It could just focus on one particular, then work in the background and save the doctor's time. And I think there's huge scope for applying AI in applications like that.

Q

Can you provide us with some resources for learning neural network?

A:I would go with Edge Impulse. Edge Impulses is a site that the makes it easy to train your networks, and the focus is very much on collecting the data set and then choosing an appropriate data set, and what you can do is you can set up the training process, so you choose your guide you through this process. So you can select the preprocessing you do, and you can choose the classifier you do. So it makes it easy to build a model and then deploy it somewhere. And the nice thing is it's got a whole set of examples. So if you look here, there are a lot of tutorials and examples. It can sort of recognize sounds, recognizing, doing image recognition, object detection. So this is an excellent site, and it allows you to train a newer network and see how well it works. If you want to get into neural networks, look at this Edge Impulse site. After training, now my smartphone can detect me when I'm washing my hands and tells me to wash my hands for 20s, so there is a training set here of running water from a tap and some gestures. So you want to sort of play around with neural networks? This is a really good site to have a play with.

Q

I recently read a science fiction novel that mentioned an AI, which finally developed to the extent that it can predict everything in the future. Do you think this may become a reality?

A:Yes, probably. But one of the exciting things that we have when we build AI, is that we use these neural networks. And the basis of a neural network is learning a mapping between the input and the output. So we have a training set, and we say that training input could be an image. The output could be a label for the thing in the image, and we train the neural network. The neural network then becomes able to look at an image that it hasn't seen yet and make an inference. People are talking about a lot of the time, we're going to build the network, and then we're going to use it to make predictions into the future. And so those predictions might be, okay, are you going to turn left or right? Are you going to use this particular appliance? And so, we're using your networks to make predictions. And we can only do that if what we're predicting looks like something that we've seen in the past. So we have to be very careful when we try and apply these systems in the future, in that maybe something will change in the world which isn't in our training data set. That's the real danger that we've got.

Q

I want to ask, do you believe that artificial intelligence will be like human beings one day?

A:Yeah, good question. I don't think anyone really knows. So many of the tasks now that we use neural networks seem to be very intelligent. We can show an algorithm image, and it will generate a description of the image, and that seems sort of human-like intelligence. But then we can show that same algorithm a slightly changed image. Still, it thinks it's something completely different. so the danger is that maybe we're tricking ourselves into thinking these algorithms are intelligent in the way that we think of a person as being intelligent, whereas what they're doing is just learning a big mapping between a back to space of possible images, an avatar space of possible descriptions. They're just sort of learning a backing between those two with no real understanding of what's in the scene. So that really is how neural networks work. There is no understanding inside. And so some proponents will say, well, maybe that's all that's happening in our brains, and that is intelligence. And others will sort of argue that, there has to be something else has to be, that's sort of a higher level reasoning that's happening inside, and that that debate's been going on for a long time. But I think lots of them, things that we want computers to do, don't require human-level intelligence. And that's a big question. So if you have a computer with human-level intelligence, the next question is, does it have consciousness? If it's conscious, what happens when you switch it off? Do these computers then have to have rights that you can't switch off? So in some sense, not building-level intelligent computers might be, might be a better move for us as humans.

Q

I want to ask a question about my future career as a computer science student. Since computer science is a big field. It has many different branches and research directions. Which research direction can help me find a job more easily?

A:I think having an experience in any programming puts you in a really valuable position. Because nearly everything now requires computers, every business has websites and back in software. Increasingly, we need AI algorithms being applied in specialist settings. Previously, if you wanted to deploy Artificial Intelligence, you would typically have to have a researcher who may be with a Ph.D. who had the necessary experience to develop a bespoke solution. With the tools that we have, so the Python libraries that we have, it's now much easier to deploy. And then there's a whole set of things like you mentioned security. Many people are developing security protocols and safe, secure systems that tend to be more back-end programming work, which is less focused on a particular product that might be used to cost lots of different products. Then there's the whole sort of web development area, where um, which is quite creative and graphical. If you are the sort of software engineer, then your job is to take their design and make it work and connect it all up. These directions are very good and have good prospects. But which path you choose depends on your interests and preferences.

Q

Another question about obtaining jobs. Suppose I choose to study computer science at University but do not engage in computer-related work after graduation. If I am involved in other jobs such as economics or business, can my computer background help me do better?

A:Some computer science students will become software engineers and do some coding professionally. Some will go to the game industry. But the whole set also will go into sort of professional business. So they will go into accountancy companies and management consultancy companies. So if you're in any business now, you typically manage some software project. In the UK, the big sort of management consult companies like Deloitte often manages the delivery of software projects. So having some hands-on experience in computer science and understanding what the software developers tell you is valuable. And there are many interesting things in business around cryptocurrencies and blockchain, which are all driven by new ways of building computer systems and what we to do with computer systems. Thus, having that background and understanding actually what hashing means and how these databases work is really valuable. So I think now in any industry, as long as you have a background in computer science, it can help you do very well.

Q

I also have a question. There are some websites with some temporarily released programming tasks for programmers to take over the tasks and make money. Do you recommend students like us to take tasks on these websites to train their programming skills?

A:Yes, it's not a requirement, but it is useful. The website you mentioned is quite similar to Project Euler, which are both solving problems with indefinite languages. Solving some of these problems will give you precious programming experiences when we interview students for computer science admissions; we are just interested in what they find interesting about computers. So it's pretty good for you to know that that's something that you enjoy doing because if you enjoy it, you'll work hard and do well. Working on some of these tasks can help you show your passion for computer science to the admission officer. So, I think anyway it is beneficial.

标签: #计算机科学与技术生涯人物访谈