第一周作业-随笔

软件工程第一次作业——自我介绍与课程规划

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/homework/15692
这个作业的目标 认识自己并为这门课后续的学习预热

自我介绍

我叫陈沐兰,目前就读于广东工业大学2024级计算机科学与技术6班。

我的性格比较内向,尤其是在陌生人面前话会比较少,有时候甚至会觉得有些尴尬。不过在熟人面前会放松一些。相比于主动表达自己,我可能更习惯先观察和思考。

我觉得自己有两个比较明显的特点,一个是容易拖延,另一个是做事比较认真。这两个特点听起来似乎有些矛盾,但它们确实同时存在。面对需要动脑思考的事情时,我经常会觉得“开始”是最困难的一步,因此容易拖延;但真正开始做之后,我又会愿意花比较长的时间去完成和解决问题。

平时最大的兴趣爱好是听音乐和刷一些关于小狗、小猫的视频。相比于比较刺激或者需要投入大量精力的娱乐方式,我更喜欢这些能够让我放松下来的事情。

为什么选择计算机专业

当初选择计算机科学与技术专业,一方面是因为在我的分数能够达到的专业中,计算机是我比较感兴趣的方向;另一方面也考虑到了就业前景。

现在几乎所有行业都离不开计算机,计算机技术已经融入生活和工作的很多方面,因此当时我认为计算机是一个发展空间比较大的专业。

上大学之前,我对计算机专业的想象其实比较简单。我想象中的程序员是坐在电脑前快速敲代码,解决各种问题,看起来非常酷。

真正进入大学开始学习之后,我发现现实和想象之间存在比较大的差距。现实更多时候是面对报错、理解代码、调试程序,以及反复思考为什么程序不能正常运行。

有时候甚至会觉得自己和代码“两看相厌”,我不熟悉它,它也不认识我。

直到现在,我对未来仍然有一些迷茫。我学习了数据结构、计算机网络等课程,也接触过C语言和Python,但很多知识对我来说仍然比较零散。我能够完成一些课程作业,也能够写一些程序,但是仍然不知道这些知识在真实的软件开发中是如何被组织和应用起来的。

我目前最大的困惑之一就是:自己现在学习的这些知识,未来到底能够应用在什么地方?

对自己的评价

我认为自己在学习计算机方面最大的优点是有一定的耐心。

遇到不会的问题时,我虽然比较依赖AI,但在不断提问的过程中,也慢慢学会了如何让AI更准确地理解自己的需求。

一开始遇到问题时,我可能只会简单地描述“代码为什么报错”,后来会尝试提供更多信息,例如具体的报错内容、程序的预期结果、实际结果以及自己已经尝试过的方法。虽然目前这种能力仍然比较有限,但我认为这也是一个逐渐学习如何描述和分析问题的过程。

与此同时,我也有比较明显的缺点。

首先是容易拖延。尤其是面对需要大量思考的任务时,我经常会觉得开始一件事情非常困难。

其次是缺少比较强的学习内驱力。我很少主动学习课程之外的内容,更多时候是在课程作业或者具体任务的推动下开始学习。

另外,我目前也比较依赖搜索和AI。遇到问题时,我通常会按照下面的顺序解决:

自己思考 → 搜索资料 → 询问AI → 询问同学 → 询问老师

一般情况下,我会自己研究大约两天左右,如果仍然没有结果,再尝试寻求帮助。

如果按照5分制评价自己的自主学习能力,我目前会给自己2分。原因是我认为自己最大的不足并不是完全无法学习,而是缺少主动开始和长期坚持的动力。

我目前的计算机学习情况

经过两年的学习,我已经学习过数据结构、计算机网络等课程,也接触过C语言和Python。

目前我最熟悉的编程语言是C语言。

不过,我对自己的评价并不算高。目前我最多能够做到阅读部分别人的代码,以及完成一些算法和课程相关的程序。

我还没有独立完成过一个完整的软件项目,因此对于一个项目从开始到结束究竟需要哪些技术、如何组织代码、如何设计项目结构,目前仍然没有比较清晰的认识。

目前我的学习状态主要有以下几个特点:

  • 学过不少课程,但是知识比较零散。
  • 学过数据结构、计算机网络等课程,但掌握得还不够深入。
  • 能够编写一些程序,但是完整项目经验不足。
  • 比较依赖搜索和AI。
  • 目前还没有特别明确的技术方向。
  • 对未来有一定的规划想法,但不知道具体应该如何实现。

我认为自己距离一个合格的软件工程师最大的差距,并不只是某一种编程语言掌握得不够,而是缺少将零散知识组织起来解决一个完整问题的能力。

我现在能够学习一个具体的知识点,也能够完成一个具体的功能,但是如果让我从零开始完成一个完整项目,我可能首先就会遇到一个问题:不知道应该从哪里开始。

技能调查与自我评价

根据目前自己的实际情况,我选择以下五项能力进行评价。评分范围为0~9分,其中0分表示完全不了解,分数越高表示掌握程度越高。

我的评分并不是为了证明自己目前有多强,而是希望通过这种方式明确自己目前的不足,并给课程结束时的学习设定一个比较具体的目标。

