软件工程实践寒假作业

222100426郑铭伟 2024-02-15 14:30:58
这个作业属于哪个课程202302软件工程
这个作业要求在哪里寒假作业要求
这个作业的目标学习markdown语法,做好准备 回首过去、展望未来并规划自己的学习路线
其他参考文献《构建之法》等

目录

  • 1.准备工作
  • 2.回首过去
  • 2.1 当初你为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
  • 3.立足当下
  • 4.展望未来
  • 4.1阅读《构建之法》,并思考该社区中前人提出的问题。
  • 4.2你未来的职业规划是什么?
  • 4.3对于软件工程实践课程,你有什么理解和期望?
  • 5.思维导图和学习路线
  • 5.1思维导图
  • 5.2学习路线

1.准备工作

仓库地址

img

img

2.回首过去

2.1 当初你为什么选择软件工程这个专业?

我选择软件工程专业首先是受身边的人的影响,我的一些亲戚在从事软件开发的工作,令我觉得软件工程很有"钱途"。其次是因为对计算机科学和编程方面的兴趣。我喜欢通过编写代码来解决问题和创造新的东西。另外,软件工程领域的迅速发展和广泛应用也让我觉得这是一个具有挑战性和前景广阔的领域。我相信在这个领域学习和工作能够不断地学到新知识,不断地挑战自己,同时也能够为社会做出有意义的贡献。

img

2.2 当初对软件工程这个专业的期待和想象是什么?

当初选择软件工程专业时,我对这个专业有一些期待和想象。首先,我期待能够学习到计算机科学的核心知识,包括数据结构、算法、编程语言等,从而建立起扎实的基础。我想象自己能够通过学习软件工程,掌握现代软件开发的最佳实践和流程,包括需求分析、设计、开发、测试和部署等方面的技能。
另外,我希望能够在学习过程中参与到一些项目中,通过团队合作来实践所学知识,并且从中获得实际经验。我想象自己能够通过参与项目,不断地提升自己的编程能力和解决问题的能力,同时也能够学习到团队合作和沟通的技巧。

2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

当初我希望能够全身心投入到软件工程专业的学习中。为此,我做了一些准备和设定了一些FLAG。首先,我花了一些时间提升自己的编程技能,包括学习一门或多门编程语言,以及学习常见的数据结构和算法。
另外,我设定了一些FLAG,例如每天刷算法题、参加并且在项目中发挥重要作用、参加相关的比赛或活动等。我希望通过不断地挑战自己,提升自己的能力,并且在学习过程中建立起自己的信心和自豪感。

3.立足当下

个人简历
头像

img

昵称極衢
兴趣爱好音乐、游戏、模型、棋牌
特长剪辑、PPT、图表制作
当前值
成果或获奖经历2022-2023学年第二学期学习进步奖
服务外包校赛三等奖
专业水平
编程语言C、C++、Java、HTML、CSS、JavaScript、PHP等
技术框架Yii2.0、spring boot、flutter等
开发软件Visual Studio Code、Visual Studio、IntelliJ IDEA、DevEco Studio等
累积的代码量2w+
项目经历
临期物品提醒助手app基于flutter框架的提醒助手。该软件会令用户输入自己物品的信息,然后根据物品的类别在合适的时间给用户推送物品将要过期的信息。并提供可视化的图表令用户可以看到自己所有物品的信息。
基于Yii2.0的博客系统基于Yii2.0框架的博客系统。该系统为用户提供一个完整的博客解决方案,包括了后台的用户管理、文章管理、评论管理、权限管理、文章搜索和图表展示等方面。以及前台文章、评论的发表与展示。
炮打飞机小游戏用c#编写的简单小游戏,用户控制大炮的角度和方向来打到不断刷新的飞机。

4.展望未来

4.1阅读《构建之法》,并思考该社区中前人提出的问题。

Q1:在项目或程序比较复杂的情况下,如何高效率的进行程序理解?

A1:在处理复杂项目或程序时,高效地理解程序是非常重要的。以下是我在软件工程学习中所采用的一些方法:
    分解与组织: 首先,我会尝试将程序分解为较小的模块或功能单元。通过这种方式,我可以更容易地专注于每个部分,并逐步理解整个程序的工作原理。此外,我会尝试将代码逻辑组织得清晰易读,使用合适的命名规范和注释,以便他人和自己更容易理解代码。
    阅读文档与注释: 如果项目有文档或者注释,我会优先阅读这些信息,以了解程序的设计思路、功能和约束条件。文档和注释通常提供了关键的上下文信息,有助于理解代码的目的和意图。
    调试与测试: 我会使用调试工具逐步执行程序,并观察其行为。通过在代码中插入断点、观察变量的值以及跟踪函数调用,我可以更清晰地了解程序的执行流程和数据变化。此外,编写单元测试和集成测试也是一种验证程序行为和理解程序逻辑的有效方式。
    画图与模型: 有时,我会尝试使用图表、流程图或者其他可视化工具来展现程序的结构和流程。通过绘制类图、时序图、流程图等,我可以更直观地理解程序的组织结构和数据流动,帮助我深入理解程序的运作方式。
    寻求帮助与讨论: 最后,如果遇到特别困难或者理解不清楚的地方,我会毫不犹豫地向同学、教授或者网络社区寻求帮助。与他人讨论和交流,可以帮助我从不同的角度思考问题,发现自己未曾考虑到的解决方法,加速程序理解的过程。

Q2:AI辅助编程,是一个银弹么?

