第一周作业

1. 介绍自己,建博客

我是计算机专业 24 级的一名普通学生。平时除了上课,会花一些时间看技术视频,偶尔写点小程序。这是我第一次正式写技术博客,希望通过这个课程养成记录和总结的习惯。

关于写博客

我基本认同博客中“写博客很有意义”的观点。以前我学完东西经常是“感觉自己会了”,但真正动手写代码时才发现很多细节不清楚。写博客需要把思路整理出来,这本身就是一种复习。所以我愿意坚持写一段时间,哪怕一开始写得不好。

2. 现状、经验和计划

(1)专业选择与技能差距

当初选择计算机专业,主要是因为喜欢逻辑性强、能实际做出东西的感觉。高中时接触过一点编程,觉得写代码解决问题很有意思,所以填报了这个专业。

对照技能调查表,我选取了以下 6 项我认为特别重要的技能:

技能 目前水平(0-9) 课程结束后目标(0-9)
编程语言:C/Java 5 7
数据结构与算法 4 6
软件工程流程与文档 3 6
团队协作与 Git 4 7
测试与调试 3 6
项目实践能力 3 6

我计划通过以下手段提高水平:

  1. 每周按时完成课程作业和上机练习,不拖延;
  2. 阅读《构建之法》并做读书笔记,每周至少记录一章;
  3. 在 GitHub 上持续提交代码,养成版本管理习惯;
  4. 参与至少一个小型课程项目或开源项目,完整走一遍流程;
  5. 针对数据结构与算法薄弱项,每周额外刷 3-5 道题;
  6. 遇到问题先自己查资料,再向同学、助教或老师请教。

(2)阅读博客心得

a) 我为什么来上课并认真参与

我认同那位学生的思考:自己看视频、看博客虽然能学到东西,但缺乏反馈和约束,很容易半途而废。课堂上有老师答疑,有作业截止时间,还有同学讨论,这些都能逼我往前走。所以我会尽量认真参与,不把上课当成“混学分”。

b) 我期待的师生关系

我希望是“教练与学员”的关系:老师给出方向、标准和反馈,我负责执行和调整。如果作业困难,我的做法是 C:向老师和同学请教,花更多时间,把作业全部完成。
如果实在做不出来,我会先记录卡住的地方,带着具体问题去请教,而不是直接放弃。

c) 引用与抄袭的区别

我会遵守课程要求:引用他人代码、文章、思路时注明出处;直接复制别人的代码或文档却不说明来源属于抄袭。学校对抄袭有明确规定,我会避免把别人的成果直接当作自己的作业提交。

(3)未来选择与本学期规划

几年后我倾向于从事软件开发相关工作,可能会先找一份开发或测试岗位积累经验,再看是否需要考研深造。

相比其他同学:

  • 我的优势:执行力尚可,愿意按计划完成任务;遇到问题不轻易放弃。
  • 我的劣势:代码量偏少,项目经验不足,数据结构与算法基础不够扎实。

本学期规划:

  1. 认真完成每一次作业,不堆积到最后一天;
  2. 每周至少写一篇学习记录或博客;
  3. 每周代码量达到 200 行以上;
  4. 学期结束时能完成一个可展示的课程小项目。

(4)本课程计划与 WOOP

我目前的代码量大约 2000 行,主要是 C 语言和 Java,其中 Java 约 1200 行,C 约 800 行。
我的目标:课程结束时累计达到 8000 行,平均每周大约 400 行。

我打算平均每周花 10 小时在这门课上,包括上课、写作业、阅读和上机。

时间投入选择:D:比以前课要多很多,直到达到目标为止。

WOOP 计划

Wish 愿望:在本课程中掌握基本软件工程方法,完成一个有完整流程的小项目,代码量明显提升。

Outcome 结果:如果能实现,我会对团队开发不再发怵,能写出相对规范的代码,期末可以拿出一个 GitHub 项目展示,课程成绩达到良好以上。

Obstacles 障碍

  • 内部:畏难情绪,遇到 bug 容易烦躁,静不下心时总想刷手机;
  • 外部:其他课程任务多,时间碎片化;
  • 最可能的失败因素:前两周热情很高,后面开始拖延,作业堆积到最后才做。

