一位美国达特茅斯学院结业结业生的自述。Dartmouth College(达特茅斯学院)位于美国东北部新英格兰地域的New Hampshire(新罕布什尔州),一年中有快要五个月的漫长冬季。从学校向北开车三小时可以到达加拿大的Montreal(蒙特利尔)多数市训练法语口语,往南开车三小时可以到达美国Massachusetts州的口岸都会Boston吃小绵羊暖锅。Dartmouth建立于1769年,作为美国常春藤大学同盟之一,在U.S. News的美国本科院校排名榜中占第11位。
起始:抱着对盘算机的好奇心在开始大学生涯之前, 我对盘算机这一门学科的接触不多,唯一记得的或许就是中学时代上盘算机课时用Visual Basic写过几个小法式。用周围爸爸妈妈的话来讲,就是远远地输在了未来要当法式员的起跑线上。不外对于这一切,其时的我是并不知道的。Dartmouth一年有四个学期,也就是美国俗称的Quarter System。
每个Quarter学期的时间是10个星期上下,一般修3门课,一门课一个学分。结业时每个学生要修满36个学分,而且有三分之一的课程(12个学分)是致力于某一个专业。Dartmouth有一点差别于其他七所常春藤同盟学校,它属于Liberal Arts College(文理学院)。Liberal Arts College有一个我很喜欢的地方,就是刚进大学的前两年可以自由选修差别领域的课程,掘客自己的兴趣喜好,找到合适的专业。
然后,在大二竣事之前必须确立好专业,用剩下两年的大学时间来主修自己的专业课程。每年的春季学期都市有一门盘算机入门课,叫作CS5 Introduction to Computer Science。抱着对盘算机的好奇心,我在大一春季修了这门课。因为CS5是盘算机入门课,选课的同学还是许多的,人数约莫在70人左右,是我在盘算机系修过的人数最多的课程了。
CS-盘算机科学专业CS5比力hands-on,一半是学习Java这一编程语言,另一半是通过Java编程为前言来学习递归、模块化编程、面向工具编程的观点,同时还涉及了一些用户界面实现的内容。一个学期10个星期,每个星期3堂课,包罗了11个short assignment,5个lab assignment,2个期中考试和1个期末考试。Short assignment的观点是正常花1到2个小时就能完成的编程作业。
Lab assignment是相当于完成3到4个short assignment作业量的任务,涉及到编写比力大的法式,代码量在500-1000行左右。考试的话就是一个小时的试卷答题。
课程还配备一个Teaching Assistant (TA)和多个Section Leaders (SL)。TA会在每周牢固的时间设置office hours,学生可以在office hour时间去找TA开开小灶,对课上未能明白的内容提问求解。
而Section Leader则会卖力对学生解说short assignment和lab assignment的需求,并为这些作业打分。TA主要来自盘算机系的研究生,而SL主要来自上过该门课程而且其时结果是A的高年级本科学生。现在追念起来,我对TA没什么印象,应该是从来没有去过office hours。SL倒是还记得,是一个叫Luke的高年级学生,经常在作业部署的时间迟到早退,一副无精打采的样子,批作业也是经常堕落,常需要找他去纠正分数。
说到分数,不得不说明一下,美国大学是按Grade Point Average来盘算结果的,也就是俗称的GPA。课程得分为A对应的point是4.0,A-是3.66,B+是3.33,B是3,以此类推。大学四年结业的时候满分是4.0,也就是全部都拿了A,用现在时髦的话讲是学霸级人物的存在。
CS5这门课,如果是100分的总分,只有拿到92分以上才气拿A的结果,因为这门课学生的结果普遍都比力高。学生对于包罗10%的上课出勤分在内的每一分都是很在意的,所以对于作业或者考卷被扣错分数是无法容忍的,这或许也就是为什么我到今天还记恰当时修这门课的SL。进阶:界说功效需求与开发实现虽然修CS5的整个体验中有些小小的不愉快,但我还是受到了how to solve problems computationally的启发,发生了一种想要去学习更多的热情。
于是乎,在大二的第一个秋季学期,我修了第二门盘算机课程CS 8。CS 8也是入门级的课程,可是它的curriculum在其时是全新的,是用Haskell语言编程来学习Functional Programming。能够学以前别人没有学过的内容总是很令人兴奋,课程的内容也很富厚,包罗用Functional Programming来实现动画,分析生物序列,搜索社交网络,剖析和利用HTML,识别数据集群,解决Sudoku难题,编写俄罗斯方块游戏等等。
记恰当时第一个Lab任务就是用递归的方式去画一个雪花fractal,如图所示,短短50行Haskell代码,就可以画出这么一个界面上显示庞大可是逻辑很清晰的图形,在其时以为很是的酷。一个学期学下来,最后一个Lab从UI设计到代码编写完成了一个俄罗斯方块的游戏,如图所示。
对于这个Lab的印象我也比力深刻,因为花了很鼎力大举气去自界说和完成了extra credits的功效来获取附加分。既担任了产物司理的角色来界说功效需求, 又担任开发实现了这些功效。同时也第一次深刻地认识。
本文来源:ag九游会官网登录入口-www.xczns.com