能力项 ①当前水平(0-9) ②课程结束目标水平(0-9) ③提升手段
代码质量与编程能力 4 7 继续使用C和Python完成实际功能;写代码时开始关注变量命名、函数职责和模块划分;完成代码后主动整理重复代码;定期回看以前写过的代码,尝试理解并修改;通过课程项目增加实际代码量。
验证深度与测试覆盖 3 7 不再只通过“输出是否符合预期”判断程序正确性;每完成一个功能都设计正常、边界和异常测试;学习单元测试的基本方法;记录出现过的Bug和解决过程;逐渐形成“先考虑测试,再实现功能”的习惯。
工程复现性与项目构建能力 3 7 在项目中主动编写README;记录运行环境和依赖;学习如何组织项目目录;完成项目后尝试在新的环境中重新运行;学习基本的依赖管理和项目配置方法,让项目不只是“我的电脑能运行”。
AI辅助开发与工具使用 3 6 使用AI之前先自己明确需求和思路;向AI提问时提供更完整的上下文;AI生成代码后先理解再使用;遇到报错先尝试自己分析;逐渐从“让AI告诉我怎么做”转变为“我确定要做什么,再让AI辅助实现”。
自主学习与解决问题能力 2 6 将大型任务拆分成小目标,降低开始学习的难度;遇到问题先自己思考和搜索,再询问AI;给自己设置一定的独立思考时间;通过课程项目形成持续学习的动力;减少因为“不知道从哪里开始”而产生的拖延。

我对软件工程课程的期待

我希望通过这门软件工程课程,重点提高自己的项目能力、测试能力以及合理使用AI进行开发的能力。

目前我最大的困惑之一是:我知道一些具体的知识和技术,但是不知道如何把它们组合起来完成一个完整的项目。

因此,我希望课程结束之后,自己能够具备搭建项目框架的能力。

这里所说的“搭建项目框架”,并不只是指创建几个文件夹或者写出一个目录结构,而是希望自己能够知道:

  • 一个项目需要解决什么问题。
  • 完成这个项目需要哪些技术。
  • 不同功能应该如何划分。
  • 项目应该从哪里开始。
  • 完成之后应该如何测试。
  • 如何逐步完善一个项目。

我希望最终能够完成一个由自己提供大致框架和需求,再通过合理使用AI辅助完成的项目。

我认为,这比单纯让AI直接生成一个完整项目更符合我目前的学习需求。

我理解的师生关系

我希望师生之间是一种双向的关系:老师认真教,学生认真学,双方都对自己的责任负责。老师应该把知识讲明白,及时指出学生的问题,提出明确的要求和标准,同时增加与学生的互动。作为学生,我也应该按时完成作业,主动思考,遇到问题先尝试自己解决,而不是过度依赖老师。老师负责引导和要求,学生负责行动和成长,双方都做好自己的部分,才能形成真正有效的师生关系。

我如何看待参考、借鉴、AI和抄袭

我认为,在自己无法实现某个需求时,可以参考别人的代码。

软件开发本身也并不是所有代码都必须从零开始编写。学习别人的代码、阅读开源项目、参考已有的解决方案,都可以帮助我们学习新的思路。

但是参考并不等于直接复制。

如果修改别人的代码之后进行提交,我认为应该明确标示出处。

我认为使用AI也是类似的道理。

AI可以帮助我们分析问题、提供思路和辅助编写代码,但是如果完全不了解代码的作用,只是复制之后提交,那么这样的代码即使能够运行,也不代表自己真正掌握了相关能力。

因此,我希望自己在后续的学习中能够逐渐形成这样的方式:

先明确自己的需求和项目结构,再使用AI辅助解决具体问题,同时理解AI生成的代码在做什么。

未来方向

目前我还没有明确的技术方向。

我知道自己学习过C语言、Python、数据结构和计算机网络等内容,但暂时还不能确定自己未来更适合或者更喜欢哪个方向。

我认为自己目前还处于探索阶段。

相比于现在立刻确定一个非常具体的职业方向,我更希望先通过软件工程课程完成一个相对完整的项目,了解真实的软件开发过程,然后再逐渐判断自己更适合什么方向。

我目前最大的困惑仍然是:

不知道自己现在学习的知识应该如何真正应用,也不知道未来应该继续深入基础知识,还是尽快开始进行完整的项目实践。

本课程的学习目标

通过本课程,我希望重点提高以下几个方面的能力。

第一,提高项目能力。

希望自己能够理解一个项目从需求到实现的大致过程,并且能够搭建一个基本的项目框架。

第二,提高测试能力。

希望不再只是通过“看输出结果是否正确”判断程序是否正确,而是能够主动设计测试数据,考虑边界情况和异常情况。

第三,提高AI辅助开发能力。

我希望学习如何更加合理地使用AI,而不是完全依赖AI。

理想的情况是,我能够自己提出需求和整体框架,再使用AI辅助完成具体的功能和问题分析。

第四,完成一个相对完整的项目。

目前我还没有独立完成过完整项目,因此课程结束时,我希望能够完成一个由自己设计大致框架、自己理解项目结构,并通过AI辅助完成的项目。

代码量目标

目前我估计自己已经编写的有效代码量大约为600行。

课程结束之后,我希望能够新增约2000行有效代码。

代码量本身并不能完全代表编程能力,但对我来说,这个目标更多是希望通过实际完成更多功能和项目,积累真实的编程和项目经验。

这是我的仓库链接https://github.com/mangnolia913/magnoliia913

image

posted @ 2026-09-06 17:05  cc0913  阅读(5)  评论(0)    收藏  举报