作业1
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/homework/15692 |
| 这个作业的目标 | 写一篇随笔 |
大家好!我是一名计算机专业的在读大学生。在校期间,我始终以严谨认真的态度深耕专业知识,系统学习了数据结构、计算机网络、操作系统、编程语言等核心课程,扎实掌握Java、Python等常用编程语言,熟悉基础程序开发与问题调试方法,搭建了完整的专业知识体系。
我注重理论与实践结合,积极参与校内编程实训、小程序开发项目,在实操中锻炼代码编写、逻辑思维和团队协作能力,积累了基础的项目开发经验。平日里,我热爱钻研新技术,持续关注人工智能、软件开发领域的行业动态,主动通过线上课程、技术文档拓展自身技能,弥补知识短板。
我性格踏实沉稳、乐于沟通,具备良好的学习能力和抗压能力,面对技术难题能够耐心拆解、潜心攻克。未来,我希望继续深耕计算机技术,不断积累实战经验,打磨专业技能,努力成为一名兼具专业素养与实操能力的技术型人才。
| 能力项 | ①当前水平(0‑9) | ②课程结束目标水平(0‑9) | ③提升手段 |
|---|---|---|---|
| 需求对齐与代码健康度 | 4 | 7 | 1. 编码后强制做重构 commit,清理死代码、AI 残留注释;2. 接入 linter 静态检查,提交前修复告警;3. 使用类型提示,拒绝宽泛 any 类型;4. 函数入口加参数校验,落实防御式编程;5. 规范 commit 信息,PR 做自我 diff 审查;6. 定期复盘旧代码,拆分高圈复杂度函数 |
| 验证深度与测试覆盖 | 3 | 7 | 1. 每个模块配套单元测试,行覆盖率 > 60%;2. 补充空值、异常、超时边界用例;3. 用 mock 隔离外部依赖;4. 配置 CI 自动跑测试并输出覆盖率报告;5. 编写集成测试覆盖完整流程;6. 先想异常场景再写实现 |
| 工程复现性与构建完整度 | 4 | 7 | 1. 维护完整依赖锁定文件,杜绝硬编码绝对路径;2. 完善 README 安装启动步骤,新增.env.example;3. 学习编写 Makefile/docker‑compose 一键启动;4. 学习 pre‑commit hooks;5. 跨机器复现项目,失败就补全配置;6. 参考优秀开源工程模板 |
| 智能体编排与工具使用 | 3 | 6 | 1. 手写 LLM 调用,实现重试、异常捕获、JSON 解析容错;2. 学习 LangGraph 多步 Agent 流程,定义工具调用;3. 加状态机、输入校验提升确定性;4. 读 Agent 开源源码,模仿工具封装;5. 增加结构化日志排查失败 case;6. 复现简单多智能体 demo |
| 手动掌控力与底层原理 | 4 | 7 | 1. 脱离 AI 独立完成中等规模业务代码;2. 遇报错优先读堆栈自主定位;3. 练习手写 SQL、正则、基础算法;4. 排查跨栈问题完整复现 bug;5. 读框架底层源码片段理解机制;6. 针对性调试内存 / IO 问题 |
| 开源杠杆与社区贡献 | 3 | 6 | 1. 引用第三方代码标注来源,锁定依赖版本;2. 学习编写架构文档、绘制架构图;3. 精读高质量开源项目拆解设计;4. 尝试提交文档类小 PR;5. 以使用者视角完善 README;6. 保证项目至少 20% 核心自研逻辑 |
a) 关于大学生上课是否要认真听讲的思考
Scalers 的文章提出大学生上课必须认真听讲,把听讲看作是一种需要训练的肌肉般的能力,不能以老师水平一般、课程看上去没有用处作为走神不听讲的借口。而 CookieLau 的博客提出了不同视角:现实课堂水平参差不齐,认真听讲不是唯一锻炼专注力的方式,在质量一般的课堂上,自主学习、抵抗外界干扰同样是一种重要能力;一堂好课本身就会吸引学生主动投入,不能把所有问题归责于学生不够专注。
读完两篇文章我的感悟:
- 专注是非常珍贵的核心能力,这点我认同 Scalers。不管课堂质量好坏,能长时间集中注意力是未来工作、做复杂项目的基础。
- 但不能机械教条地要求每一堂课都全程紧盯老师。遇到照本宣科、价值有限的课程,我可以在课堂上进行自主学习,但不能彻底摆烂玩手机浪费时间。区分两件事:“不跟着老师讲稿走”≠“放弃学习”。
- 课堂是双向的,老师的教学输出、学生的接收理解缺一不可。学生要修炼自己的专注力,老师也应当尽力把课程讲得有启发性。我们既不能拿 “课很水” 当作彻底躺平的挡箭牌,也不能全盘忽视现实教学质量的差异。
b) 师生关系、面对困难作业的选择
邹欣老师的文章列举大学里面常见的畸形师生关系:蜡烛‑园丁、餐馆顾客、老板‑雇员、保姆、哥们、路人、狱警犯人,而理想的模式是教练与学员的关系。
教练有经验、有训练方案,会严格指出学员不足;学员有变强的主观意愿,流汗付出完成训练;教练及时反馈,学员主动练习,二者互相促进。
我希望这门软件工程课是教练‑学员的师生关系:老师作为教练,提供项目目标、评判标准、及时的反馈与指导,不会替我完成代码和文档;我作为学员,主动承担项目实践的工作量,遇到问题主动求助,接受批评,通过做中学提升工程能力。
如果老师布置的作业对我来说有些困难,我的选择是 **E(其他):
不会直接摆烂放弃,也不会只求混及格,更不会觉得交了学费就应该直接拿分。首先自己查阅资料、查阅课程参考文档,动手尝试拆解任务;遇到卡点先和同学讨论结对思考;实在无法突破,带着自己已经尝试过的思路向老师、助教请教;合理规划时间,拆分大作业为小步骤,尽力完成全部要求。如果实在有部分内容无法做到满分,也要把自己思考、尝试过程完整呈现,而不是抄袭糊弄。
c) 引用参考资料、开发借鉴与抄袭剽窃的区别
阅读邹欣老师的博客后,我理解了二者核心边界:
- 合理引用 / 参考、在别人工作基础上迭代开发
- 文档、博客:借鉴观点、案例,明确标注来源、原文章链接,用自己的语言重新组织表达,不是大段原文复制。
- 代码开发:可以合理使用开源库、第三方组件;复用少量公开示例代码,需要注释说明来源;在开源协议允许的前提下,在原有项目上做二次开发,遵守协议声明。
- 本质:吸收别人的经验,产出属于自己的新思考、新功能,承认前人贡献。
- 抄袭、剽窃
- 文档:直接大段复制别人文字,不加任何引用标注,冒充是自己的思考。
- 代码:直接复制他人完整作业、项目,只修改少量变量名,当作自己的作业提交;无视开源协议直接闭源商用;复制后不声明来源。
- 本质:窃取他人劳动成果,伪装成自己产出,没有新增自己的理解与工作。
我需要向老师确认本课程具体要求:作业、博客、项目代码中引用第三方资料、开源代码的标注格式;同时认真阅读学校学生手册,牢记学校对于作业抄袭、代码剽窃的处分规定,作业、项目坚决杜绝抄袭行为。
(3)个人未来方向、优劣势与本学期规划
对照博客中同学们的经历,计算机学生的出路包含工程开发、科研深造、考公、其他行业等。
我的选择:未来倾向于工业界软件开发工程师(后端方向),希望进入互联网软件企业从事工程开发;同时保留读研深造的备选可能性。
优势
- 已经掌握基础编程语言,能够独立完成中小型程序;愿意动手做项目,不怕调试 bug。
- 能够看懂技术博客、开源文档,遇到问题有主动检索学习的习惯。
- 认同 “做中学”,愿意接受迭代式开发,不怕作业、项目的挫折。
劣势
- 工程实践经验薄弱:缺少完整团队软件项目经历,对版本控制、测试、需求分析、项目流程理解很浅。
- 代码总量不足,复杂系统思维欠缺;对于大型项目如何拆分模块、规避技术债没有实战体会。
- 软技能不足:需求拆解、团队沟通、撰写项目文档、复盘总结的练习很少。
本学期规划
- 课程层面:认真完成软件工程全部个人、结对、团队项目,重视博客写作,完整走完软件生命周期,熟悉 Git 协作流程,练习写测试用例。
- 技术积累:巩固计算机四大基础课;课余时间完成 1‑2 个小型个人项目,刻意练习模块化编码,拒绝写一次性 “玩具代码”。
- 习惯培养:养成写复盘笔记的习惯,每做完一个模块记录自己踩过的坑;学习阅读开源项目,学习别人的代码组织方式。
- 备选准备:同步浏览考研 / 实习相关信息,保持两条路线信息收集。
(4)本课程计划、期待、时间与代码量规划
参考各类教学博客,我对课程的期待
我期待本课程:
- 不止学习书本理论,通过真实的项目体验需求分析、设计、编码、测试、迭代、维护完整流程。
- 有及时的反馈,老师和助教扮演教练角色,指出我的代码、文档、团队协作的问题,而不是到期末一次性给分。
- 重视团队实践,学会任务拆解、沟通冲突处理、版本管理,体会真实软件团队是如何工作。
- 重视过程而不只是最终演示结果,允许我们犯错,鼓励迭代改进,而不是追求一次性写出完美的软件。
我打算这样度过课程:
课前预习阅读材料;课上积极思考;课后优先完成项目实践,按时输出博客复盘;结对与团队项目中承担自己的责任,主动沟通;收到助教、老师点评后主动修改迭代,不把作业当作交完就结束的一次性任务。
代码量统计与目标
我目前的代码量:
- Python:约 600 行
- Java:约 800 行
- C/C++:约 1300 行
合计有效代码约 2700 行(注释、空行不计入)
- 入职一流软件 / 互联网公司:行业普遍经验,在校阶段具备1 万‑2 万行有效项目代码会有比较强的竞争力,重点不是堆砌行数,而是有多个完整项目、包含测试、模块化设计的高质量代码,而不是课堂作业的零散练习。
- 高校教学科研方向:相比代码行数,更看重论文、科研项目、学术创新;但同样需要扎实编程能力,需要能够复现、实现实验原型,一般也需要数千行以上的项目代码。
课程时间投入选择
每周投入时间(含上课):12‑14 小时。
如果过去两年有时间浪费,我选择 D:比以前课要多很多,直到达到目标为止。
代码量目标
- 课程结束希望新增4000 行左右有效代码(包含个人项目、结对项目、团队项目,含单元测试代码)
- 课程周期约 16 周,平均每周新增有效代码:约 250 行。


浙公网安备 33010602011771号