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

选择计算机

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

与计算机首次接触是在小学五六年级吧,不过那时候没有各种计算机技术的概念,无非是打打游戏看看电影;初中、高中都有开设过微机课,还记得当时学过一两节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. python 给多个变量赋值

    # assign values directly a = b = 'hello' a, b = 1, 2 print(b, type(b)) assert a == 1 and b == 2 # as ...

  2. 只需3步,快来用AI预测你爱的球队下一场能赢吗?

    摘要:作为球迷,我们有时候希望自己拥有预测未来的能力. 本文分享自华为云社区<用 AI 预测球赛结果只需三步,看看你爱的球队下一场能赢吗?>,作者:HWCloudAI. 还记得今年夏天的欧 ...

  3. Servlet生命周期和方法

    一.五个生命周期方法,有三个很重要,初始化方法.提供服务方法和销毁方法 1.三个主要方法 2.另外两个重写的成员方法只做了解 二.生命周期详解 其中,每次刷新页面都是一次对servlet访问: 页面访 ...

  4. 【第四篇】-Git 工作区、暂存区和版本库之Spring Cloud直播商城 b2b2c电子商务技术总结

    Git 工作区.暂存区和版本库 基本概念 我们先来理解下 Git 工作区.暂存区和版本库概念: 工作区:就是你在电脑里能看到的目录. 暂存区:英文叫 stage 或 index.一般存放在 .git  ...

  5. C语言学习笔记---2.C语言数据类型

    1.C语言基本数据类型 1.1 int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数.负整数或零.其取值范围依计算机系统而异.一般而言,储存一个int要占用一个机器字长. 声明 ...

  6. apache php RabbitMQ配置方式

    确定自己的php版本号和位数,去pecl.php.net下载版本相应的rabbitmq扩展包, 以php5版本为例,在http://pecl.php.net/package/amqp里面选择php5对 ...

  7. Spring系列-SpringBase+IOC

    Spring 一.前言 Thinking is more important than learning 本文主要讲述spring 以及它的 IOC原理 代码地址:https://gitee.com/ ...

  8. hadoop报错

    19/11/24 08:29:08 INFO qlh.MyMapreduce: ================this is job================= 19/11/24 08:29: ...

  9. hadoop生态之CDH搭建系列

    本次搭建使用的版本是CloudManager 1.15.1

  10. 鸿蒙内核源码分析(位图管理篇) | 谁能一分钱分两半用 | 百篇博客分析OpenHarmony源码 | v19.03

    百篇博客系列篇.本篇为: v19.xx 鸿蒙内核源码分析(位图管理篇) | 谁能一分钱分两半用 | 51.c.h .o 先看四个宏定义,进程和线程(线程就是任务)最高和最低优先级定义,[0,31]区间 ...