A2:AI辅助编程在某些方面可以说是一种有潜力的技术,但并不是银弹。以下是我对这个问题的看法:
    提高效率: AI辅助编程工具可以帮助开发人员提高编码效率,例如自动完成、代码纠错、代码生成等功能,能够减少开发过程中的重复劳动和错误。
    降低门槛: 对于初学者来说,AI辅助编程工具可能会降低学习编程的门槛,通过智能建议和提示,帮助他们更快地理解和掌握编程知识。
    增强创造力: 有些AI辅助编程工具具有创造性的功能,能够生成新的代码片段或者提供创意性的解决方案,这有助于开发人员在设计和实现上有更多的灵感和选择。
AI辅助编程可以提高开发效率和降低学习门槛,但并不是解决所有问题的银弹,开发人员仍然需要保持对编程基础知识的掌握,并审慎使用AI辅助工具。

Q3:花费时间越多,代表工作量越高吗?

A3:花费时间多并不一定代表工作量就越高。工作量的多少与时间的长短之间并不是简单的线性关系。有时候,工作量可能较小,但由于一些外部因素(如技术难度、沟通成本、团队协作等)导致花费的时间较长。相反,有些任务可能工作量很大,但由于熟练掌握了技能、使用了有效的工具和方法,花费的时间反而较少。
    因此,对于一个软件工程专业的大学生来说,重要的不仅是花费多少时间,更重要的是如何有效地管理时间和工作量。这包括合理安排任务的优先级、学会使用高效的工具和方法、提升自己的技能水平等。通过这些方式,可以在相对较少的时间内完成更多的工作,提高工作效率和质量。

Q4:代码量与个人的编码能力有直接关系吗?

A4:代码量并不直接决定个人的编码能力。编码能力更多地与代码的质量、效率、可维护性以及解决问题的能力有关,而不仅仅是代码的数量。
    一个编码能力强的人可能会写出简洁高效、结构清晰、易于理解和维护的代码,即使代码量较少。相反,一个编码能力较弱的人可能会写出冗长、混乱、难以理解和维护的代码,即使代码量较大。
    因此,在评估一个人的编码能力时,应该综合考虑多个因素,包括代码的质量、效率、规范性、可读性、可维护性等,而不仅仅是代码的数量。

Q5:通过代码交流是否优于直接交流,能够避免双方各司其职的情况吗?

A5:通过代码交流和直接交流各有其优点和局限性,不能一概而论哪种方式更优。以下是我对这个问题的看法:
代码交流的优点:
    1.代码是一种具体的表达方式,可以清晰地展示思路和实现方式,避免了语言交流中可能存在的歧义和误解。
    2.通过代码交流,可以更加深入地讨论技术细节,避免了对抽象概念和流程的描述,使得讨论更加具体和有效。
    3.代码交流可以留下记录,便于后续查阅和理解,特别是在团队协作和跨时区工作的情况下更为重要。
直接交流的优点:
    1.直接交流更加即时和灵活,可以快速解决问题,尤其是在紧急情况下。
    2.直接交流能够更好地传达情感和语气,有助于建立良好的团队氛围和合作关系。
    3.通过面对面交流,可以更容易地就问题进行深入讨论,并及时解决可能存在的误解和分歧。

img

4.2你未来的职业规划是什么?

    作为一名软件工程专业的大学生,我的未来职业规划是成为一名优秀的软件工程师。首先是要考研,不断学习新的东西。我希望能够在软件开发领域获得扎实的技术基础,不断提升自己的编程能力和解决问题的能力。我计划在工作中积累丰富的实践经验,参与各种类型的项目,从而不断提高自己的技术水平和专业素养。
    除了技术方面,我也希望能够在团队合作、项目管理和沟通协调等方面发展自己的能力。我认为良好的团队合作和沟通能力对于软件工程师来说同样重要,可以帮助我们更好地理解用户需求、协调团队资源、解决问题,并且保证项目顺利完成。
    在未来,我还希望能够不断学习和拓展自己的技术视野,关注行业的最新动态和发展趋势。我愿意积极参与技术社区和行业活动,与同行交流学习,分享自己的经验和见解。通过持续学习和实践,我期待能够在软件工程领域不断成长。

4.3对于软件工程实践课程,你有什么理解和期望?

对于软件工程实践课程,我有以下理解和期望:
    理解: 我理解软件工程实践课程是为了让学生在实际项目中应用所学的软件工程知识和技能,通过实践提升自己的实际操作能力和团队协作能力。这些课程通常会模拟真实的软件开发环境,让学生在团队中合作完成一个完整的软件项目,从需求分析、设计、开发到测试和部署等各个阶段都会有所涉及。
    期望: 我期待能够掌握流行的开发语言和框架,例如前端方面的Vue.js,后端方面的Python、Spring Boot等。此外,我也希望学习到软件工程中的最佳实践和工具,如版本控制、测试驱动开发、持续集成等,以提高自己的开发效率和代码质量。
    我期望通过软件工程实践课程,能够学到更多实际项目开发的经验和技巧,了解团队合作的重要性,培养解决实际问题的能力。我希望能够在课程中与同学们共同合作,学习如何有效地分工合作、沟通协调,以及如何在项目中解决遇到的各种挑战和问题。此外,我也期待通过实践项目,进一步巩固和应用课堂上学到的软件工程理论知识,加深对软件开发流程和规范的理解。
    对于老师助教,我希望他们能够提供清晰的课程教学目标和要求,让我们明确知道课程的学习重点和目标。给予及时有效的反馈和指导,帮助我们及时发现和解决问题,提高学习效率。在课程中注重实践和应用,引导我们通过实际项目学习和掌握软件工程的实践技能。对于困难和问题,能够耐心解答和指导,为我们提供必要的支持和帮助,促进我们的学习和成长。
    总的来说,我希望软件工程实践课程能够为我提供一个真实的软件开发环境,让我在实践中不断成长和提升,为将来的职业生涯做好准备。

5.思维导图和学习路线

5.1思维导图

img

5.2学习路线

img

...全文
151 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