[2017BUAA软件工程]第0次博客作业
[2017BUAA软件工程]第0次博客作业
结缘计算机
你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
计算机是你喜欢的领域吗?是你擅长的领域吗?
我当时报考高考志愿的时候就已经是想好报考计算机专业的。我第一次接触计算机还是比较早的,就是游戏机之类的都算上的话其实可以说是陪伴着我长大的东西了。要说我小时候也并不算是特别爱折腾玩意的人,第一次对计算机有点小“开发”的经历,我想应该是小学5年级(左右)的计算机课上,老师教我们设计了一次网站。小孩子的开发嘛,都是那种套套模板,并不会实际写程序的,但当时我就觉得比较神奇。后来我学单片机(初中的时候),学了点汇编,就拿汇编瞎写一些程序,虽然我不太记得我当时写了什么玩意,但就记得写程序还是挺有趣的。要说比较正经的开始接触计算机编程,我觉得应该算是我高中的时候。当时高一刚入学,学校各类竞赛队招人,我也想学一个竞赛搞一搞,就报名了信息竞赛。就这样我到了高考报志愿的时候就自然而然就想报考计算机专业,因为我觉得搞搞计算机,写写程序还是比较有意思的一件事。
我的这些经历跟博主灵感之源相比,是小巫见大巫了。跟他相比,我的条件要好的多,从小学就能接触到计算机,书之类的资源想想在当时要想找也是挺多的。但现在来看,计算机确实是我喜欢的领域,也是我擅长的一个领域。
在计算机系里学习
你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
说实话,我对我的大学生活并没有什么想要吐槽的地方的:先是我觉得北航的课程设计总体来讲还是比较好的,在大一学习基本数学和编程,大二有一些更加专业的数学以及计组之类的专业大课,大三开始众多选修自选。我觉得这些还是比较不错的。我觉得能再改进改进的,吐槽一下的话就是选课可以再自由一些:我能力比较不错就想大一开始学那些专业课应该在系统上是可以选的,但是可以不推荐;但实际上现在到了大二才可以选一些大二的课程,以此类推。
我个人来讲,是更喜欢实践出真知的。具体来讲,比起听课、看书,更喜欢在一个目标下,看一些东西,学习知识,以达到那个目标。目标可能是一个竞赛的目标,或者是自己玩一玩开发的小玩意。由于这样,在北航的这些主要的课程上,例如计算机组成原理,操作系统等,都有明确的目标(开发CPU,简易的操作系统),这让我学习起来非常的有推动感和成就感。
迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
迄今为止我写了多少代码我根本没有仔细数过,但我写的代码数量应该也不算多的。我想我做的比较复杂的项目应该要说的是今年ASC竞赛负责的MASNUM应用和同样也是今年的ISC竞赛负责的MiniDFT两个高性能科学计算应用的优化了。MASNUM应用是一个海浪模式的科学计算应用,我们当时需要在当今世界最快的超级计算机神威太湖之光上做性能优化。我和另一个大四(现在已经研一了)的同学一块负责这个应用的性能优化。我们当时做了性能分析,又写了好多针对神威的加速代码,又参考了一些文献,主要对其中两个主要函数做了好多优化改进,最终达到了十几倍的加速,虽然最后被清华的300多倍的加速大打了一把脸,但是对于当时刚入门的我来讲,对于学习fortran语言(MASNUM是用fortran语言写的),理解整个软件的运行流程,学习MPI、神威编程架构知识等,还是非常有挑战的一件事。然后是ISC竞赛负责的MiniDFT应用,这是一个量子化学方面的应用,其中计算的方程什么的我也真不太懂,当时我们选择GPU进行加速,所以跟学长一块写了大量的GPU的kernel函数,虽然由于当时研究的小算例跟大算例性能瓶颈不一样,但是最后加速效果还是不错的。这个优化项目在当时比赛方的要求下都是公开的,大家想看的话可以自行围观。github地址:ISC17_BUAA_MiniDFT
学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
要说我从来没有过这样的疑问,那肯定是假的。但我现在还是有些小的体会,觉得学那么多数学对于计算机科学还是非常有必要的。学习计算机,如果光在表面晃悠晃悠,数学确实不必学习那么多,但如果深入,那这些数学知识就是必备技能了。比如如果线性代数没有学好,在高性能这个领域,基本就看不懂程序了,因为好多高性能计算的基本就是矩阵运算;不说高性能,说机器学习深度学习这块,一些基本操作还是用矩阵向量来进行表达的,再加上各种概率论的知识,基本上数学没学好想深入学习机器学习就是看天书了。所以这些数学知识,我现在觉得是学计算机的人的立命之本,从根本上来讲比掌握多少多少语言更加重要,因为初步学习一门语言可能数周甚至数日就可以,但是这些数学上的思维上的知识数周可是很难掌握的。
未来规划
对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
未来规划上,我还没有想太明确。我以后从事的工作还是想跟机器学习、高性能运算有关系。目前看来就是走一步算一步,按照自己喜欢的路随性走下去了。
实习经验究竟有多重要?是否需要马上开始积累实习经验?
从ASC竞赛开始,我就一直呆在实验室里面,做竞赛题目的优化工作,跟老师队友一起开会讨论。然后在ASC、ISC竞赛结束后,暑假就在老师指导下就去无锡实习一段时间,感觉收获还是挺大的。先是学习到了git的正确用法,体验学习了多人合作开发的流程。这种经验还是在实习中容易体会学习。但我觉得并不需要马上开始积累实习经验:我觉得这是一个自然而然的事情,并不需要着急积累。
[2017BUAA软件工程]第0次博客作业的更多相关文章
- [2017BUAA软工]第0次博客作业
第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 当初选择计算机专业作为自己报考大学的第一志愿,主要是看重了市场对于计算机行业人士的巨大需求,同时也感慨于计算机行 ...
- [2017BUAA软工]第二次博客作业:代码复审
〇.comment链接 https://github.com/hanayashiki/Sudoku/issues/1 一.代码复审 1.概要部分 (1)代码能符合需求和规格说明么? 经测试,对于合法输 ...
- [2017BUAA软工]第零次博客作业
第一部分:结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 当年高考前在专业这件事上纠结了好久,因为我对于大学各个专业具体学什么都不甚了解,于是就迟迟没有明确的目 ...
- 初窥软件工程 2020BUAA软件工程$\cdot$个人博客作业
初窥软件工程 2020BUAA软件工程\(\cdot\)个人博客作业 目录 初窥软件工程 2020BUAA软件工程$\cdot$个人博客作业 一.作业要求简介 二.正文 (一) 快速看完整部教材,列出 ...
- IEC2017级_1-2班两次博客作业成绩说明
一.pta作业情况 前两次pta的答题情况,同学们“借鉴”情况突出,在点名公示后,第3次pta有明显好转,请同学们对自己要求更严格些. 二.博客作业情况 大多数同学能够按要求完成.第0次博客作业,个别 ...
- [BUAA软工]第零次博客作业---问题回答
[BUAA软工]第0次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第0次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...
- [2017BUAA软工]第三次博客作业:案例分析
第三次博客作业:案例分析 1. 调研和评测 1.1 BUG及设计缺陷描述 主要测试博客园在手机端上的使用情况. [BUG 01] 不能后退到上一界面(IOS) 重现步骤:打开博客首页中任意博文,点击博 ...
- BUAA 2020 软件工程 个人博客作业
BUAA 2020 软件工程 个人博客作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业 ...
- [2017BUAA软件工程]第0次个人作业
第一部分: 结缘计算机 1. 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 有时候我也问自己这个问题,是因为认识的人中有人从事这个工作并且做得很好而产生了艳羡?是因为家长一次次催逼,想 ...
随机推荐
- Windows安装PostgreSQL11.1
Windows安装PostgreSQL11.1 安装过程如下: 1.下载安装包postgresql-11.1-1-windows-x64.exe 2.点击下一步 3.选择安装位置,默认路径C:\Pro ...
- js从数组中删除指定值(不是指定位置)的元素
RT: js从数组中删除指定值的元素,注意是指定值,而不是指定位置. 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素,请问要怎么写? ...
- 控件_TimePicker
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view ...
- Django view 视图
request.method 判断请求方式 8种 GET : 获取一个页面 POST: 提交数据 PUT : 上传 HEAD: 不用上传就获取数据 DELETE: 删除 Request-URL 标识的 ...
- centos断网调试
保存命令 按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件 ...
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(四)数据库安装(单节点)
一.卸载CentOS自带的MySQL 1.1 查看之前是否安装过mysql [root@master mysql]# rpm -qa|grep -i mysql mysql-libs--.el6.x8 ...
- Database hang and Row Cache Lock concurrency troubleshooting
http://www.dadbm.com/database-hang-row-cache-lock-concurrency-troubleshooting/ Issue backgroundThis ...
- MYSQL联合多表更新和删除(转)
文章转自http://www.cnblogs.com/andy_tigger/archive/2011/05/11/2043483.html 多表更新在 MySQL 3.23 中,你可以使用 LIMI ...
- vue指令相关的
阅读目录 1.v-text 2.v-html 3.v-show 4.v-if 5.v-if vs v-show 6.v-else 7.v-for 8.v-on 9.v-bind 和 v-model 1 ...
- 《Java程序设计》教学进程
<Java程序设计>教学进程 目录 考核方式 课前准备 教学进程 第00周学习任务和要求 第01周学习任务和要求 第02周学习任务和要求 第03周学习任务和要求 第04周学习任务和要求 第 ...