从零到一

从零到一:技术梦想的实现之路

引言

在这个充满挑战与机遇的学期里,我们一同经历了软件工程的洗礼,从理论到实践,从个人到团队,每一步都留下了深刻的印记。现在,让我们一同回顾这段旅程,总结收获,展望未来。

一、学期回顾

1.1 回顾你对于软件工程课程的想象

在学期开始之前,我对软件工程的想象是充满了代码、逻辑和架构的世界。我以为它会是一段枯燥的编程旅程。然而,随着课程的深入,我逐渐发现软件工程不仅仅是编程,它更是一种团队协作、项目管理和问题解决的艺术。我希望这门课程能够教会我如何成为一名优秀的软件工程师,不仅仅是技术上的,更是在团队合作和项目管理上。

1.2 回顾你在这门课程中的投入与产出

在软工实践课程中,我编写了超过1000行代码,这些代码见证了我从初学者到能够独立完成项目的转变。在团队项目“世界第一大厨”中,我承担了前端开发的角色,负责实现用户界面和用户体验的设计。这个过程中,我学会了如何将设计转化为实际的界面,如何与后端开发者沟通,以及如何优化用户体验。

软工实践的各次作业分别花费的时间:

作业 花费时间
第一次个人作业 5小时
第二次个人作业 20小时
第一次结对作业 10小时
第二次结对作业 30小时
第一次团队作业 40小时
第二次团队作业 50小时
现场编程作业 5小时
团队作业beta冲刺 60小时

在软件工程课程上花费的时间

累计时间:210小时
实际周均时间:23.3小时
预计周均时间:20小时

1.3 令你印象最深刻的是哪一次作业或哪一场答辩?为什么这次作业或这场答辩令你印象深刻?

最令我印象深刻的是第二次个人作业。在这次作业中,我需要设计并实现一个简单的小游戏。这个任务不仅考验了我的编程能力,还考验了我的创造力和问题解决能力。我选择了使用 pgzero 框架来开发游戏,这是一个我之前未曾接触过的技术栈,因此学习曲线相当陡峭。

在开发过程中,我遇到了许多挑战,比如游戏逻辑的设计、用户界面的实现以及游戏性能的优化。我需要不断地调试代码,寻找资料,甚至在论坛上求助,最终克服了这些困难。当游戏最终运行起来,并且能够流畅地玩时,那种成就感是无与伦比的。这次作业让我深刻体会到了软件开发过程中的挑战与乐趣,也让我认识到了自我学习和解决问题的重要性。

1.4 个人作业的挑战与成长

第二次个人作业不仅仅是一个编程任务,它更是一次全面的技术挑战。我需要从零开始学习 pgzero 框架,理解其工作原理,并将这些知识应用到实际的游戏开发中。这个过程让我深刻理解了学习新技术的过程,也让我学会了如何快速适应新技术并将其应用于实际问题解决中。

在游戏设计方面,我需要考虑如何吸引用户,如何使游戏玩法简单而有趣,以及如何通过视觉和声音效果增强游戏体验。这些考虑让我对用户体验有了更深的认识,也让我学会了如何从用户的角度出发设计软件。
image

1.5 团队项目的协作与挑战

在团队项目中,我参与了“世界第一大厨”的设计与开发。在这个项目中,我负责前端开发,这意味着我需要与后端开发者紧密合作,确保前后端的无缝对接。我们使用 Git 进行版本控制,通过 Jira 跟踪项目进度和任务分配。这些工具的使用让我深刻体会到了团队协作的重要性,也让我学会了如何在团队中有效沟通和协作。

在团队项目中,我们也遇到了一些挑战,比如需求变更、技术难题和时间管理问题。我们通过定期会议和即时沟通来解决这些问题。这些经历让我学会了如何在团队中提出问题、讨论问题并找到解决方案。
image

1.6 现场编程作业的压力与应对

现场编程作业是一次特殊的体验。在有限的时间内,我们需要完成指定的编程任务。这种高压的环境考验了我们的编程速度和问题解决能力。在这个过程中,我学会了如何在压力下保持冷静,如何快速定位问题并找到解决方案。

1.7 团队作业beta冲刺的紧张与成果

团队作业beta冲刺是一次紧张而充实的经历。在这个阶段,我们需要完善项目功能,解决alpha冲刺中遗留的问题,并通过发布会的形式展示项目的特色功能。这个阶段的工作量巨大,我们需要在短时间内完成大量的工作。我们通过分工合作,每个人都承担了各自的任务,并定期汇报进度。这个过程让我深刻体会到了团队合作的力量,也让我学会了如何在紧张的工作环境中保持效率。

