软件工程第一周作业
| 这个作业属于那个课程 | 软件工程 |
|---|---|
| 这个作业要求在在哪里 | 作业要求 |
| 这个作业目标 | 熟悉博客园写博客、Markdown 排版;完成自我剖析、专业现状分析、课程学习规划;阅读《构建之法》提出思考问题;阅读参考博客总结经验教训;初步熟悉 Git 与 GitHub 基本使用 |
一、介绍自己,建博客
大家好,我是广东工业大学计算机科学与技术专业的一名学生。
我平时除了专业课学习之外,也有自己的闪光点。我坚持长期自主整理笔记,擅长把复杂知识点拆解成通俗易懂的内容;同时有不错的语言理解能力,愿意花时间去钻研陌生的技术文档。这份能力不是一蹴而就,是我长期坚持复盘、整理学习笔记慢慢锻炼出来的。
写博客对我而言,是输出倒逼输入的手段。把学习内容写出来,才能真正检验自己有没有学懂。我会坚持更新博客,记录课程作业、实验踩坑、学习心得,遵守博客园的格式与内容规范,不断打磨自己的文字表达与技术总结能力。
二、现状、经验和计划
作为计算机专业学生,选择本专业是我对互联网技术、程序开发抱有兴趣,希望通过技术解决现实问题。但距离合格 IT 毕业生,我还有不少差距,选取 5 项关键技能做评估(0-9 分,5 分可面试,9 分世界一流):
| 技能 | 目前水平 | 课程结束目标 | 提升手段 |
|---|---|---|---|
| 程序编码能力 | 4 | 7 | 完成课程作业,额外完成课后编程练习,把每次实验代码上传 GitHub,坚持写代码复盘笔记 |
| 调式排错能力 | 3 | 6 | 遇到 bug 先独立排查,记录报错原因与解决思路,总结到博客;多阅读别人的 bug 解决案例 |
| 团队协作能力 | 3 | 7 | 积极参与课程小组作业,学习 Git 团队协作流程,学习项目沟通方式 |
| 文档写作能力 | 4 | 7 | 坚持写博客随笔,练习写技术文档、实验报告,参考优秀技术博客的行文逻辑 |
| 软件工程思想认知 | 2 | 6 | 认真阅读《构建之法》,完成课后思考,结合课程案例理解软件开发完整流程 |
(2) 阅读博客心得
a) 为什么要来上课并且认真参与
大学自学资源虽然很多,但课堂可以帮我建立完整的知识框架。老师可以帮我规避很多自学时容易踩的弯路。上课不只是接收知识点,更是学习工程化思维,同时和同学互相交流,仅仅靠网上碎片化视频很难构建完整软件工程知识体系,因此我会认真参与课程。
b) 师生关系,面对困难作业的做法
大学的师生关系,我理解为引导者与学习者的关系。老师提供指导,而学习的主要责任在自己身上。我希望这门课是平等沟通的师生关系,遇到问题可以大胆提问。
如果作业难度很大,我选择C:向老师和同学请教,花更多时间,把作业全部完成。不会直接放弃,也不会直接要求降低标准。先自己查阅资料动手尝试,实在无法解决,再主动找同学、老师沟通请教,投入额外时间补齐短板。
c) 引用文献、参考资料和抄袭剽窃的区别
引用文献、参考前人资料,是在理解别人成果的基础之上,标明来源,借鉴思路,再产出属于自己的分析、思考与代码。
抄袭与剽窃是直接复制别人的文字、代码、成果,不标注来源,冒充为自己产出。
在这门课中,允许参考网络资料、书籍资料,但代码、随笔文字必须有自己的理解,借鉴部分必须标注出处,绝对不能直接照搬他人作业,遵守学校学术规范。
(3) 未来方向、优劣势与本学期规划
几年之后我的规划是做软件开发工程师,从事应用程序开发相关工作。
- 优势:愿意投入时间学习新知识,习惯做笔记复盘,有耐心排查程序问题;
- 劣势:项目实战经验偏少,大型软件工程流程了解不多,代码量积累不足。
(2) 阅读博客心得
a) 为什么要来上课并且认真参与
大学自学资源虽然很多,但课堂可以帮我建立完整的知识框架。老师可以帮我规避很多自学时容易踩的弯路。上课不只是接收知识点,更是学习工程化思维,同时和同学互相交流,仅仅靠网上碎片化视频很难构建完整软件工程知识体系,因此我会认真参与课程。
b) 师生关系,面对困难作业的做法
大学的师生关系,我理解为引导者与学习者的关系。老师提供指导,而学习的主要责任在自己身上。我希望这门课是平等沟通的师生关系,遇到问题可以大胆提问。
如果作业难度很大,我选择C:向老师和同学请教,花更多时间,把作业全部完成。不会直接放弃,也不会直接要求降低标准。先自己查阅资料动手尝试,实在无法解决,再主动找同学、老师沟通请教,投入额外时间补齐短板。
c) 引用文献、参考资料和抄袭剽窃的区别
引用文献、参考前人资料,是在理解别人成果的基础之上,标明来源,借鉴思路,再产出属于自己的分析、思考与代码。
抄袭与剽窃是直接复制别人的文字、代码、成果,不标注来源,冒充为自己产出。
在这门课中,允许参考网络资料、书籍资料,但代码、随笔文字必须有自己的理解,借鉴部分必须标注出处,绝对不能直接照搬他人作业,遵守学校学术规范。
(3) 未来方向、优劣势与本学期规划
几年之后我的规划是做软件开发工程师,从事应用程序开发相关工作。
- 优势:愿意投入时间学习新知识,习惯做笔记复盘,有耐心排查程序问题;
- 劣势:项目实战经验偏少,大型软件工程流程了解不多,代码量积累不足。
- Plan(If‑then 预案)
- 如果发现自己开始拖延任务,那么就立刻拆分任务,每天完成一小部分,不全部堆到截止日;
- 如果写代码调试烦躁,就暂停,整理报错信息,先查阅文档,或者向同学老师求助;
- 如果当天琐事太多,也要保证至少写几十行代码或者写一小段博客,不完全中断学习节奏。
三、提有质量的问题,给认真的反馈
阅读《构建之法》,提出 5 个问题:
-
问题 1
引用(第 3 章):“软件的成功很多取决于非技术因素。”
我的问题:在学生课程项目里,我们几乎只看重代码功能实现,那么学生阶段该如何去练习把握这些非技术因素?
查阅资料,很多文章强调产品沟通、用户调研,但课程作业大多没有真实用户。我的实践中,课程项目只追求跑通功能。
我的困惑:学生没有真实项目环境,怎样去锻炼非技术的工程能力? -
问题 2
引用(第 5 章):团队开发里有多种角色,项目经理、测试、开发等。
我的问题:课程小组作业人数很少,每个人往往要身兼数职,这种情况下如何做好角色分工?
网上很多团队教程针对企业大型团队,小团队的分工模式参考资料较少。
我的困惑:课程小团队,怎么平衡多角色工作,避免部分同学负担过重? -
问题 3
引用(第 8 章)关于敏捷开发:敏捷强调拥抱变化,快速迭代。
我的问题:敏捷开发适合所有类型软件项目吗?对于安全性要求极高的软件,敏捷会不会带来风险?
我看到有观点说军工、医疗软件需要严格完整前置文档,不适合敏捷。
我的困惑:敏捷开发的适用边界到底在哪里? -
问题 4
引用(第 11 章)软件测试,书中提到多种测试类型。
我的问题:学生写练习项目的时候,很多时候写完功能就结束,几乎不写测试。对于小项目,有没有必要投入大量精力做测试?
部分观点认为小项目写测试浪费时间,企业却高度重视单元测试。
我的困惑:学生练习项目,测试应该做到什么程度最合适? -
问题 5
引用(第 16 章)创新,书中提到创新分不同级别。
我的问题:对于在校学生,大部分作业都是重复现有功能,很难做到突破性创新,学生该怎么在练习中培养创新思维?
很多练习是复刻已有系统,似乎没有留给创新空间。
我的困惑:普通课程练习,从哪些角度可以做创新训练?
课程反馈选择:D:经常提问题,平时就经常给老师和助教提反馈。
遇到看不懂、想不通的地方及时提问;课程学习过程有收获或者困惑,主动反馈给老师助教,帮助改进教学。
四、前车之鉴
博客 1
链接:https://book.douban.com/subject/4006425/discussion/22803961/
你是否也觉得自己是科班,但没学懂计算机?
读后感:很多计算机科班学生,包括我自己,虽然身在本专业,却时常感觉并没有真正学懂计算机。课本偏向理论,自己动手实践的机会有限。读完文章我意识到,“科班” 只是身份标签,不等于自动掌握技术。课堂只是打好基础,真正弄懂计算机离不开大量实操和主动拓展。不能仅仅满足作业及格,要主动增加实践,摆脱 “科班但不会写代码” 的困境。
博客 2
链接:https://www.cnblogs.com/news/531362/
不要轻易在简历上写我热爱编程,我热爱学习
读后感:“热爱编程” 不应该是简历上空洞的一句话。真正的热爱体现在行动:愿意花费时间调试晦涩代码,主动做额外项目,接受调试失败。这提醒我,不要停留在口头表态,用博客、代码仓库、项目作品证明自己,实实在在的产出远比空话更有说服力。
GitHub地址:https://github.com/Akida1122-akd/Akida1122-akd/blob/main/README.md


浙公网安备 33010602011771号