Plan 应对

  • 如果我在写代码时卡住超过 40 分钟,就暂停并记录问题,向同学或助教求助;
  • 如果我白天没有完成计划任务,晚上 21:00 后禁止刷视频,先补作业;
  • 如果我想跳过测试直接提交代码,就强制自己先跑通至少 3 组测试数据再交。

3. 提有质量的问题, 给认真的反馈

五个问题(针对《构建之法》)

问题一
我看了第 1 章“概论”中的这一段文字:

软件 = 程序 + 软件工程。

我有这个问题:对于课程大作业这种小型项目,是否也必须严格执行完整的软件工程流程?
我查了资料,敏捷开发强调“可以工作的软件高于详尽的文档”,但《构建之法》又强调流程的重要性。根据我的实践,上学期做课程设计时,我们直接写代码,前期确实很快,但后期需求一改,代码就乱了。
我的困惑是:小项目里,哪些流程可以省略,哪些绝对不能省略?

问题二
我看了第 3 章“软件工程师的成长”中的内容,书中提到初级工程师需要较长时间积累才能成熟。
我反对那种“培训班几个月就能上岗,所以大学打基础不重要”的说法。我认为基础决定上限,但我也困惑:在有限的大学时间里,应该优先补基础,还是优先做项目积累经验?
我查了一些招聘要求,很多公司更看重项目经历,这让我有些动摇。

问题三
我看了第 4 章“两人合作”中关于结对编程的内容,书中说结对编程能提高质量。
我有这个问题:如果两个人水平差距较大,结对编程会不会反而降低效率?
根据我的实践,有一次和同学结对,他一直在讲,我跟不上,最后变成他写我看。
我的困惑是:课程中安排结对编程时,如何分工才能让两个人都受益?

问题四
我看了第 8 章“需求分析”中的内容,书中提到用户需求经常变化。
我有这个问题:需求变化频繁时,前期写的需求文档是不是就白写了?
我查了敏捷开发的说法,它强调拥抱变化,但文档也需要持续更新。
我的困惑是:在实际课程项目中,我们应该先写完整文档再开发,还是边开发边改文档?

问题五
我看了第 16 章“创新”中的内容,书中说创新不是灵光一现,而是持续改进。
我认同这个观点,但我反对大学生创新项目为了追求“新颖”而忽略实用性。
我的理由是:很多课程里的“创新项目”只是换个名字,没有真正解决实际问题。
我的困惑是:作为学生,我们该怎样判断一个想法是否真的有创新价值,而不是自嗨?

我的反馈态度

我选择:D:经常提问题,平时就经常给老师和助教提反馈。

4. 前车之鉴

阅读文章一:《你是否也觉得自己是科班,但没学懂计算机?》

链接:https://book.douban.com/subject/4006425/discussion/22803961/

我的感想:这篇文章说出了我的心声。虽然我是计算机专业,但有时候觉得自己只是会写一点语法,对计算机系统、网络、算法理解都很浅。文中提到的“科班不等于学懂”让我意识到,大学课程只是引路,真正消化还是要靠自己课下写代码、做项目。我决定从这学期开始,不再满足于完成作业,而是多问几个“为什么”。

阅读文章二:《半路出家,认真学习,对自己狠心,不断在实践中进步》

链接:https://news.cnblogs.com/n/531362/

我的感想:这篇文章让我看到非科班的人通过努力也能做得很好。我不是半路出家,但反而没有那种“饥饿感”,总觉得以后还有时间。作者对自己狠心、抓住一切机会实践的态度让我有点惭愧。我计划每周固定写代码,并且开始维护自己的 GitHub 仓库,让学习痕迹可见。

阅读文章三:《技术栈和大佬的爆栈之旅》

链接:https://www.cnblogs.com/unruledboy/p/DevCareer.html

我的感想:大佬的成长路径看起来很遥远,但核心还是持续积累。文中提到的技术栈非常广,我目前只碰过 C 和 Java。我不要求自己什么都学,但至少要在课程要求的技术上深入一点,比如把 Git、单元测试、团队协作真正用起来,而不是应付作业。

GitHub 练习

我已创建与 GitHub ID 同名的仓库,并在 README 中写下了自我介绍。

仓库地址:https://github.com/3124004087/3124004087

posted @ 2026-09-07 20:01  hhhhhlhcbcbxhd  阅读(8)  评论(0)    收藏  举报