1.8 学期中的技术探索与创新

在这一学期中,我们不仅学习了软件工程的基础知识,还探索了许多新技术和工具。我们尝试了不同的编程语言和框架,学习了不同的开发方法和最佳实践。这些技术探索让我对软件工程有了更全面的认识,也激发了我对技术创新的热情。

1.9 学期中的反思与自我提升

在这一学期的学习中,我也进行了深刻的反思。我意识到,作为一名软件工程师,不仅要有扎实的技术基础,还要有良好的沟通能力和团队合作精神。我学会了如何从失败中吸取教训,如何从成功中总结经验。这些反思让我在技术和个人素质上都有了显著的提升。

1.10 学期中的友谊与团队精神

在这一学期中,我结识了许多志同道合的朋友。我们一起学习,一起讨论,一起解决问题。这些经历让我们的友谊更加深厚,也让我们的团队精神更加强烈。我相信,这些友谊和团队精神将伴随我走过未来的学习和职业生涯。

二、总结收获

2.1 展开说说你的软工实践故事

在个人编程作业中,我学会了如何独立分析问题和解决问题。在结对编程中,我学会了如何与他人沟通和协作,共同推进项目进展。在现场编程中,我锻炼了在压力下快速编写代码的能力。而在团队项目中,我深刻体会到了分工合作的重要性和团队精神的力量。

2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?

当然,以下是我从软件工程课程中学到的新技术和工具,以及它们对我的帮助:

  1. AIGC技术(人工智能生成内容)

    • 在个人logo设计任务中,我尝试了Craiyon等AIGC工具来创造小狗Logo。这些工具让我快速实现了创意视觉设计,提高了设计的效率和质量,让我体验到了AI在艺术创作中的潜力。
      image
  2. 版本控制工具Git和平台GitHub

    • 我学会了使用Git和GitHub进行代码版本控制和多人协作开发。这些工具让我的代码管理变得更加有序,提高了项目管理的效率和代码的安全性。
      image
  3. Pyzero框架

    • 在第二次个人作业中,我使用pyzero框架开发了“喵了个咪”游戏。Pyzero简化了游戏逻辑和界面设计的实现过程,锻炼了我在游戏开发方面的实践能力。
      image
  4. 墨刀原型设计工具

    • 在HiMate学生协作平台原型设计中,我使用了墨刀作为原型设计工具。墨刀让我和团队成员能够实时协作,快速搭建出接近真实应用的界面,提升了原型设计的效率和质量。
      image
      image
  5. Flutter框架

    • 在结对作业中,我和队友使用Flutter框架进行应用的界面设计和开发。Flutter的跨平台开发能力让我能够一次性编写代码,同时在iOS和Android平台上运行,大大节省了开发时间和成本。
      imageimage
  6. 自动化测试工具

    • 我进行了前端单元测试,确保代码质量和功能正确性。自动化测试工具如package:test帮助我在开发过程中及时发现和修复问题,提高了软件的稳定性和可靠性。

通过学习这些新技术和工具,我不仅提升了自己在软件开发、项目管理和团队协作方面的能力,还为将来的学习和工作打下了坚实的基础。这些技术和工具的应用,无疑将对我的未来职业生涯产生积极的影响。

2.3 技术之外,这门课程还给你带来了哪些方面的提升?

  • 沟通能力:在团队项目中,我学会了如何更有效地与队友沟通。
  • 时间管理:通过项目管理,我学会了如何合理分配时间,提高工作效率。
  • 解决问题的能力:在面对技术难题时,我学会了如何冷静分析和解决问题。

2.4 如果还有什么想记录的或者想说的,就写在这儿吧!

这门课程让我深刻体会到了软件工程的魅力,不仅仅是编码,更多的是关于如何将一个想法转化为实际的产品。这个过程充满了挑战,但也充满了乐趣。我相信这些经验将对我的未来职业生涯产生深远的影响。

三、致谢

特别感谢我的队友们,尤其是在团队作业beta冲刺中,我们一起度过了许多难忘的时光。感谢你们的耐心和支持,没有你们,我们不可能完成这个项目。特别感谢我们的TA,你们在技术上的指导和生活上的关心,让我们在学习和生活中都受益匪浅。
image

posted on 2024-12-30 14:26  102202107  阅读(13)  评论(0编辑  收藏  举报