结缘计算机

你为什么选择计算机专业?你认为条件如何?
计算机是你喜欢的领域吗?是你擅长的领域吗?

说来也巧,高考选择专业时并不知道自己会这般喜欢计算机这个专业,却将其填在了北航的第一志愿。
第一次接触编程是在高一的信息科技课上,学Visual Basic,学冒泡排序算法。当时感觉对我而言这是一个充满未知及其有趣的学科,以至于会考编程题满分,高考前还在疑惑为什么高考理科不加入信息科技?
选择计算机专业是一次阴差阳错的美丽邂逅,市场上对计算机人才需求非常之大,近年来大数据挖掘、机器学习深度学习、量子通信概念等突飞猛进,对计算机研究者、从业者来说,无疑是一个充满契机的时代。然而,最好的时代也可以是最坏的时代。鼎盛与蓬勃发展在带来机遇的同时也带来了前所未有的竞争与挑战,无论是学生还是已经进入社会的从业人员,想要具备占据一席之地的能力,学习与努力是万万不可懈怠的。
其次,对于国内的学生、从业人员来说,在充分认识并认可自身实力的基础上,更应该走出国门去看看其它国家的计算机理念与认识。引用邹欣老师于软件工程资料 - UCSD 怎么教软件工程发布的经历:

所以真正的课堂就比较奇葩,一般上来他就讲他工作时的一些故事,讲他身边的奇葩工程师,特别二逼的manager,特别照顾他的mentor等等,然后就开始讲Head First Design Pattern,用了三周时间过完了一本书,有用了两周时间过完了Head First Software Development,上课基本没有讲义,直接维基百科,无比飘逸,quiz和midterm都很简单,甚至允许你自己出题,如果题目出的好还给你加分,但真正学东西的是当你做project的时候,和所有队友沟通,交流,分配任务。

美国的大学教育和中国的区别很大,就计算机科学专业来说,来了以后能强烈的感受到这边对实践的重视,比如我这学期的java课,总共有180多学生,编程作业占了40%的分数,每天机房都会有好几个tutor和 Teaching Assistant 帮忙答疑解惑,可别小瞧这些 TA 和tutor,很多都是 Google 或者 Facebook的实习生,在 UCSD, TA 和tutor的制度非常完善,在全美也是数一数二的,前段时间有机会和老师聊了聊天,他说他们花了很多时间和精力在 tutor和 TA 计划上,每年都有大量的优秀高年级本科生被招募作为低年级学生的 TA 和tutor,他们每周有一定的work time,每个quarter会拿到computer science and engineering department给他们的工资,而且加州的这些大公司比如Facebook,Google,倾向于要UCSD有 TA 或者tutor经历的同学,因为他们了解UCSD的这个传统,tutor和 TA都是优秀的同学,而且在tutoring的过程中,他们也学到了很多如何和人打交道,如何换位思考,这些都是在大公司的团队工作时必不可少的。另外这边的美国学生都很勤奋,努力,我的软件工程课是一个团队项目,我们的团队有8名同学,绝大部分是美国学生,和他们做project的这三个月来感触也很多,他们会为了一个界面的细节和你争论到脸红耳赤,也会因为自己的一个错误一再向你道歉,会为了赶进度在周末主动熬夜,有太多的细节和难忘的回忆。

邹老师这篇博文我反复看了很多遍,第一,它让我开始期待接下来一学期的软件工程课是不是也会让我们全身心投入其中;第二,国外计算机专业注重自主实践,与“引导实践”相比,任务量重、学习量大,但是除了学到技术,还能培养吃苦、执著的精神;最后一点在于,我认可大学中的学习(尤其是计算机专业)是一种量变到质变的过程,某些技术的熟练掌握是一方面,更重要的是积累、沉淀了对这门学科乃至这个领域的理解与内涵。

在计算机系里学习

你对你的大学生活有什么要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到外国那样吗?

实践,实践,还是实践。这两年课程中要求的代码量实在太小了,不由得自主报名很多比赛来做中学。从这些竞赛中,认识了一些模型与技术,学会了如何和队友更高效地沟通,想必在软件工程课程中会有所作用吧。
软工这门课在开学之前就让我们从“读”开始,学习前车之鉴,思考未来之匙。如果国内许多大学的教授老师能够对自己的学生进行这么多的理念培养,或许,国内外大学之间的差距会开始逐渐缩小。事实上,国内大学没有任何必要做到国外那样,取其精华,去其糟粕。国内拥有国外大学没有的优点,不是一味地像国外靠拢,而是执着地追求优秀。不然,英国也不会向中国寻求定制版“一课一练”了。

迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。

迄今为止,我写过的有效代码还是非常少的。一,代码的复用度非常低;二,代码的复杂度通常都没有认真优化过;三,代码所实现的功能,以及工程的复杂性比较低;四,代码只实现了单一的功能,没有进行正确性论证等。上述四个问题导致了有效代码的数量极低。最复杂的作业是面向对象课程中的多线程出租车,重点在于多线程对象的共享与互斥访问,同时应用了广度优先搜索算法来进行寻路;最复杂的项目或为编程之美大赛的初级自然语言处理,通过分词、词性、句法分析从多个备选答案中找出最优答案。还运用了隐马模型对词性转移进行了二次修改,最后通过Google的word2vec模型加上统计方法计算出各项答案的概率值,正确率可达到60-70%。

科班出身和北大青鸟有什么区别?
速成的培训班和打基础的大学教育还有mooc之间有区别吗?

