项目 内容
作业属于 班级博客
作业要求 作业要求
个人课程目标 掌握软件工程基础知识
具体有助方面 个人认知与规划
其他参考文献 博客Ⅰ 博客 Ⅱ

选择计算机

你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?

与计算机首次接触是在小学五六年级吧,不过那时候没有各种计算机技术的概念,无非是打打游戏看看电影;初中、高中都有开设过微机课,还记得当时学过一两节vb语言,拉动框架,填写数据还算有趣,不过仅仅是觉得有趣,寄宿制学校也没有条件和更多的精力去研究计算机。不过一方面中高考这方面并没有测试,学校的教育深度并不高,另一方面自己没有深入了解,没有足够的接触。所以说真正的与计算机接触还是在大学。

17年高考填报志愿,我是按照“学校->专业”的顺序进行的选择,很幸运我的高考分数恰好可以进入北航的信息大类班级。那么为什么会在大学选择计算机专业呢?因为这块“蛋糕”足够大。那时候概念也不是特别清晰,虽然大一学年学校也办了很多讲座帮助我们进行专业选择辅导,最后选择专业时也是较幸运地进入计算机专业。可能就是因为它比较“热门”,现在依然是,而且国家也有这方面的鼓励支持等。

与博客Ⅰ 中“爆栈”创始人相比,我对计算机的兴趣就很薄弱了,我更多层次上的只是把计算机当成一个工具,一门可以学习的技术,和其他课一样,它对我而言,就是“一门课程”,只不过它的名字是计算机。当然作为学生我仍然认真地学习这门课程,当进入工作后,也会学习新的技术等以防时代落下。其实我很羡慕这位拥有浓烈兴趣并且可以将兴趣转换为工作的人,如果我不能,那么我想把工作转换为兴趣。

在计算机系学习

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

在北航的计算机系学习,我对我的大学生活其实没有什么要吐槽的地方。这两年的学习生活过去,觉得我的大学很优秀。我有清华北大的同学,也有普通一本二本学校的同学,大家一起肯定会聊起自己的学校。我感觉到相对越好的大学,其资源越多,这是客观条件,但是你能具体享受到多少资源,这很大一部分还是取决于自身的选择与努力程度。从初中到大学,我都觉得自己的学校就是我理想中的样子,不是“完美的”,而是“典范的”,没有鹤立鸡群,更没有滥竽充数。可能也是以为自己身处于了这个环境,然后融入这个环境,反而没有更多的想法了。

对于国外大学的教育方式,我没有太多的了解,就是徘徊在“开放”“师生互动”等关键词上。北航计算机系的很多专业课程都是在学习世界名校的教育方式,并且根据学校学生切实的情况来改进。我觉得这是非常棒的一个点。至于我们老师和学校能否做到和国外一样这个问题,我觉得还是有很多困难的。教育的大环境不同,学生的小环境也不同。我们的应试教育已经被诟病很严重了,学生“害羞”的性格也是与国外有区别的。不过因材施教、因地制宜,我觉得我们的教育水平已经很好,进步的方向我也揣测不出。

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

我的代码量应该是低于计算机系学生平均水平的,写代码是从大一的c语言开始,那时候是简单的题目了语言语法;而后大二的数据结构课程,稍微复杂一点的题目,熟悉指针和数据结构等知识点;再然后是计算机组成原理的课程设计,是一个相对较大(对我来说)的工程作业;面向对象设计与构造课程的几个迭代项目;操作系统的课程设计,主要任务是补充关键代码;编译原理的课程设计,写出类c语法的编译器。

我认为比较难或者说重要的作业是面向对象设计与构造课程和自己写编译器的项目。在面向对象设计与构造课程中,除了学习面向对象的知识,也对软件工程有了初步的认识。老师在教学中也是引入了很多工程方面的知识,请企业大牛进行讲座,我觉得那时候是建立软件工程认识的时候。这门课程作业是若干迭代的小项目,比如多项式计算,电梯问题,路程规划等问题,乍看起来并不难,但是由于是迭代项目+互相找错,对项目的框架建立和程序的鲁棒性都有很高的要求。类c文法编译器的作业主要是“大”,其从文法分析到词法分析再到语义分析,分别写出相应模块代码,最后整体作为一个项目。在模块单独测试和模块之间的接口测试,这种写项目的感觉是以前作业所没有的。除了这些专业课的代码,其他写过的代码有安卓开发课程中进行的小组项目,这部分我认为最大的难点就是项目框架分解、组员间协商代码;这个课程我们也没有用到代码管理工具,只是尽量地将代码清晰地分给个人,这也是软件工程课程学习的一个点吧。

