软件工程第一周作业随笔
这个作业属于哪个课程:https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS
这个作业的要求在哪里:https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/homework/15710
这个作业的目标:完成自我剖析,复盘大学前两年学习现状,梳理专业差距与学习计划;练习博客写作、Markdown 排版、Git/GitHub 使用;阅读《构建之法》提出思考问题;阅读前人博客总结经验教训,树立课程底线,明确大三阶段的学习与求职方向
1.自我介绍:
我是一名计算机科学与技术的学生,没有什么特长,爱好是阅读书籍。
2.现状、经验和计划:
(1)专业选择原因:我选择计算机专业并没有什么特别的原因,这个专业比较契合我的高考分数,加上其他的专业也不是很感兴趣就选了计算机。
能力差距:做过的大多是课程小实验,缺少完整端到端软件项目经验,不懂真实项目完整开发流程。
| 技能 | 目前水平 | 目标水平 | 提升手段
| 编程整体的理解 | 4 | 6 |1. 阅读《构建之法》理解工程思想 2. 做项目前先梳理整体框架再动手编码 3. 多看开源项目整体结构
| 理解程序 | 4 | 6 |1. 学会用调试工具跟踪程序执行流程 2. 画简单调用流程图辅助理解 3. 遇到复杂代码分段阅读、逐块梳理
| 模块实现 | 4 | 6 |1. 做任务先拆分模块、定义接口再写代码 2. 学习模块划分相关理论
| 单元测试 | 2 | 5 |1. 学习单元测试框架基础用法 2. 针对边界、异常场景设计用例
| 代码复审 | 2 | 5 |1. 课程小组作业互相做简单代码评审 2. 学习代码复审检查清单 3. 主动请同学点评自己代码
(2)心得:
a.为什么要来上课并且认真参与:
现在大三,距离找实习、找工作越来越近。普通专业课更多偏向理论、算法、底层原理。但只会写零散代码远远不够,企业更看重完整项目、工程思维、协作能力。这门课的博客、作业、团队项目都是在模拟企业真实开发场景,只有认真学习才能为接下来实习求职做好准备。
b.大学的师生关系,作业困难如何处理:
大学不是高中灌输式教学,老师不会盯着你学习,更多是引导、答疑,学习的主动权掌握在自己手上。老师是教练,能锻炼多少重要的是学员的付出。
如果作业难度超出我当前水平,我选择 E:自己去网上查找资料,或是向同学请教。
c.合理引用:借鉴别人思路、查阅他人资料,明确标注来源,主体是自己独立完成。
抄袭剽窃:直接复制他人作业、博客、代码,不标注来源,直接当作自己的成果提交。
(3)我比较随性,没有什么比较体系的规划,努力提升基础和能力才有资本。
(4)规划:坚持写随笔,阅读软件工程和开发实践相关资料。
代码量:Java:600行,Python:500行,C语言:2000行,一流互联网公司应届生一般需要几万行有效实践代码。
投入课程的时间:一周大概8个小时。
我打算:B: 和以前其他课花一样多的时间。
3.提出问题:
问题 1:来自第2章 个人技术和流程,原文:“单元测试是编写正确程序的第一步”。对于课程短期小项目,生命周期很短,是否也必须完整写单元测试?很多学生写课程作业直接跳过单元测试,单元测试的取舍边界是什么?哪些场景可以简化?哪些场景必须做?
问题 2:来自第6章 敏捷开发。原文:敏捷价值观 “个体和互动高于流程和工具”。敏捷开发高度依赖团队沟通与积极性,如果课程小组里面部分组员积极性低、摆烂,敏捷开发该如何落地?书本描述大多是理想团队,现实学生团队水平参差不齐该怎么处理?
问题 3:第9章 项目质量管理。书里说项目的时间、成本、质量三角约束。学生课程项目遭遇硬性工期压缩的时候,我们优先牺牲什么?学生作业和商业项目的取舍标准是否不一样?
问题 4:第13章 软件测试。书中介绍大量不同类型的测试。学生项目人手、时间有限,优先选择哪几类测试?很多测试条件学生项目无法满足,该如何取舍?
问题 5:第16章 创新。书的内容区分了不同层次创新,不只有颠覆性创新。大三学生做课程项目,大多是在现有软件基础上修改优化,如何区分普通模仿改造和真正的创新?如何避免把简单复刻包装成创新?
课程反馈选择:C:有问题就问,至少一学期提三个问题,认真按时填写反馈。
4.前车之鉴:
https://book.douban.com/subject/4006425/discussion/22803733/ 内容:ABCD 四象限时间管理:A 紧迫重要,B 重要不紧迫,C 紧迫不重要,D 不重要不紧迫。
感想:作为计科的学生,我阅读完文章之后很有感想,我也经常被各种临时任务占据精力,从而忽略了那些重要但不紧迫的事情,像是写博客、练习项目和读技术书籍。软件工程学习大多属于 B 类任务,不会立刻有回报,但是对求职非常关键,如果一直搁置,等到找实习的时候才会发现实践积累不足。之后我会尝试加强时间的管理,保证留有项目练习、博客输出的时间,不让自己被琐事推着走。
https://book.douban.com/subject/4006425/discussion/22803961/ 内容:科班出身,但感觉自己并没有真正懂计算机。
感想:这篇内容非常贴合我们计科学生的现状。上课听得懂,考试可以拿高分,但是动手做完整项目就无从下手。理论学得好不等于具备工程能力,课堂偏向理论,企业看重实践。计算机的学生不能满足于考试分数,要主动动手踩坑、复盘,把知识落地成代码与项目,不能纸上谈兵。
编辑页面:

GitHub地址:https://github.com/liuwenjun9/liuwenjun9/blob/main/README.md

浙公网安备 33010602011771号