2021年9月16日

计算机科学学生解决现实世界的问题

在彼得·德雷克(Peter Drake)教授的软件开发课程中,计算机科学专业的学生将他们学到的技能应用到实际问题中,比如地震准备和生物学研究。
" class="lw_widget_syntax lw_hidden">

彼得·德雷克

对于那些不经常通过代码交流的人来说,很难想象如何将括号和数字连接到实际应用程序中。而是计算机科学副教授彼得·德雷克在微软的软件开发课程中,这是最重要的。

首先在2008年在计算机科学中的名义主题下教授,该课程迅速发展成为一个Linchpin计算机科学目录,每两年提供一次,在教师将其作为学生每年都可以参加的主要要求之前。在课堂上,由4到8名学生组成的小组致力于解决专业软件开发人员每天面临的各种问题,这些问题通常涉及多个概念和相反的压力。

客户来自学院内部、当地企业、政府机构和非政府组织。在过去的一年里,项目包括为波特兰应急管理局(Portland Bureau of Emergency Management)开发网站和数据库,以跟踪借给志愿者的设备,制作视频游戏以帮助加强地震准备,以及为生物学副教授改进跟踪果蝇幼虫的软件程序诺玛Velazquez-Ulloa

“想想国际象棋,”德雷克教授说。“除了每个棋子的移动规则,还有一些需要解决的问题,如第一轮的特殊移动,升级,何时允许或不允许进入城堡,将国王放入检查中会影响哪些移动是合法的,等等。这门课程让学生体验现实世界的问题,而现实世界的问题更复杂。”

对于俄勒冈州林肯市计算机科学专业的22届学士Terin Trachtenberg来说,实际应用编程技能为真实的人制作真实的软件的想法令人生畏。在他的项目中,该团队的任务是使用Unity开发一款地震防备视频游戏,这是一个大多数学生都没有使用过的游戏引擎。尽管有这样的学习曲线,Trachtenberg还是觉得他的团队能够在项目结束时识别出代码需要改进的地方——这表明他们对游戏开发的理解已经提高了。

“我想我一定要把这类课程作为我在计算机科学学习过程中必不可少的一部分,因为它是我毕业后最接近期望的工作。”“在编程生涯中,这些经验和技能将是无价的,我很感激在我还在大学的时候就有机会对它们进行测试。”

虽然学生和教师之间的合作经常是Lewis & Clark课程的主要内容,但对Drake教授来说,软件开发课程的魅力在于学生能够实践的独立程度csgo必威大师赛。课程为期三个小时,每周两次,所有的编码都在这段时间内完成。学期结束时,许多学生表示,这是他们在大学里学过的最有价值的课程。

除了学生从使用JUnit和Git等特定工具的经验中获得实践技能外,学生还能够作为团队成员成长——计划、组织和与同学交流,同时利用与客户建立网络的机会。对于客户来说,提供的解决方案可以从“概念验证”软件到问题的精确答案。事实上,有一年,顾客对自己的作品感到满意,就会雇佣班上的大多数学生。

“在任何一种情况下,它让他们与学生合作了几个月,这比任何résumé或求职面试提供的信息都要多得多,”德雷克教授说。

计算机科学