第一周作业

第一周作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/homework/15692
这个作业的目标 接轨软件工程的前期准备,更好地学习

 

 

 

 

一、自我介绍与博客建立

  大家好,我是周子骞,就读于广东工业大学2024 级计算机科学与技术专业。平时除了课本学习,我喜欢阅读科技类书籍和人物传记,从中了解不同领域的发展脉络和思维方式。

  这次搭建博客园个人技术博客,主要有两个目的:一是记录自己的课程学习过程,包括实践中的错误、思考的转折、解决问题的方法;二是通过写作来倒逼自己把模糊的知识理清楚。写博客需要投入时间,但我知道,真正把一个东西写明白,往往比光想明白要多花几倍功夫,这也是我需要的训练。我会遵守博客园社区规范和课程作业的学术诚信底线,所有内容坚持原创,引用他人的资料会明确标注来源。

  每个人都有属于自己的节奏和长处,分数并不是唯一的衡量标准。对我来说,我比较突出的特点是“耐得住”。愿意为一个小问题反复尝试,愿意查阅资料、搜索博客、翻看文档,直到搞清楚为止。

  关于作业底线,我的态度很明确:坚决拒绝抄袭剽窃。可以参考别人的思路,但必须有自己消化的过程,所有参考来源都要做标记,作业呈现的必须是自己真实的思考和劳动。


二、现状、经验和计划

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

  选择计算机科学与技术专业,是因为我对计算机如何解决实际问题感到好奇。算法如何优化路径、程序如何控制硬件、数据如何驱动决策——这些都很吸引我。大学四年能专心学习,是非常宝贵的时间窗口,我想要好好利用。

  对照一名合格 IT 毕业生应具备的能力,我挑选了 7 项做自我评估:

核心技能 当前水平(0-9) 课程结束目标水平(0-9) 提升手段
算法与数据结构 2 6 1. 每周刷题练习;2. 整理错题与思路;3. 手动实现数据结构;4. 结合教材理解原理;5. 与同学交流解题方法
代码编写与调试 2 6 1. 坚持每周写代码;2. 遇到报错先独立排查;3. 记录常见 bug 类型;4. 模仿优质代码并改写
Git / GitHub 使用 0 5 1. 学习 Git 基本命令;2. 在本地练习提交和分支;3. 将代码推送到 GitHub 仓库;4. 参考网上的教程和示例;5. 学会写基础的 README
技术文档撰写 2 6 1. 为项目写说明文档;2. 坚持写博客随笔;3. 学习 Markdown 排版;4. 参考优秀开源项目的文档风格;5. 养成写注释的习惯
团队协作能力 3 7 1. 积极参与小组合作;2. 理解团队分工;3. 主动沟通进度和困难;4. 在每次合作后复盘;5. 学习代码协作的基本流程
问题分析排查能力 1 6 1. 遇到问题先复现现象;2. 搜索报错信息;3. 保存关键日志;4. 总结解决思路;5. 向同学和老师请教
自主学习能力  4 8 1. 制定每周计划;2. 定期复盘完成情况;3. 阅读技术博客;4. 主动查资料学习新知识;5. 根据进度灵活调整

 

 

 

 

 

 

   评分说明:5 分代表具备基础面试水平,9 分代表世界一流水平。

  目前看来,我的代码量和工具使用经验都还很少,需要在接下来的学习中一步步积累。


 

(2)阅读心得

  读了几篇关于注意力管理的文章后,我意识到一个一直存在但容易被忽视的问题:学习时间不等于有效学习时间。手机消息、短视频、社交平台上的碎片信息很容易把大块时间切割得七零八落。编程学习需要深度专注,只有进入“沉浸”状态,才能真正理解逻辑和结构。我打算以后在学习时段把手机放到视线之外,设定明确的任务目标,减少无效切换。

  我期望这门课是“教练-学员”式的师生关系:老师给出任务框架、方向和方法上的引导,学生主动动手实践、主动提问、主动反馈。这样才是双向互动的学习。

  如果遇到比较难的作业,我的选择是 C:向老师和同学请教,花更多时间,把作业全部完成。我不会因为难就降低标准或者直接放弃。越是困难的任务,完成后的收获往往也越大。


 

(3)未来发展选择、优劣势与本学期规划

  我未来的职业方向倾向于软件开发,目前对后端开发比较感兴趣,但还没有固定的方向,希望多接触后再做判断。

优势:

  有耐心,遇到挫折不容易放弃;

  有一定的文字整理能力,能把学过的内容梳理成文字;

  愿意投入时间反复练习。

劣势:

  编程实战经验很少,项目经历几乎为零;

  算法基础薄弱,需要大量补课;

  对实际工业开发流程缺乏了解;

  工具链(如 Git、调试工具)使用不熟练。

本学期规划:

  夯实编程语言基础,多写代码,增加实践量;

  学习并熟练使用 Git 和 GitHub,维护个人仓库;

  认真完成课程要求的实践项目,遇到困难及时求助;

  多读技术文章和博客,保持对行业动态的关注。


 

(4)本课程计划、代码量、时间投入 & WOOP

  当前代码量:C 语言 & C++ 约 2000 行,Python 约 200 行,Java 约 600 行,合计约 2800 行。

  我了解到,想进入好的软件公司,需要积累足够的“有效代码量”;如果走科研方向,则更看重理论基础、算法能力和阅读论文的能力。目前我倾向于工程方向,因此需要把代码量提上去。

  课程结束目标代码量:5000 行;每周计划:约 200 行。

WOOP 规划

