软件工程第一周作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/homework/15710 |
| 这个作业的目标 | 熟练掌握博客园 Markdown 排版、代码上传与写作规范;完成个人能力现状复盘与学期学习规划;学会高质量提问、区分合理学术引用与抄袭剽窃;研读 IT 前辈成长经历、规避常见学习误区;搭建个人 GitHub 仓库,建立持续复盘、工程化实践的学习习惯。 |
一、介绍自己,建博客
我是广东工业大学计算机学院24级的林灿,来自广东汕头,是共青团第十九次全国代表大会代表,共青团广东省第十五次代表大会代表,十五运会开幕式志愿者,目前是共青团广东工业大学委员会校园文化部部长,辅导员助理,校龙狮团团长。本人热爱武术与醒狮,习武多年,参加过各类武术比赛并获金奖,也参加过很多类型的活动并表演武术、醒狮。也积极投身社会实践与志愿服务,如参加百千万工程突击队,所带队伍还获《中国教育报》、团省委公众号“粤团发布”等媒体报道。在专业学习方面,认真刻苦,成绩优异,曾获优秀学生一等奖学金,也参加过中国国际大学生创新大赛广东省分赛并获银奖。
二、现状、经验与学期计划
(一)专业选择、能力差距与技能提升计划
我选择计算机相关专业,主要源于对信息技术与软件研发的兴趣,同时认可软件工程“用工程方法解决复杂问题”的核心价值。相比于纯理论学习,我更愿意在真实需求、项目流程、迭代优化中提升自己,这也与软件工程的培养目标高度契合。
对照合格 IT 专业毕业生标准,我目前的短板集中在:工程化思维不足、项目经验偏少、代码规范薄弱、问题排查不够系统、文档能力和团队协作能力有待提升。
我选取 7 项核心能力进行量化规划(0–9 分,5 分可通过一般企业面试,9 分为世界一流水平)。
| 核心技能 | 当前水平 | 课程结束目标 | 提升手段(可落地) |
|---|---|---|---|
| 代码编写与调试能力 | 2 | 6 | 独立完成每次编程作业;逐行调试、记录 Bug 原因与修复思路;不复制粘贴成品代码;每周固定刷题巩固基础;持续积累有效代码量。 |
| 软件工程流程认知 | 2 | 6 | 跟随课程精读《构建之法》,理解需求、设计、实现、测试、迭代全流程;结合作业体会工程规范;总结软件开发常见误区与风险。 |
| 团队协作与沟通能力 | 3 | 7 | 积极参与结对编程与小组任务;明确分工、按时交付;遇到分歧主动沟通;复盘每次合作的问题与改进点。 |
| 技术文档与博客写作能力 | 2 | 6 | 严格使用 Markdown 排版;遵循中文文案规范;每次作业结构化输出;总结学习心得与问题清单,形成可阅读、可复盘的技术文档。 |
| 问题分析与拆解能力 | 3 | 7 | 遇到问题先自主拆解、定位、缩小范围;区分语法问题、逻辑问题、环境问题、需求理解问题;建立个人排错经验库。 |
| Git / GitHub 版本管理能力 | 1 | 5 | 系统学习常用 Git 指令;建立个人仓库;每次作业、代码练习及时提交;练习分支管理、版本回溯,形成规范开发习惯。 |
| 需求理解与创新思考能力 | 2 | 6 | 学习书中创新相关内容;观察日常软件的痛点与优化点;区分“为创新而创新”和“解决真实问题的创新”;结合课程任务训练产品思维。 |
(二)课程学习心得、师生关系与学术规范
(1)为什么认真上课、认真完成课程任务
大学是一生中极少数可以全职投入学习、精力最集中、试错成本最低的阶段。阅读多位学长学姐的成长随笔后我深刻意识到:很多人本科看似忙碌,实则低效、机械、被动,只完成“被要求的部分”,最终基础不牢、能力脱节、面试碰壁。软件工程课程不是简单的“写代码作业”,它训练的是工程化、团队化、规范化、持续迭代的职业能力,对未来项目、实习、求职都至关重要,因此我选择全程认真参与、持续复盘改进。
(2)师生关系认知与难题应对方式
目前课堂更多以教师讲授、学生接收为主,互动答疑、过程反馈、个性化指导相对偏少。我理想的课堂是教练式师生关系:老师引导方法、指出问题、规范标准,学生主动思考、主动提问、主动反馈,形成双向迭代、教学相长。
面对难度较大的作业,我的选择是C:向老师和同学请教,花更多时间,把作业全部完成。我理解课程刻意设置“必要的困难”,目的就是逼迫学生走出舒适区、完成深度学习。难题不是负担,是最有效的成长抓手。
(3)合理引用与抄袭剽窃的区别、课程学术底线
合理引用是在尊重原创的前提下,借鉴思路、资料、方法,并明确标注来源,在他人成果基础上理解、改进、创新,是学术与工程研发的正常行为。
在本课程中我严格遵守底线:作业独立完成;参考内容标注出处;借鉴代码必理解、必修改、必优化。
(三)未来发展选择、优劣势与本学期定位
结合个人兴趣与能力倾向,我未来更倾向走软件开发、工程实践方向,毕业后从事研发类岗位,持续积累项目经验与技术深度。
优势:学习态度踏实、愿意投入时间、执行力稳定、善于复盘纠错、不畏惧基础重复训练。
劣势:工程经验不足、代码积累偏少、底层原理掌握不扎实、面对复杂问题的结构化分析能力仍需提升。
本学期我的核心策略:补基础、攒代码、建规范、养习惯、练思维,不追求浮躁进度,以可落地、可持续的积累缩小差距。
(四)本课程学习计划、代码量与 WOOP 规划
1)课程期待与学习态度
我希望通过本课程真正理解“软件工程不是写代码,而是系统化解决问题”,掌握项目流程、团队协作、版本管理、文档规范、测试与迭代思维。学习过程中主动投入、积极思考、认真实践。目前暂不申请助教,优先夯实自身能力。
2)代码量与时间投入规划
-
当前代码量:Java 1200 行、C 语言 800 行,总计约 2000 行(有效可运行代码)
-
一线互联网公司入职参考:通常需要10000 行以上有效代码积累,具备项目落地与排错经验
-
高校科研深造参考:需要8000 行以上高质量代码,注重规范、设计与可复用性
-
本周课程投入:平均每周 10 小时(含上课、课后练习、博客复盘、代码实操)
-
学习提升力度:D:比以往课程投入更多,直到达到目标为止
-
课程期末目标代码量:累计 3000 行
-
每周新增有效代码量:稳定完成 200 行以上
3)WOOP 完整计划
Wish 愿望
本学期系统掌握软件工程核心思想与开发规范,建立良好编码与复盘习惯,累计有效代码量达到 6000 行,熟练使用 Markdown、Git/GitHub,课程能力与成绩显著提升,具备小型项目独立开发与迭代的基础能力。
Outcome 结果愿景
课程结束后,我将摆脱“只会写零散代码、不懂工程规范”的状态,能够完整走完需求理解、编码实现、调试优化、文档记录、版本管理的流程;能够高质量完成课程作业与团队任务;形成可展示、可迭代的个人代码仓库与学习博客,为后续实习、项目、面试打下扎实基础。
Obstacles 障碍分析
内部障碍:存在拖延惯性;遇到复杂 Bug 和陌生知识点容易畏难;自律不稳定,容易被娱乐和碎片化信息打断;学习有时重速度、轻复盘。
外部障碍:多课程并行、任务密集、时间碎片化;琐事容易打乱学习节奏。
最可能导致目标失败的核心因素:畏难拖延、缺少持续自律、复盘不常态化。
Plan 风险应对(If-Then)
-
如果出现拖延、不想写代码、只想敷衍完成,立刻关闭娱乐设备,优先完成当日代码任务再休息。
-
如果遇到难题长时间卡壳,先记录问题、梳理已尝试方案,次日主动请教老师与同学,不搁置、不摆烂。
-
如果课程任务冲突、时间紧张,优先排序软件工程核心任务,压缩无效娱乐时间,保证每周固定投入时长。
-
如果忘记复盘与提交代码,睡前统一自查补全,杜绝任务积压。
三、高质量提问与课程反馈
根据《提问的智慧》与课程要求,我结合《构建之法》章节内容,提出 5 个有上下文、有依据、有困惑的高质量问题。
问题1:“足够好的软件”是否存在可落地的评判标准(第一章 概论)
书中观点:软件工程的目标是打造“足够好”的软件,不追求绝对零缺陷、绝对完美。
我的理解与困惑:以往我认为“好软件 = 没有 Bug”,但现实中完全零缺陷的软件几乎不存在,不同行业对稳定性、安全性、容错性的要求天差地别。我的问题是:在实际开发中,我们如何量化界定“足够好”?如何在开发周期、人力成本、用户体验、软件质量、安全风险之间做权衡,形成可执行的交付标准?
问题2:如何有效规避“分析麻痹”的思维误区(第四章 软件工程师的成长)
书中观点:工程师常见误区包含分析麻痹:过度准备、过度分析、迟迟不动手,导致项目停滞。
我的理解与困惑:我在写程序时经常出现类似问题,总想把所有情况、所有边界全部分析清楚再开始编码,结果导致进度拖沓。我想知道:如何区分必要的前期分析与过度分析?是否有可落地的流程,保证“分析到位即可、快速启动迭代”?
问题3:低优先级任务如何合理安排,避免遗漏堆积(第十章 软件设计与实现)
书中观点:开发需要聚焦高优先级任务,暂缓低优先级事项。
我的理解与困惑:我在实践中优先完成核心功能后,常常搁置次要功能,最后导致功能残缺、收尾困难。完全搁置低优先级任务存在风险,我的疑问是:在聚焦核心开发的前提下,如何对低优先级任务做阶段性跟进与收尾,兼顾效率与完整性?
问题4:软件项目是否需要盲目追求创新(第十六章 IT 行业的创新)
书中观点:创新分为持续性创新与颠覆性创新,是行业发展动力,同时创新存在认知误区,并非所有场景都适合创新。
我的理解与困惑:部分项目盲目创新会增加成本、引入风险、破坏稳定性。我的问题是:在校园项目与小型工程实践中,如何判断项目是否需要创新?稳定成熟的传统场景下,沿用成熟方案、不刻意创新,是否也是合理的工程选择?
问题5:低门槛工具普及下,如何保持个人核心竞争力(第一章 概论)
书中观点:开发工具越来越简单,入行门槛降低,行业会形成优胜劣汰的生态。
我的理解与困惑:当前低代码、自动化工具普及,很多功能无需手写代码即可实现。部分同学因此忽视底层原理,只会套模板。我的问题是:在工具越来越易用的趋势下,学生应该如何平衡“工具使用效率”与“底层原理学习”,避免被工具替代、保持长期技术竞争力?
课程反馈态度:我选择D:经常提问题,平时就经常给老师和助教提反馈。我会持续在学习中发现问题、积累问题,按时认真填写课程反馈,主动沟通困惑、提出改进建议,配合老师优化教学效果。
四、前车之鉴:前辈经验阅读感悟
我选取三篇《IT 小小鸟》讨论文章,结合自身学习经历总结具体收获。
1)时刻调整方向 找到人生的蓝海
链接:https://book.douban.com/subject/4006425/discussion/22803733/
感悟:文章中作者使用 ABCD 四象限时间管理法 梳理每日任务、区分轻重缓急,摆脱盲目忙碌,精准提升自我。我反思自己偶尔也会“瞎忙”:任务多、杂乱、无优先级,耗时多、产出低。今后我会借鉴这套方法,把课程学习、代码练习、复盘总结划为重要且紧迫的核心任务,优先投入;减少无效琐事消耗,动态调整学习方向,不随波逐流,在自己的学习路径上持续深耕,找到属于自己的成长蓝海。
2)在失望中寻找希望
链接:https://book.douban.com/subject/4006425/discussion/22803961/
感悟:这篇文章让我感触最深的是“科班但没学懂计算机”的困境。作者本科成绩优异,但只会机械听课、做题、应付考试,缺少实践与深度思考,基础看似扎实实则空洞,求职屡屡受挫。对照自身,我也存在重结果、轻过程,重答案、轻原理的潜在问题。计算机与软件工程是极度注重实践的学科,只靠背、记、刷题型无法形成工程能力。未来我会彻底摒弃机械学习模式,多动手、多调试、多复盘、多追问原理,真正把知识学透、学活。
3)掉进读书的兔子洞
链接:https://book.douban.com/subject/4006425/discussion/22802960/
感悟:作者坚持逐行手写代码、精读经典书籍、长期自律复盘,靠踏实积累实现突破。文章印证了软件工程学习没有捷径:慢即是快、深耕胜过泛读。我以往学习存在涉猎广、钻研浅的问题,很多知识点停留在“看懂了”,缺少“亲手做、做错、改错、总结”的闭环。后续我将借鉴前辈的学习方式:不依赖复制粘贴,坚持手写练习;精读核心内容、沉淀笔记;定期复盘思维变化,用长期、稳定、踏实的积累提升个人能力。
五、作业完成说明
1. 已将博客园默认编辑器设置为 Markdown 模式,全文采用标准 Markdown 排版;
2. 已遵循中文文案排版规范、博客发文规范、学术引用规范完成写作;
3. 已学习《提问的智慧》,掌握结构化、有依据、有上下文的高质量提问方法;
4. 已创建个人 GitHub 同名仓库,完善 README 个人介绍,后续持续归档课程代码与作业成果.



浙公网安备 33010602011771号