第一周作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/homework/15692 |
| 这个作业的目标 | 1.注册GitHub、博客园账号并加入班级;2.完成博客随笔,完成自我介绍、现状与学习规划、阅读《构建之法》提出高质量问题、阅读前辈博文写感悟;3.练习Markdown排版、Git/GitHub基础,树立学术诚信意识,用WOOP方法制定软件工程课程学习计划。 |
一、介绍自己,建博客
我是计算机科学与技术专业的学生,现阶段主要学习方向是 Java后端 + AI应用开发。按照作业要求,我已经注册了GitHub账号,新建仓库 https://github.com/yangyangyang3124/yangyangyang3124 ,并完善README个人介绍;注册博客园账号,修改博客基础设置,切换编辑器为Markdown,加入课程班级。


我学习了如何写博客以及博客园社区行为规范。写博客需要投入不少课余时间,但它是输出倒逼输入的很好手段,能够把零散知识点整理成体系,暴露自己理解模糊的地方。如果对写博客这件事存疑,也可以阅读刘未鹏的文章为什么你应该(从现在开始就)写博客,从反面去思辨写博客的价值。坚持长期输出,一段时间之后就可以看到自身学习的变化。
很多同学会陷入“我没有闪光点”的自我怀疑。每个人都有自己的长处,不一定局限于课本成绩。我的优势是动手实践能力较强,乐于折腾新技术,遇到报错习惯先自主查阅文档调试排查问题。面对Java、大模型调用这类新知识,我不会只停留在看视频看懂概念,而是会动手敲Demo复现效果。这个能力不是天生的,是过去一年多,每天抽出固定时间敲代码、复现案例、排查BUG一点点训练出来的。参考怎样发现自己的优势,除编程之外,我平时也喜欢阅读技术科普书籍,擅长整理笔记,会把踩坑记录整理保存下来。
课程作业方面,我会守住学术诚信的底线,参考作业的底线。作业坚持独立思考完成,如果参考网络、博客、别人的代码资料,一定会标注来源,杜绝抄袭剽窃,把每一次作业当作锻炼能力的机会。
二、现状、经验和计划
(1)专业选择、能力自评
我选择计算机科学与技术专业,源于对软件开发、人工智能应用的兴趣,希望未来做Java+AI方向的应用开发。大学阶段是人生精力最旺盛,可以全身心投入学习的宝贵窗口期。对照合格IT毕业生能力表软件工程师能力自我评价表,选取7项对我很关键的技能,0~9打分(5=可以通过企业面试,9=世界一流水平)。
| 核心技能 | 目前水平 | 课程结束目标水平 | 提升手段 |
|---|---|---|---|
| Java程序开发能力 | 3 | 7 | 1.完成课程编程作业;2.做小型业务项目练习;3.阅读官方文档;4.对旧代码做重构;5.把踩坑经历写成博客复盘 |
| AI应用开发能力(调用大模型、AI Demo) | 2 | 6 | 1.复现开源AI应用Demo;2.练习大模型SDK调用;3.阅读AI工程实践文档;4.记录调试笔记;5.尝试做小型后端+AI结合小项目 |
| Git与团队协作开发 | 2 | 7 | 1.课程小组项目熟练使用Git;2.学习Pull Request流程;3.练习代码评审;4.学习团队分工流程;5.多看开源项目协作案例 |
| 需求分析与软件设计能力 | 2 | 7 | 1.学习需求分析方法;2.练习绘制UML图;3.分析真实开源项目案例;4.课程小组项目实践需求设计;5.阅读软件工程相关案例资料 |
| 程序调试排错能力 | 2 | 7 | 1.每次BUG完整记录报错与解决方案;2.练习使用调试工具;3.积累各类报错排查思路;4.阅读别人排错博客;5.复现问题模拟调试 |
| 技术文档与博客写作能力 | 1 | 6 | 1.坚持写课程随笔博客;2.练习写项目设计文档;3.规范代码注释;4.学习优秀开源项目README写法;5.写完文档自我通读修改 |
| 自主调研学习能力 | 1 | 8 | 1.跟进Java、AI新技术;2.阅读国内外技术博客;3.练习检索英文技术资料;4.定期复盘学习漏洞;5.建立个人知识库整理资料 |
(2)阅读博客心得
a)专注力文章阅读心得
阅读文章你的注意力就是你的生命,以及同学读后感读后感。
学习Java+AI的时候,我很容易陷入“收藏大量教程,但很少动手实践”的陷阱。手机短视频、资讯会不断切割我的注意力,看似花了很多时间学习,实际深度思考时间很少。真正的编程与工程学习,需要整块不受打扰的专注时间。之后我会刻意减少碎片化刷技术资讯,给自己留出整块编码学习时间,拒绝假性努力。
b)师生关系与作业应对
阅读师生关系谈。
大学我体验过单向灌输式的师生关系:老师讲课,学生被动听课接收知识。我希望本课程是教练—学员式双向师生关系:老师布置任务、指出问题、提供指导资源;学生主动思考、动手实践、敢于提问,主动反馈学习中的困难。
如果老师布置的作业难度超出我当下能力,我的选择:C 向老师和同学请教,花更多时间,把作业全部完成。我会把大作业拆解成一个个小任务,分步攻克,不会直接摆烂放弃。
c)合理引用和抄袭剽窃的区别
参考作业的底线:
- 合理引用:学习、借鉴别人的思路、代码、文档,明确标注资料来源,在别人基础之上加入自己的理解、修改、创新,这是开发、写作业中正常行为。
- 抄袭剽窃:直接复制他人作业、代码、文章,隐藏来源,冒充是自己完成,没有自我思考与改造,属于学术不端。
(3)未来方向与本学期规划
读完前人IT从业者成长经历,我的目标方向:走工程实践路线,未来从事Java+AI应用方向的后端开发工作。
我的优势:对Java、AI新技术抱有热情,愿意动手做Demo实践;有一定代码基础;遇到问题会主动上网检索资料尝试解决;愿意坚持写博客复盘。
我的劣势:缺少完整大型软件项目实战;AI底层理论储备薄弱;团队协同开发经验不足;工程化思维还比较欠缺。
本学期规划
- 吃透《构建之法》软件工程理论,建立工程思维,不只盯着写代码,重视需求、设计、测试、协作全流程;
- 持续夯实Java基础,同步练习AI应用开发,多完成小型完整项目;
- 积极参与课程小组项目,练习Git协作、撰写项目各类文档;
- 坚持博客随笔输出,沉淀课程实践与踩坑收获;
- 补齐计算机基础理论,主动查漏补缺。
(4)课程计划与WOOP规划
当前代码量统计
- Java:约4300行
- Python(AI相关demo):约1100行
合计:5400行
了解到:入职一流互联网、AI企业,需要积累大量高质量实战代码;高校科研教学方向除代码实践外,还需要扎实理论功底、论文阅读、科研项目积累。目前我的代码量距离目标还有明显差距。
每周投入本课程总时长(含上课):5个小时。
过去部分时间存在浪费,现在想要追赶,我的选择:D:比以前课要多很多,直到达到目标为止。
课程结束计划新增代码量:7500行;平均每周完成约470行有效代码(课程作业、小组项目、练习Demo,拒绝无效凑行数)。
WOOP计划
- Wish(愿望):课程结束后,掌握软件工程完整开发流程;能够参与小组完成完整软件项目;Java编码能力提升,可以独立完成简单AI+后端结合项目;坚持博客持续输出,课程取得理想成绩,建立初级工程师的工程思维。
- Outcome(结果):愿望达成后,我不再只会写零散的demo代码,懂得需求分析、设计、团队协作、测试交付整套流程;拥有可以写进简历的课程项目,为以后求职Java+AI开发岗位打下基础,工程实践能力实实在在得到提升。
- Obstacles(障碍)
- 内部障碍:遇到复杂bug心态烦躁;存在拖延,总想先刷手机资讯再写代码;AI新知识难度大容易畏难;复盘经常流于表面,重复踩同类坑。
- 外部障碍:多门课程并行,时间被拆分;手机网络分散专注力;遇到难点缺少即时指导,解决问题耗时长。
- 最可能失败因素:拖延,任务不断堆积,越堆越不想动手,最后心态摆烂。
- Plan(if‑then预案)
- 如果出现拖延不想写代码,那么就只给自己安排20分钟最小任务,先动手开始,不追求一次性做完。
- 如果调试bug很久没有进展,那么记录自己已经尝试过的方案,整理问题,之后找同学老师请教,不原地死钻牛角尖消耗心态。
- 如果手机干扰专注,那么学习的时候把手机放到视线之外。
- 如果多门课程冲突挤压本课时间,那么周日晚上梳理下周任务优先级,保证本课每周最低时间底线。
三、提有质量的问题,给认真的反馈
快速通读《构建之法》,下面列出5个问题,标明章节,附带个人思考与困惑。
问题1:第1章 1.3 足够好的软件
原文:软件工程的目标是打造“足够好”的软件,而不是追求绝对完美,需要在时间、成本、质量、资源约束下做到最优平衡。
我的问题:学生课程项目如何界定“足够好”的标准?企业AI产品经常为了上线速度牺牲部分质量,学生项目是否可以模仿这种取舍?
支撑依据:很多学生做课程项目,要么纠结细节优化导致项目延期;要么为赶时间代码混乱bug较多。网上很多技术文章讨论企业产品快速迭代,但很少针对学生课程项目给出明确边界。
我的实践:自己做小demo时,经常纠结到底要不要花大量时间重构,分不清哪些缺陷可以妥协,哪些底线不能让步。
困惑:在课程作业场景下,哪些质量底线不能妥协,哪些地方可以适当取舍?
问题2:第2章 2.3 PSP个人开发流程
原文:PSP帮助开发者预估时间,记录开发各环节开销,减少代码缺陷,是程序员自我管理工具。
我的问题:我同时学习Java和AI,经常接触完全陌生的技术栈,时间预估经常严重不准。对于初学者,PSP流程会带来不小额外时间成本,初学者应该优先严格执行PSP流程,还是优先把代码实现出来?
支撑依据:PSP需要记录每个环节耗时,统计缺陷,对于刚上手新技术的人,会挤占编码练习时间。部分大佬入门经历会优先堆代码量,后期再补齐流程。
我的实践:我尝试记录PSP,在接触陌生AI API的时候,预估时间和实际耗时差距巨大。
困惑:初学者,积累代码量和执行PSP流程的平衡点在哪里?
问题3:第6章 6.2 敏捷流程的问题和解法
原文:敏捷适合需求快速变化的项目,但会出现需求失控等问题。
我的问题:课程小组大多是临时组建,项目经验有限,如果我们做Java+AI类应用项目,直接照搬敏捷流程是否合适?学生团队使用敏捷最大坑是什么,有没有适合学生的简化版敏捷实践?
支撑依据:敏捷开发需要成熟团队,对需求管理有要求。部分小组作业直接套用敏捷,出现需求随意变更、返工多的情况。
我的实践:小组练习时,简单套用敏捷迭代,出现分工混乱,需求不停改动。
困惑:软件工程课程强制敏捷实践,零基础学生小组该怎么落地敏捷?
问题4:第10章 10.1软件测试
原文:软件测试是软件开发重要环节,有多种测试手段保障软件质量。
我的问题:AI应用输出具有随机性,传统软件测试方法似乎不能完全适用。AI类应用该怎么做有效的测试?课程作业中的AI项目测试部分,学生应该做到什么程度?
支撑依据:普通后端可以写单元测试判断返回值是否符合预期;但大模型输出答案不唯一,断言很难直接写死。查阅部分文章提到AI系统的评估集,但学生很难搭建完整评估体系。
我的实践:写AI调用demo时,只能人工肉眼检查输出,没有自动化测试手段。
困惑:课程作业层面,AI应用的测试该落地到什么程度,哪些是学生可以做到的?
问题5:第16章 16.3 技术创新
原文:创新不只是颠覆式创造,对现有技术做改进、组合也是有效创新。
我的问题:学生资源、算力有限,很多课程AI项目只是封装现成大模型API,做上层业务拼接。这类调用现成模型做二次封装的项目算不算创新?课程评判创新作业重点看想法创意,还是底层技术突破?
支撑依据:翻看豆瓣《构建之法》读者笔记,很多同学课程项目都是API封装,很难做到底层模型创新。
我的实践:设想课程AI项目,大多是基于已有大模型做业务包装。
困惑:学生条件有限的情况下,课程创新作业,考核的重心究竟是什么?
课程反馈选择:D:经常提问题,平时就经常给老师和助教提反馈。
遇到不懂的知识点、作业困难就主动提问;教学、作业布置有想法会客观给出反馈,帮助课程改进。
四、前车之鉴
阅读前人博文,选取3篇写感想,附上原文链接。
感想一
链接:https://book.douban.com/subject/4006425/discussion/22802960/
主题:记录思维快照,定期自省复盘
读完这篇来自《IT小小鸟的故事》的文章,我很有感触。文中提到把自己的思考记录为“思维快照”,隔一段时间回看,观察自己想法的变化。现在Java和AI知识更新速度很快,如果只一味往前学,不回头复盘,很多学过的细节很快遗忘。很多时候我们看似学了很多东西,但缺少沉淀。
反思我自己,很多时候只是敲完代码就结束,很少记录当时真实的困惑。以后写博客,不只是粘贴运行成功的代码,也要写下当时的思考、踩过的坑、自己的疑问。定期回看旧随笔,看到自己的成长与不足。学习不是一味求快,复盘自省同样重要。
感想二
链接:https://www.cnblogs.com/xiaozhi_5638/p/4485805.html
主题:偏科生自学摸索的道路,实习经验对应届生的意义
这篇文章讲普通学生自学成长的经历。文中提到应届生不要盲目追逐花哨的实习经历,基础才是第一位。这点戳中了我,现在学习Java+AI,很容易被炫酷AI Demo吸引,急于做看起来很厉害的项目,却忽略Java基础、计算机底层知识。
实习和项目固然重要,但没有扎实基础,就算做过demo,面试遇到底层问题依然漏洞百出。同时大学课堂只是一部分,IT行业自学能力至关重要。我不能过度依赖课堂,要主动拓展自学,但不能抛弃课本基础。地基不稳,上层应用就走不远。
感想三
链接:http://www.cnblogs.com/Tpf386/p/4798437.html
主题:不要觉得看视频就能代替上课
很多同学会有一个想法:网上视频教程这么多,我看视频自学就够了,为什么还要上课?读完这篇文章,我有新的理解。视频可以教会API、语法调用,但是软件工程这门课,重点不是单一编程语言语法,而是团队协作、完整项目流程、师生之间的交流、小组作业实践。这些东西单纯看视频很难完整获得。
结语
计算机科学与技术专业,Java 与 AI 方向机会很多,但同样需要大量实践积累。大学宝贵的学习时间,我会踏实写代码、做好课程项目、坚持博客复盘,守住学术底线,补齐自己短板,朝着自己的目标稳步前进。

浙公网安备 33010602011771号