Wish

  课程结束时,能够熟练使用 Git/GitHub 管理代码;能够独立完成一个小型软件实践项目;掌握基础的软件工程思维;能够写出结构清晰的技术博客。

Outcome

  可以完整完成课程项目作业,GitHub 仓库有规律的提交记录,博客积累多篇学习心得,面对基本的开发任务不再手足无措,为后续课程和实习打下基础。

Obstacles

  内部障碍:容易拖延,特别是面对不熟悉的任务时;遇到 bug 卡久了会烦躁;学习时容易被手机分心。

  外部障碍:多门课程任务叠加,时间紧张;部分概念理解难度大,缺少直接的指导。

  最可能失败的因素:拖延——任务堆积到截止前才匆忙赶工,学习质量大打折扣。

Plan

· 如果发现自己拖延不想动手,那么就先做一个最小的部分,哪怕只是写一行代码、搭一个框架,先启动起来;

· 如果写代码被 bug 卡住很久,那么先停下来,整理报错信息,搜索解决方案,再向同学或老师求助,不硬扛浪费时间;

· 如果学习时忍不住刷手机,那么把手机放在视线之外,设定 40 分钟的专注时段;

· 如果多门课程作业撞在一起,那么提前拆分任务,设置自己的小截止点,不等最后一周才开始。


 

三、提有质量的问题,给认真的反馈

快速阅读《构建之法》后,我提出了以下 5 个问题:

第 1 章 概论 1.1 软件 = 程序 + 软件工程

引用:软件 = 程序 + 软件工程。程序是源代码,软件工程还包括需求分析、版本管理、测试、发布维护等一系列工作。

我的问题:对于个人写的练手项目,也需要完整执行一整套软件工程流程吗?初学者该如何判断哪些步骤是必须做的,哪些可以简化?

现实:我在写课堂练习时,如果强制自己走完整的流程,会感觉负担很重;但完全不做,又怕养成不好的习惯。

困惑:对于学生个人小项目,“软件工程”的边界到底在哪里?

第 2 章 个人技术和流程 2.2 单元测试

引用:单元测试是对程序的一个模块进行测试。

我的问题:初学者的课程作业代码量很少,大多数同学都不会写单元测试。什么时候才应该开始强制自己写单元测试?

现实:课堂作业基本都是写完、跑通就提交了,很少考虑测试。

困惑:单元测试对于入门学习者,是应该优先学习并坚持使用,还是等到项目规模变大之后再接触?

第 5 章 团队和流程 5.2 软件团队的模式

引用:书中提到了合唱团模式、明星模式、官僚模式等多种团队模式。

我的问题:大学课程中的小组作业一般 3-5 人,周期短,成员水平参差不齐,哪种团队模式更适合学生小组?

现实:很多小组分工模糊,有人承担太多任务,有人划水。

困惑:学生团队如何有效分工、避免搭便车问题?

第 16 章 创新 16.1 创新的迷思

引用:迷思一:创新就是灵光一现。

我的问题:普通在校学生缺乏行业项目和实际工作经验,在日常学习中如何训练自己的创新能力?创新是否只能建立在大量的项目积累之上?

现实:课程大多是完成既定需求,很少有自主探索的空间。

困惑:对于缺乏经验的学生,有哪些具体可行的创新训练方式?

第 17 章 人、绩效和职业道德 17.2 软件工程的职业道德

引用:软件工程师应当保持诚信,不能剽窃他人成果。

我的问题:学习过程中参考网上开源代码的逻辑,理解之后自己重新实现,变量名、结构做了修改,怎样清晰判断这样的行为是否属于剽窃?

现实:大多数同学学习过程中都会看别人的代码来学习。

困惑:借鉴思路和抄袭代码之间清晰的分界线是什么?

课程反馈选择

我选择 D:经常提问题,平时就经常给老师和助教提反馈。有学习困惑会及时提出,认真完成课程反馈。


 

四、前车之鉴(阅读前人文章感想)

文章 1:https://book.douban.com/subject/4006425/discussion/22803733/

内容:把任务分为 ABCD 四类——A 紧迫且重要;B 重要不紧迫;C 紧迫不重要;D 不重要不紧迫。

感想:我以前经常被临时任务牵着走,忽略了那些“重要但不紧迫”的事情,比如刷题、阅读技术文档、写总结。这些事不立刻做不会出事,但长期不做的代价很大。读过之后,我打算每天简单列出任务优先级,有意识地给 B 类任务留出时间,不让紧急琐事占满全部精力。

文章 2:https://book.douban.com/subject/4006425/discussion/22803961/

内容:科班学生却感觉自己没有真正学懂计算机。

感想:这篇文章让我很有共鸣。上课听懂了,但自己动手写代码就频繁出错。计算机不是靠听和背就能学好的,核心在于动手实践。不能满足于“听懂”,要能做到独立写出来、跑通、改错。以后学习时,我会更注重动手环节,而不只是阅读和理解。

文章 3:https://book.douban.com/subject/4006425/discussion/22802960/

内容:记录思维快照,时常回头自省。

感想:这个习惯我很认同。很多思考和困惑如果不记下来,很快就会遗忘。我打算在写博客和笔记时,也记录下自己当时的想法、卡住的地方和解决的过程,隔一段时间回看,观察自己的成长轨迹和思维方式的变化。


 

五、我的Github

我的自我介绍:qiyan5957/qiyan5957

屏幕截图 2026-09-07 192329

 

posted @ 2026-09-07 19:27  憩烟  阅读(10)  评论(0)    收藏  举报