这个作业属于哪个课程 | 2302软件工程 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 提前注册优快云;加入班级社区;提前学习markdown语法;阅读《构建之法》;撰写博客 |
其他参考文献 | Markdown菜鸟教程、优快云 |
目录
一、准备工作
1.1 git上传过程截图
1.2 仓库地址
上传成功后的仓库截图:
二、回首过去
2.1 当初你为什么选择软件工程这个专业?
就我个人而言的话,与软件工程这个专业的相遇也是一种偶然。随着互联网环境的飞速发展,计算机相关的专业无疑是当年的热门专业。而我自己本身对未来想从事的职业也还没有太多的想法,之后查阅了网上的信息加上亲戚朋友的建议,觉得软件行业在未来的世界中所扮演的角色会越来越重要,未来就业前景也很广阔。而且就业上也更加看重技术而非学校背景。
于是在几个计算机相关的专业中抉择,在志愿上依次填了计算机科学与技术、大数据科学与技术、软件工程,但两个专业都没能上,最终就来到了软件工程。
2.2 当初对软件工程这个专业的期待和想象是什么?
当初觉得软件工程这个专业未来的就业前景十分广阔,这个领域的对人才的需求非常大,拥有很多的就业机会和发展方向,能够拥有常人口中坐在办公室工作的“体面”生活。
在当初的我看来,程序员都是很厉害的存在。能够创造出各种各样的APP,选择成为程序员就选择了光明的未来,能够独立地开发各种软件,掌握未来世界的命脉。还能够赚的盆钵体满,然后过上轻松自在地退休生活。
我希望未来自己也能够通过软件工程这个专业的学习,培养出优秀的发现问题和解决问题的能力,能够培养自己探索世界的能力。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
当初刚上大一的时候还不太适应大学生活,之前也从未接触过编程,所以还是希望自己好好学习专业基础知识。晚自习时就拿着C语言那厚厚的一本书像读高中课本一样硬啃,但是自己当时对这门语言理解很浅,加上实际上机也很少,读了几十页发现和没读差不多,挺打击自信心的。
大一上的时候还尝试过加入西二在线工作室,这是当初立下的最大的一个flag,不过还是由于当初对编程语言了解太少,基本上代码都是东拼西凑,也不知道自己到底写了什么东西,稀里糊涂地就交了上去,也很遗憾最后没能坚持下来。
大一的时候其实还立了很多的flag,不过后来就老油条了hhh。
三、立足当下
个人简历 | ||
昵称 | 222100122洪冠诚 | ![]() |
出生年月 | 2002年10月 | |
籍贯 | 福建厦门 | |
邮箱 | 1749832743@qq.com | |
兴趣爱好 | 跑步、阅读、听音乐 | |
特长 | 游泳、乒乓球、中国象棋 | |
成果和获奖经历 | ||
2022年 | 福州大学数学竞赛校一等奖 | |
2022年 | 全国大学生数学竞赛省一等奖 | |
2022年 | 福州大学综合奖学金一等奖 | |
2023年 | 全国大学生数学建模竞赛省三等奖 | |
专业水平 | ||
掌握的编程语言 | C、C++、Java、HTML、CSS、JavaScript、PHP、Python、ArkTS | |
技术框架 | Yii2.0、Pytorch、Bootstrap、ArkUI | |
开发软件 | Visual Studio Code、Visual Studio 2022、IntelliJ IDEA、Pycharm、DevEco Studio | |
累计代码量 | 15k+行 | |
项目经历 | ||
基于Yii2.0的博客系统 | 使用基于Yii2.0的框架,配合前端语言html,css,javascript以及php进行开发的个人博客系统。除了文章管理、用户管理、评论管理、标签云等基础功能外,还增加了Markdown 格式存储与编辑、完善后台RBAC管理功能、添加附件管理功能、后台添加Dashboard界面图形化组件显示系统统计信息,并使用bootstrap前端框架美化用户界面。 | |
基于ResNet的稻米品种识别系统 | 本项目通过Pytorch框架构建ResNet神经网络模型,对不同类别的稻米图像进行识别。项目中引入了BN层进行归一化处理和残差连接设计,使得模型在处理图像数据时具有更高的稳定性和准确性,提高了模型的泛化能力。此外,残差连接设计还解决了深度神经网络中的梯度消失和爆炸问题,使得网络可以进行更深层次的训练。在测试集上达到的平均准确度为99.4%。 |
四、展望未来
4.1 阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考
A1:我认为这不能一概而论,代码量与个人的编码能力之间的关系并不是绝对的。有的人能力比较强的话,写了一万行“有效”的代码也可能会强于写了三万行“灌水代码”的程序员。
更重要的是,我们不应该仅仅以代码量来评价一个程序员的“好坏”,我们更应该关注的是,这个程序员能为公司创造的价值,为业务带来的影响,看重的更应该是代码质量而非代码数量。
但一般来说,编程能力的确是会随着代码量的上升而提示,代码量能够一定程度上反映编程能力。
Q2:学完了这些理论知识后很久的一段时间都用不上,那么学习那么多的理论知识还有没有用呢,在理论知识和实践知识的方面我们又该怎么权衡呢?
A2:首先,理论知识与实践知识对于一名软件工程师的发展是非常重要的,它们应该是相辅相成、互相促进的,不应该是割裂开来的关系。
理论知识是我们的基础和指南,通过深入学习,我们可以不断丰富自己的知识储备,帮助我们分析和理解问题,看清事物的本质,理解其内在的运行规律。从而提高我们的工作效率。
而通过实践,我们能够将理论知识转化为实践经验,从而提高我们的技能和能力。
但是由于我们每天的时间都是有限的,面对浩如烟海的理论知识,我们应该有所取舍,对于重点的理论知识,应该要更多地进行实践辅助理解。与此同时,为了与工作做到更好的接轨,也需要在闲暇时间多掌握一些实践技能。
Q3:大模型+CoPilot 会成为银弹,还是阻碍了初级程序员的成长?
A3:大模型+CoPilot 对于初级程序员的影响是多方面的。
从积极的一面来说,它在某些时候可以帮助初级程序员提高编程效率,也能很好地提供代码补全和建议功能,有时候也可以帮忙debug并提供编程的思路,可以一定程度上减轻编程的负担。
从另一方面来说,大模型+CoPilot 并不能完全理解编程的目的和意义,有时候可能会给出无效的结果,反而会拖慢开发的节奏。对于一些大型项目,如果要处理一个模块的bug或者实现一个小模块,需要理解项目的内在逻辑关系和模块关系,在这种情况下,人与人的交流有时候会比大模型+CoPilot更有效。
Q4:如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢?
A4:我认为想要做一个永不落伍的开发者,最重要的就是保持终身学习。计算机和软件的发展变革是很快的,想要不被快速发展的新技术淘汰就需要保持终身学习的习惯。要有探索先进技术的进取心,保证自己跟得上软件工程发展的潮流。对新技术新方法保持热爱与热情,但是不要盲目去追求新的技术,因为新出的语言可能存在一些问题,但是多数底层原理都是一样的,可以先吃透一门语言,先走深再走广。
Q5:想从事软件开发的大学生是去企业实习成长更快还是在学校实验室实习成长更快呢?
A5:这个问题的答案我认为因人而异,因为每个人的情况都是不一样的。
企业实习:在企业实习我们可以接触到实际的工作环境,了解软件开发的全过程。我们有机会参与真实的软件开发项目中,这会让我们对软件开发有更深的理解。还可以学习到更多的团队协作、项目管理方面的知识。
学校实验室实习:在学校实验室实习,我们可以在导师的指导下深入研究某个领域,这会对我们未来想走科研学术道路的同学有所帮助,有更多的时间和机会去提高研究问题、解决问题的能力。
4.2 你未来的职业规划是什么?
对于未来的职业规划,目前的计划是先通过保研或者考研继续攻读研究生学位,毕竟现在互联网的就业环境不太乐观,想通过进一步深造来增长自己的知识,脱离“低级软件工程师”,也希望能借读研进一步提高自己分析问题、解决问题的能力,并且积累经验,进一步提高自己的编程实践能力。如果读完研究生仍有读博的意向的话就继续攻读博士学位。如果不读博士的话也许会选择进企业工作,或者选调和考公。
4.3 对于软件工程实践课程,你有什么理解和期望?
对于软件工程实践这门课,我想会是大三下一次重要的实践和挑战,我认为这门课非常具有实践性,并且对团队协作有比较高的要求。我们可以亲身体验开发软件的各个阶段,自己完成一个项目。也很期待能够学习到一些新的知识,学习团队中其它同学的优点和特长。
我希望通过软件工程课程,能够学习到更多一些后端开发的技术。或者说对已经学过的技术,比如java语言,拥有更进一步的学习和理解,让自己的代码更加规范,锻炼自己的编程思维,进一步提高自己的编程能力。
同时也希望老师助教可以不拘泥于课内的知识,适当地进行一定的拓展,开阔视野,多多介绍一些实用的开发技巧和前沿的技术知识。也希望能和老师助教多多交流。期末复习课的时候也希望能划划重点。