各位老师以及助教推荐阅读的博客中不乏仅通过速成培训班获得高薪的例子,我也未曾参加过俗称班,不知其究竟传授何物,但我认为,大学与速成班二者缺一不可。
微信上订阅了许多计算机相关公众号,其中一篇推送(找不到链接了),其题目大致意思为:为什么深度学习这么好用,而还有人在学习它的实现原理?没错,我想说的是,从速成班出来的人学习的是如何使用技术,而从大学计算机专业出来的学生不仅知其然,还知其所以然。
了解计算机组成原理、体系结构,你就会知道i++到底比i=i+1快多少;了解操作系统原理,你就会知道x86、x64在计算机内部到底是什么含义……计算机这个整体是从底层硬件一层层向上抽象至系统应用、用户应用层面,速成班或许看到的只是浮在海面上的冰山。
(个人见解,不喜勿喷)

未来规划

对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你的技术道路、职业道路和社会道路?
你对于实现自己的梦想已经做了或者计划做什么样的准备?

梦想很简单但也很难:脑子里有想法,身边有共同奋斗的朋友。对于未来的工作内容、工资其实我没有很大的要求,刚毕业的头几年,干一行爱一行,虚心学习、脚踏实地。待到对自身、对行业有了清晰透彻的认识了再去盘算更大的计划。
就个人喜好而言,更倾向于大数据挖掘这一领域,因为时间不停止,数据就不停止产生。因此开始上手一些大数据分布式处理引擎,准备学习数据清洗、数据分析相关的理论和算法。

你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
实习经验究竟有多重要?是否需要马上开始积累实习经验?

已经趁着暑假在实验室打了个杂,实了个习,主要做数据爬取、清晰、分类等工作,下一步会进行数据建模与分析。借此机会简短总结一下本次实习:一,有deadline在敦促着你不能偷懒;二,实习中需要用到的技术(对于大二来说)大部分都需要现学现用,所以还是能学到一些技术的;三,实习不同于交作业等待老师打分,必须在各个方面做好优化、说明等。曾经犯了一个较大的错误,导致后期花了大量时间来弥补。所以,实习会让你发现无论是技术上还是个人习惯上的漏洞,这些都是在日常学习中很难发觉的。

喵,第一次博客大概就说这么多,望新学期顺利。 :D

[BUAA_SE_2017]第零次博客的更多相关文章

  1. [2017BUAA软工]第零次博客作业

    第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目 ...

  2. [BUAA软工]第零次博客作业---问题回答

    [BUAA软工]第0次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第0次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  3. C语言博客作业——函数

    一.PTA实验作业 题目1:6-6 使用函数输出水仙花数 1.本题PTA提交列表 2. 设计思路 int narcissistic( int number ) //函数定义 1.定义整数型变量a.i分 ...

  4. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  5. 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)

    Web.config的读取 对于Web.config的读取大家都很属性了.平时我们用得比较多的就是appSettings节点下配置.如: 我们对应的代码是: = ConfigurationManage ...

  6. 一步步开发自己的博客 .NET版(10、前端对话框和消息框的实现)

    关于前端对话框.消息框的优秀插件多不胜数.造轮子是为了更好的使用轮子,并不是说自己造的轮子肯定好.所以,这个博客系统基本上都是自己实现的,包括日志记录.响应式布局.评论功能等等一些本可以使用插件的.好 ...

  7. 【原】Github+Hexo+NextT搭建个人博客

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...

  8. 我为什么要写LeetCode的博客?

    # 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...

  9. 博客使用BOS上传图片

    1.博客平台的选定 从大学开始做个人主页算起,最开始是使用html,CSSS写简单的页面,后面大学毕业之后接触到了WordPress,就开始用WordPress搭建网站.现在还维护着一个农村网站.ht ...

随机推荐

  1. python流程控制语句-if语句

    一个if语句 if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ),也就是只有一个if判断,当为真的时候就运行一块语句,否则就不运行 下面代码中的if语句控制者缩进的pri ...

  2. github拓展,以及ModelForm的使用

    github - git  init/add/commit/reset/log/status/stash pop/checkout/branch    新入职到公司,地址:   git clone h ...

  3. js中采用词法作用域

    所谓的 词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行, 作用范围就已经确定好了. 这个就是所谓词法作用域. 在 js 中词法作用域规则: 1.函数允许访 ...

  4. 20145203盖泽双 《网络对抗技术》实践八:Web基础

    20145203盖泽双 <网络对抗技术>实践八:Web基础 1.实践目标 (1)编写Web前端--含有表单的HTML代码. (2)编写Web前端--javascipt验证用户名.密码的代码 ...

  5. ActiveMQ安装配置及使用

    ActiveMQ介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管J ...

  6. 超简单Mac安装Tomcat服务器

    超简单Mac安装Tomcat服务器 1.首先下载tomcat 下载连接 2. 解压并改名 3.把Tomcat复制到系统中的资源库或者Library 4.打开shell,进入Tomcat下面的bin目录 ...

  7. 栈(stack)信息

    栈在JVM虚拟机中是线程的一块私有空间,比如存储函数的调用信息.局部变量等 特性 先进后出和后进先出即FIFO 借用网络的一个图,感觉看完就可以了解了 最先调用的函数压入栈低,最后压入得函数在栈顶,函 ...

  8. AI 循环神经网络

    循环神经网络(Recurrent Neural Network,简称RNN),通常用于处理序列数据,正如卷积神经网络用于处理网格数据那样.

  9. 【Codeforces 1132E】Knapsack

    Codeforces 1132 E 题意:给\(cnt_i\)个\(i\)(\(1\leq i\leq 8\)),问用这些数所能构成的最大的不超过\(W\)的数. 思路:随机+贪心... 我们考虑将贪 ...

  10. BesLyric 全新版本下载 ( windows \ mac \ linux )

    导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 很荣幸地,自 beslyric 2017 年开发推出以来,得到了很多云村村民的肯定,现在 ...