软件工程第一次作业
软件工程作业:介绍自己、现状与计划
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/homework/15710 |
| 这个作业的目标 | 建立技术博客并学会用 Markdown 排版;认清自己与合格 IT 学生的差距;为自己定一份贴着实际水准的学期计划,并用 WOOP 方法做风险防范;通过读《构建之法》和前人的经历,学会提问和独立思考 |
一、介绍自己,建博客
大家好,我是广东工业大学计算机学院的一名24级本科生。这个学期我打算在博客园写点东西,主要是想练练怎么把博客写明白、格式弄规范。
说实话,写一篇像样的博客是挺花时间的,但这事坚持下来确实有意义,说话、表达能更清楚。所以我打算先坚持一阵子再说,看看后面能学到点什么。
我平时的生活非常充实,健身、游泳、Vibe Coding、学习英语。我相信做这些事情能让我变得更好,也能让我未来过得更好。
说说我的闪光点。 其实我跟大多数普通人一样,相貌平平、能力平平,成绩从小到大都不算拔尖,更没拿过什么让人眼前一亮的奖项。但有一件事我一直在做——我有一堆「小」爱好,而且能长期坚持。健身从开始到现在几乎没断过,游泳让我在累的时候能真正放松下来,英语课我也一直没丢。
最重要的,是我在用 Vibe Coding 做一些有创造力的东西。我承认,我的编程基础很弱,很多底层原理我讲不清楚,但我就是喜欢那种「我有个想法,然后真的把它做出来了」的感觉。别人眼里这可能是「旁门左道」,但对我来说,这就是我保持创造热情的方式。
我相信,只要能坚持做一件事,并且持续学习,坚持思考,就会有好的结果。没人规定学编程一定要成为技术大牛,找到适合自己的路,能持续做出点东西,对我来说就值得。
二、现状、经验和计划
(1)专业选择与差距
怎么选了这个专业? 说实话,我不是那种从小立志当程序员的人。进这个专业更多是随大流,家里也觉得计算机好就业,就报了。真正开始有点感觉,是我后来发现:我不一定非要成为技术高手,但我想能亲手把脑子里的想法做出来。就是这一点念想,让我愿意继续在这条路上走下去。
离合格 IT 毕业生还差什么? 我很清醒地知道自己的差距:一是基础确实弱,课本上的东西很多是「学过但没真懂」;二是代码量太少,动手能力跟不上;三是工具(Git、命令行)用得不熟练,很多时候还要现查。但我的目标不是去和那些早就写了几万行代码的人卷深度,而是先能独立做出一个能用的东西,然后再慢慢看要不要深入。
技能调查表(从表中抽取 6 项对我比较重要的技能):
| 技能 | ①目前水平 | ②目标水平 | ③计划手段 |
|---|---|---|---|
| 基础编程(C/C++) | 1 | 3 | 跟课程实验、看教程跟着敲、读《构建之法》 |
| 想法落地 / 创造力 | 3 | 6 | 用 Vibe Coding 做小项目、写产品构思、多动手 |
| 工具使用(Git/GitHub/命令行) | 1 | 4 | 每篇作业用 git 提交、看官方文档、遇到不会就查 |
| 英语阅读(技术文档) | 4 | 6 | 坚持背单词、每周读一篇英文文档、靠翻译器对照 |
| 团队协作 | 2 | 4 | 参与小组作业、多用 issue 沟通、主动分担 |
| 写作表达 | 2 | 5 | 每周写一篇博客、按 Markdown 规范排版、多向同学请教 |
说明:5=能通过面试,9=世界一流。我目前的水平基本在「入门都算勉强」的区间,目标水平也定得不高——我没打算靠一门课变成技术大牛,更希望先把基础打通、能独立做出东西。
(2)阅读博客的心得
a) 为何要来上课并且认真参与?
我以前也想过「这些课看视频也能学会,干嘛要坐在这里」。但后来我发现,课堂真正的价值不是「把知识塞给我」,而是有个人按节奏逼我往前走。我这种自制力一般的人,如果没人管,很容易就滑过去了。认真上课能让我保持在「没掉队」的状态,作业和同学的反馈,也能让我在卡住的时候有人能问。所以我愿意认真参与。
b) 师生关系 & 面对困难的作业
我以前体验过的师生关系,基本是「老师布置、学生交差」这种任务型的。但我想让这门课更像一种教练关系——你能告诉我哪里不行、该怎么补,而不是只丢一个分数给我;同学之间也能互相看进度、互相提点。
如果作业对我来说有点难,我会选:
C:向老师和同学请教,花更多时间,把作业全部完成。
因为我以前吃过「遇到难的就想逃避」的亏,越躲越跟不上,最后干脆摆烂。现在我更愿意多问、多花点时间,把该做的做完,哪怕慢一点也比放弃强。
c) 引用文献/参考别人 vs 抄袭剽窃的区别
我的理解很简单:引用和参考,是在别人成果的基础上加进自己的想法,并且诚实标注来源;而抄袭剽窃是把别人的东西当成自己的,要么一字不改照搬,要么不标来源也不说自己的想法。两者的分水岭在于「有没有诚实说明出处、有没有自己的思考产出」。这一点我会在课上跟老师确认这门课的具体要求,也顺便弄清楚学校对抄袭的处罚规定。
(3)对将来的准备
在选方向这件事上,我目前不打算走纯学术,也不想直接考公务员,我偏向将来做软件相关的工作,同时继续用 Vibe Coding 做一些有创造力的项目。我不求成为年薪百万的技术专家,但希望有一份能让我「靠动手养活自己,又保留一点创作乐趣」的工作。
相比同学的优势: 我心态比较平和,不纠结排名,能长期坚持一件不那么「有回报」的事;我有健身、英语这些跨领域的爱好,不容易被单一技术路线框死,看问题也相对多一个角度。
劣势: 基础薄弱、代码量少、起步晚,动手能力和那些早就开始写项目的同学比,差距是实打实的。而且我不太追求技术深度,这既是优势也是劣势——可能走得更轻松,但也很难在纯技术上拔尖。
本学期的规划: 把课堂作业扎实做完,同时每周固定:刷一点题、写博客、学英语、用 Vibe Coding 做一个小的创意项目。把 Git 和命令行用熟,尽量先把「独立做出东西」这一步走通。
(4)课程计划
期待: 我不指望这门课把我变成大牛,但我希望它能带着我真做一个完整的东西,把需求分析、协作、测试、发布走一遍。比起理论知识,我更想体验「从想法到成品」这一步是怎么落地的。
打算怎么度过: 认真跟上节奏,每周给课程留固定时间;尽量多提问、多反馈;争取学期末能独立做一个小项目,然后写进博客里。
想当助教吗? 【按你真心想写:想当 / 暂时不想当。如果觉得自己水平还不够,可以写成「暂时不打算,我想先把基础和生活节奏理顺,等自己有点底气再说」。】
代码量:
- 目前代码量:【C/C++ 约 300 行,Python 约 500 行,总共约 800 行】(请按真实情况改,精确到 100 行)
- 一流软件/互联网/AI 公司:一般需要上万行乃至几万行的扎实代码量 + 完整项目经验。
- 高校教学科研:更看重论文和研究能力,代码量不一定绝对,但要能独立实现实验。
每周投入时间: 我打算平均每周拿出 【8 小时】 在这门课上(含上课时间)。
我的选择: 我会选 C:比以前的课稍多一些。 因为我前面确实浪费过一些时间,想认真补一补,但也不敢夸海口说自己能一下子爆肝太多——我觉得稳定进步比一时冲劲更重要。
计划目标:
- 课程结束时完成代码量:【约 3000 行】
- 每周应完成代码量:【约 100 行/周】
WOOP 计划:
- Wish / 愿望:在这门课结束时,我能独立做出一个能跑起来的小项目,把基础打通一点,并且把这个学期学到的东西都写进博客。
- Outcome / 结果:想象一下,当我真的把一个小项目做完、还能跟别人讲清楚它是什么、怎么想出来的,那种「我居然真的做出来了」的踏实感,会让我觉得这几个月的坚持没有白费。
- Obstacles / 障碍:我最大的障碍是起不来床、容易分心刷手机。具体说就是:早上起不来,上午就这么浪费了;一写代码卡住,就想掏出手机刷短视频,一刷就是半小时,回神来一天又没了。
- Plan / 防范计划:如果写代码卡住、想刷手机,那么我就立刻站起来,离开电脑和手机,到外面走一圈再回来。如果早上起不来,那么我就前一天把闹钟放在必须下床才能关的地方,手机也放到离床远一点的位置。
最可能失败的因素: 我认为最可能让我达不到目标的,是不能长期自律——我的热情往往只有三分钟,过几周一松懈,整个计划就容易烂尾。克服办法: 把大目标拆成小目标,每周用博客记录进度,让每一点进步都看得见;再找个同学互相监督,别让计划悄悄凉掉。
三、提有质量的问题,给认真的反馈
我快速读了《构建之法》,结合自己「基础弱、更想做创意项目」的情况,提了下面 5 个问题:
1. 第 2 章「个人技术和流程」——单元测试该写多少?
书里强调个人开发要写单元测试。但以我现在这种「功能都勉强」的水平,写完主体代码就挺吃力了,再让我补测试,感觉顾不过来。我的疑问是:对基础这么弱的人,测试是不是应该等代码熟练点再补?还是一开始就得硬着头皮养成习惯? 我怕为了写测试而写测试,反而拖慢了我本来就不快的学习节奏。
2. 第 7 章「需求分析」——小项目也要走一整套需求分析吗?
书里把需求分析讲得很正式(用户调研、场景、优先级)。可我觉得一个两周的小作业根本用不上这么多流程。我想问:这些流程到底是「必须练到的训练」,还是项目大了才需要? 如果作业本身很小,过度分析会不会反而把做东西的念头磨没了?——这也是我担心 Vibe Coding 这种「先跑起来」的玩法会不会被正规流程束缚。
3. 第 12 章「用户体验」——用户体验和成本怎么平衡?
书里强调用户体验要打磨细节,可现实里有工期和成本,不可能无限打磨。我想问:有没有一个「够用就好」的判断标准,来决定在用户体验上投入多少才算划算? 我理解的「先做出来再好看」和书里的「打磨到极致」好像有落差,我想知道更实际的平衡点在哪。
4. 第 16 章「IT行业的创新」——创新对普通初学者是不是太远?
这一章讲了很多创新,但我总觉得创新是头部公司和顶尖人才的事,对我这种刚入门的人太遥远。我的问题是:普通开发者到底从哪一步开始才算创新? 我看了书里的观点,也结合我自己的经验——我连「能跑起来」都还没做到,更别说创新了。我的困惑是:把基础做好、把已有的东西先用熟,是不是也算在给将来的创新打底? 还是说我一直用 Vibe Coding 做点小东西,本身就是一种入门级的「创新」?
5. 第 5 章「团队和流程」——小组作业碰上「不会又不动」的人怎么办?
小组作业最容易出现有人划水、有人扛所有活的情况。书里讲了分工和流程,但现实里还是会有能力不均、又没人负责的状况。我想问:如果一个组员技术不行又不积极,作为队友应该怎么带? 是硬扛下来,还是分工时就提前说得更现实一点?这跟我以前的小组体验很像,我很想知道更标准的做法是什么。
关于学习反馈: 我觉得反馈特别重要,不然老师和助教根本不知道哪里讲得快、哪里讲得慢。所以我会选 D:经常提问题,平时就经常给老师和助教提反馈。我认真提问、认真反馈,我自己的问题才有机会被解决,老师也能针对真实情况调整。
四、前车之鉴
结合我「曾经迷茫、现在想慢慢赶上」的处境,我挑了几篇读,感触最大的是这三篇:
1. 《你是否也觉得自己是科班,但没学懂计算机?》
(链接:https://book.douban.com/subject/4006425/discussion/22803961/ )
这篇基本就是在写我。我是科班出身,可很长一段时间根本没「懂」计算机——课上了,但没往心里去,也不怎么动手,最后就是「学过但不会」。看完我最大的感悟是:科班不等于会,光听课永远学不会,必须靠动手和持续输入。 我现在的心态,就是从「装作在学」慢慢转成「真的在做」。
2. 《半路出家,认真学习,对自己狠心,不断在实践中进步》
(链接:https://news.cnblogs.com/n/531362/ )
这篇让我觉得起点低并不致命。作者半路出家,靠认真加狠心都能学出来,我好歹是科班,基础再弱也占个「名分」的便宜。关键是那种「对自己狠」的态度——不找借口,持续实践。这正好对上我 WOOP 里写的那条最大敌人「不能长期自律」,我想学他那种坚持的劲头。
3. 《热情、能力、选择》
(链接:http://coolshell.cn/articles/4561.html )
这篇讲热情、能力和选择三者的关系。我以前老觉得自己「没热情」,做什么都提不起劲。读完后我意识到,热情很多时候不是天生的,而是靠「能力到位后得到的正反馈」慢慢养出来的。 当初我真的能跑出一个东西时,我那股对编程的热情才慢慢长出来。所以我现在不纠结「热情在哪」,而是先把能力一点点练出来,让热情自己长出来。
结束语
这一学期,我不想再「假装努力」了,而是想真的把自己放进去。我知道自己基础弱、起点低,也没打算一门课就翻盘成大牛——我更想做的,是先能独立做出点有创造力的东西,把「我能做」的这个感觉找回来。基础差不可怕,可怕的是停在原地。我打算从坚持写博客、认真上课、动手做小项目开始,一步步把那些觉得自己「不行」的地方,慢慢补上来。



浙公网安备 33010602011771号