未来规划

对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?

谈不上“梦想”这么高大的词语吧,目前来看,我希望自己成为互联网公司浪潮里的某个工程师。从现在开始的道路可能是:考研(提高学历)->寻找工作>一般工程师(工作经验)->全栈工程师(技术)->管理层->···看起来还是蛮普通的道路,上下限对我来说都可以接受。

实习经验究竟有多重要?是否需要马上开始积累实习经验?

对于实习经验的事情,我把它的重要性稍后放了下。自我判断情况是时间用在考研的准备上会有更好的收益。也是比较纠结的部分。我觉得实习经验是很重要的一部分,对于学业或者成长方面,可以技术知识和视野能力等等。希望自己能够用课程上的经验弥补一下不能进行实习的经验。

热身 for computer industry的更多相关文章

  1. 256 terabytes random-access memory

    Computer Systems A Programmer's Perspective Second Edition As we will discuss, the extension of IA32 ...

  2. ubuntu添加自定义vga输出分辨率

    Ubuntu有点折腾人....但是在折腾之后发现它更加方便,而且懂得更多的东西 最近在调试一个视频采集芯片的驱动,主要是接收vga输入和hdmi输入,在实验的过程中遇到了一个恼火的问题,就是同一台电脑 ...

  3. 微软职位内部推荐-Sr DEV Lead, Bing Search Relevance

    微软近期Open的职位: Contact Person: Winnie Wei (wiwe@microsoft.com )Sr DEV Lead, Bing Search RelevanceLocat ...

  4. Disposable microfluidic devices: fabrication, function, and application Gina S. Fiorini and Daniel T

    Disposable microfluidic devices: fabrication, function, and application Gina S. Fiorini and Daniel T ...

  5. UNIX标准及实现

    UNIX标准及实现 引言     在UNIX编程环境和C程序设计语言的标准化方面已经做了很多工作.虽然UNIX应用程序在不同的UNIX操作系统版本之间进行移植相当容易,但是20世纪80年代UNIX版本 ...

  6. [转] Vmware vs Virtualbox vs KVM vs XEN: virtual machines performance comparison

    http://www.ilsistemista.net/index.php/virtualization/1-virtual-machines-performance-comparison.html? ...

  7. Can We Make Operating Systems Reliable and Secure?

    Andrew S. Tanenbaum, Jorrit N. Herder, and Herbert Bos Vrije Universiteit, Amsterdam Microkernels-lo ...

  8. Software Engineer Title Ladder

    http://changelog.ca/log/2013/08/09/software_engineer_title_ladder Within the software engineering pr ...

  9. 8 Ways to Become a Better Coder

    It’s time to get serious about improving your programming skills. Let’s do it! That’s an easy career ...

随机推荐

  1. 手工添加数据到Chart

    private void button1_Click(object sender, EventArgs e) { //清除Series chart1.Series.Clear(); Random ra ...

  2. [第十四篇]——Docker Machine之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker Machine 简介 Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机. Docker Mac ...

  3. 织梦 arclist调用副栏目内容解决办法

    1 打开include/taglib/arclist.lib.php,找到296行: if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonI ...

  4. ssh 执行 shell脚本执行jps时:-bash: jps: command not found

    转至: https://www.codeleading.com/article/67592908468/ 我构建了hadoop集群.我们一定会写一个shell脚本去每一个节点上去jps,查看每个节点的 ...

  5. Linux系列(12) - find

    简述 find搜索文件,搜索方式丰富,遍历给定范围的所有目录下的文件(避免大范围的搜索,会非常浪费系统资源,建议不在直接在"/"目录下搜索) 命令格式 基本使用 格式:find [ ...

  6. linux 安装配置 jdk1.8

    一.查看Linux系统是否有自带的jdk: 1.输入:java -version 2.输入:rpm -qa | grep java 检测jdk的安装包,(注意:rpm命令符没有时记得下载一个输入:ap ...

  7. 第三方api接口

    做为一个软件测试工程师,你要学习接口测试,需要练习,那么就要有调用的api,可以参考以下的文章. 国内7款API供应平台功能对比及详细介绍 https://blog.csdn.net/ishxiao/ ...

  8. Python项目生成requirements.txt文件之pipreqs的使用

    生成requirements.txt时使用pip freeze > requirements.txt会将环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包.耗时耗力其实是不可取 ...

  9. pyqt5读取文本框内容,输出到日志框(QTextBrowser)

    import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QAction,QLabel,QLineEdit,QPushButt ...

  10. 『Python』matplotlib坐标轴应用

    1. 设置坐标轴的位置和展示形式 import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.use ...