2021S软件工程——个人阅读作业1
2021S软件工程——个人阅读作业1
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季软件工程(罗杰 任建) |
这个作业的要求在哪里 | 2021年软工-热身阅读作业 |
我在这个课程的目标是 | 了解并熟悉软件开发的具体流程,与团队共同开发一款实用的软件。在实践中增强自己的工程能力。 |
这个作业在哪个具体方面帮助我实现目标 | 帮助我回顾与计算机的“缘分”与选择计算机的初心。通过看别人的经历,了解自己的差距在哪里。提醒我已经大三了,该考虑未来的道路了。 |
1. 结缘计算机
1.1 你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
我为什么选择计算机?
在小学时,学校有学海龟画图,当时还参加了一个比赛。我就觉得用代码去做一些事情很酷。后来,我妈给我报上了一个学习编程的班。最开始学习的是Pascal语言,学习了一些基础的语法和简单的算法。印象深刻的是要做一个验证哥德巴赫猜想的程序(好像要求一定程度上考虑复杂度),在参考了百度以后做出来了,被老师表扬了,当时就觉得自信心满满。再后来又学习了VB,做了简单的可视化的东西出来,愈加喜欢编程。
初中高中也有简单的编程课。因为有一定基础,在课上就觉得比较轻松。在高一暑假去英国的夏令营,调用几个写好的库来实现一个PVP的坦克大战中,我侥幸拿到了最高分,赢得了一个U盘。高中时又迷上了漫威,被钢铁侠的贾维斯吸引了。再加上各种《黑客帝国》之类的电影,对程序员这个职业充满了各种幻想。总之,曾经对编程的接触使我或获得了表扬,或拿到了奖品,这让我有点自信满满的感觉,于是高考结束报志愿时毅然决然地决定要选择计算机。
我的条件?
我自己觉得条件一般,虽然有一定的兴趣,比一些同学接触也早,但是还是比不上高中就打竞赛的大佬们。包括自己学习一些复杂算法时,还是会感觉比较吃力。
和这些博主相比呢?
和这些博主相比,我出生得比较晚。我出生在一个信息获取更加便捷的年代,客观条件上来说,我应该是更好的。不过从真正接触计算机前的经历来说(我将真正接触计算机定义为开始学习计算机的基础理论知识),我好像相差得比较大。就与博主I相比,他的经历真是太丰富了。他在很早就开始系统地去开发一些东西。而我虽然对编程了解得较早,但对整个计算机领域并不熟悉。就算是进入了计算机系,我也只是随波逐流,接近于最低限度地完成了课内要求。
1.2 计算机是你喜欢的领域吗?你热爱这一专业吗?
我认为计算机是我喜欢的领域。我喜欢用代码去做出一些事情。虽然总是会弄出一些bug,但是不断地写新代码、Debug,反而让我很有成就感。还记得学习计组时,上完前几节课,就兴冲冲地动手搭了一个简单的CPU,运行了一条指令,当时还发了一个说说庆祝。我认为学习计算机的知识让我很快乐,用这些知识去做一些东西,让我很快乐。
但是我觉得可能谈不上热爱。我个人认为原因是我自己有些浮躁,在面对一些繁琐的工作时很难静下心去完成。比如OO课程时自己写评测机,建一个简单、基础的评测机难度可能并不大,但我选择了直接向同学借用,我觉得这是一个不好的行为。我喜欢计算机,但是有时候显得还不够热爱,有很多事情可能会让我从计算机的学习、工作中抽离开。我希望自己在软件工程课中,能够全身心地投入。
2. 在计算机系里学习
2.1 你对你的大学生活有什么想要吐槽的地方吗?你理想的大学教育应该是什么样子的?跟学校给你的有什么区别?比较你在中国大学的经历,你的老师和学校能做到和国外那样吗?如果不能,请分析一下为什么。
吐槽
作为理工科院校,不得不说人文关怀确实有些欠缺。还有在高工的大一大二,有一些课程安排不太合理,有一些像高中的模式了。
现实与理想的异同
我个人认为大学教育很重要的一点是开拓自己的视野,感兴趣或不感兴趣都好,应该多接触一些领域,甚至多出去走走,认识一下自己要待起码四年的这座城市。这件事我觉得大一大二时应该给我们充足时间去做,但是学校有一些不那么必要的课程以及繁琐的事项,让我们无暇顾及这件事。我觉得这应该会是我大学比较遗憾的事。
虽然与理想有所差距,但我完全不认同博客H中“中国目前的大学教育就一个字:渣。”的这个说法。我觉得起码在北航计算机系学习,我收获很大。CO、OO、OS都有一定的代码量,首先让我对语言层面更加了解。这些课程也让我对计算机的底层原理了解更加深入,我自认为从计算机的使用者成为了一个有一定基础的开发者。更重要的是,一些计算机学习的方法是潜移默化的。比如OO中迭代开发、增量开发,OS中理论与实践结合。
国内与国外教育
关于国外教育,我只能自己去英国夏令营两周的经历、从知乎上看到的文章、与国外同学的交流、还有博客N和博客O的内容中做一些猜想。
首先是一个老生常谈的问题:国外的同学上课互动更多?我觉得这点是确实存在的。同时我也认为国内很难做到这一点。我认为这与文化的差异有关,首先是国人内敛的性格以及“尊师重教”的思想。我们很难在课堂上像朋友一样与老师进行交流,与老师交流时,我个人是多多少少带着一些紧张的。并且,国外的人口基数也比较小,动不动就是小班教学。老师对每个学生的情况很了解,更好地能够做到因材施教,激发学生的积极性。
再一点是我认为国外的教育更加重视与实践相结合。就拿线性代数来说,国外的课程有matlab的lab,其中甚至涉及到图论、PageRank的内容,同学问我会不会做这个的时候我都惊呆了。反观我们的线性代数,老师上课讲一些及其理论的内容,甚至考试也不涉及,大家就像听了个乐。不是说理论讲深入不好,而是咱们讲完不用呀。讲完等到大三准备考研了,再把它捡起来,那和没学有什么区别呢?博客O中OO课程做一个简单的股票交易系统,我感觉跟我们的OO课程有几分相似之处:给一个实际应用场景来进行任务。这让我觉得,理论跟实践有所脱离的这一缺陷,国内的教育是可以改进的,希望我们的课改能够重视这个问题。
2.2 迄今为止,你写了多少代码,描述你做的最复杂的软件项目/作业。
我并没有具体地统计过我目前的代码量(毕竟大一时C语言的代码早丢了...)。粗略地估计,计组时应该有3000行左右,OO每次作业能有约3000行,OS的代码量不好计算,编译3000行左右,再加上平时各种课程设计,还有平时自己写的小脚本。应当有了上万行的代码了,但是其中OO,编译课程作业代码中,有许多都是Ctrl+c
、Ctrl+v
,存在许多无效代码。
最复杂的作业应该还是编译课设,语法分析中需要自顶向下地考虑每一种情况,后期代码生成、错误处理时又在其中插入一些代码,当时真是看得头大。并且,虽然我每次都遵循了先设计再写代码的原则,但是最后的代码成品与设计相差甚远。
2.3 学线性代数和概率论的时候,你是否有过这样的疑问“我们为什么要学这么多数学,这和我们的计算机有关系吗”,你现在是否还有这样的疑问?对这个问题,你有自己的解答了吗?那么其他学科呢?
数学是计算机科学与技术的基础
随着学习的深入,我早就没有了这个疑问。当我在机器学习课上面对一整个PPT的公式茫然不知所措时,我不由得感叹:“当时要是数分线代好好学就好了!”如果认为计算机就是敲代码,那就大错特错了。里面的很多原理离不开数学。更别说近些年大热的AI领域,我认为它与数学的联系甚至更加紧密,计算机只是一个实现的工具而已!
大一时生物和化学还是课程设计不合理
我认为这确实是高工的不合理之处。但是我记得大一时候发展导师说:“学这些不是让你会,而是将来涉及到的时候能知道该去哪里找。”我觉得很有道理,多接触,总是有好处的。
3. 职业规划
3.1 对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
说实话我对未来职业的规划还一头雾水。我认为自己不太热衷于学术研究,反而更喜欢做一些工程和项目,写出来的代码有一个成品,并且得到广泛的应用与好评,这可能是我最想看到的愿景。或许我会选择在互联网企业当一个搬砖的小码农,也可能哪天灵光一闪,开发出一个爆款软件(做梦不扣分吧...)
对于技术道路与职业道路,目前我还处于探索阶段,我希望多多尝试不同的技术栈,还有不同的职业。我觉得博客K给出的建议很中肯:在大学的时候尽量多地进入公司参与实际工作,一方面积累工作经验,另一方面,提前认识工作和自己,以便毕业时更准确地把握自己的方向。我希望通过实际工作,了解不同的工作,每天到底是做些什么,到底哪个才是我想要的。
社会道路而言,虽然我是北航的学生,我却觉得自己缺少了一些远大的理想目标。目前来说,我希望未来能找到一份自己起码不讨厌的工作,养家糊口。业余时也能通过自己的技术做一些自己喜欢的事情。当然,如果某一天我发现自己有了更大的能力,我也会毫不犹豫地为国家、为社会贡献自己的力量。
3.2 你们马上就要面临实习了,你打算在企业内实习还是在实验室实习?
我更希望在企业内实习,正如上文所说,我个人会更喜欢工程类的项目,得到一个实际的成果与应用。并且,在企业实习能让我对自己未来的职业选择有更好的规划。
2021S软件工程——个人阅读作业1的更多相关文章
- 2021S软件工程——个人阅读作业2
2021S软件工程--个人阅读作业2 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 了解并熟悉软件开发的具体流程, ...
- 2021S软件工程——案例分析作业
2021S软件工程--案例分析作业 18231169 黄思为 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 案例分析作业 我在这个课程的目标是 了解并熟悉 ...
- 【BUAA软件工程】第一次阅读作业
BUAA软件工程 第一次阅读作业 项目 内容 这个作业属于哪个课程? 北航软工 这个作业的要求在哪里? 第一次个人作业 我在这个课程的目标是? 学习高效严谨的软件工程开发过程,建立团队意识 这个作业在 ...
- [2021BUAA软工助教]个人第一次阅读作业小结
BUAA个人阅读作业小结 一.作业要求 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2021_LR/homework/11776 二.评分规则 言之有物,按 ...
- [BUAA2021软工助教]个人阅读作业#2小结
作业链接 见个人阅读作业#2 优秀作业推荐 Shaun_Yao ✍️ 道法之间--软工第2次博客作业 Potassium ✍️ 构之有道,建之有法--软工个人阅读作业#2 MarkDay ✍️ < ...
- 软件工程M1/M2总结及阅读作业总结
一.软件工程M1/M2总结 写下这篇总结的时候,我们的软件项目尚未完工.虽然尝试申请了延期答辩,但最终未能成功.这意味着,我们的项目能否正常发布已经处于了一个微妙的状态.可能可以,也可能不可以.只能尽 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...
- [2019BUAA软件工程]第1次阅读作业
[2019BUAA软件工程]第1次阅读作业 Tips Link 作业连接 [2019BUAA软件工程]第1次阅读作业 读<构建之法>的疑惑 个人开发流程(Personal Software ...
- 【M2】软件工程终期总结报告——阅读作业
PhylabWeb——阅读作业 问题回顾 提问博客地址:http://www.cnblogs.com/kibbon/p/4831104.html 尚待解决的问题: Alpha/Beta,ZBB/RC阶 ...
随机推荐
- PacketStream 和 honeygain 推荐一款可以通过分享带宽赚钱的APP
方法很简单,只需打开网址 PacketStream 或 honeygain 注册,下载客户端登录即可分享带宽.价格0.1美元/G. 绑定paypal账号即可提现.退出客户端即可停止分享带宽.
- IO、NIO、BIO的区别
我们首先得明白什么是同步,异步,阻塞,非阻塞,只有这几个单个概念理解清楚了,然后在组合理解起来,就相对比较容易了. IO模型主要分类: 同步(synchronous) IO和异步(asynchrono ...
- COM技术中的VARIANT and VARIANTARG
VARIANT and VARIANTARG Use VARIANTARG to describe arguments passed within DISPPARAMS, and VARIANT to ...
- JAVA基础(一)—— 基础类型与面向对象
JAVA基础(一)--基础类型与面向对象 1 数据类型 基本类型 byte short int long float double boolean char n 8 16 32 64 32 64 tr ...
- JWT原理及常见攻击方式
JWT的全称是Json Web Token.它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份. ...
- 理解函数式编程中的函数组合--Monoids(二)
使用函数式语言来建立领域模型--类型组合 理解函数式编程语言中的组合--前言(一) 理解函数式编程中的函数组合--Monoids(二) 继上篇文章引出<范畴论>之后,我准备通过几篇文章,来 ...
- JavaScript快速上手
引入JavaScript项目 在html中 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- pyspider的环境安装
第一:确认自己的Python版本3.6.x(因该版本与pyspider较为适应,其他版本易出错) 如果不是3.6版本的,且想将版本替换成3.6版本的有以下处理方法: 1.再装一个3.6版本python ...
- mobx 的学习
1.初始化项目 第一步用create-react-app初始化一个项目,并打开webpack配置项 npx create-react-app react-mobx-demo cd react-mobx ...
- 攻防世界 reverse EASYHOOK
EASYHOOK XCTF 4th-WHCTF-2017 1 data=[ 0x61, 0x6A, 0x79, 0x67, 0x6B, 0x46, 0x6D, 0x2E, 0x7F, 0x5F, 2 ...