软件工程开课感触

一、自我介绍
我是石家庄铁道大学软件工程系的一名学生,现已大二年级,来到软件工程学习已有半年多。我对代码有一种莫名的亲密感,对新鲜事物有着强烈的学习欲望,和大多数程序员一样,我也秉持着代码改变世界的美好愿望,坚信自己手中一定会有奇迹出现。

在软件工程的半年的学习中,我学到了很多东西,从大一初识C语言、C++、 C#的简单编程阶段,提升到了软件的开发与设计阶段,在大二的半年生活中,我经可以自主使用java语言设计并开发出一套完整的mis系统,并实现其在云端的部署;我学会了python语言的基本用法,并学习了当前比较流行的tensorflow深度学习框架的基本用法,了解了当下主流的一些神经网络的原理和结构,并且可以使用这些知识搭建并训练出自己的神经网络模型;在今年寒假期间,我还学习了Android开发,已经能够开发出界面友好且实用的“互联网+ ”app。

能在短短半年中学到这么多基本的技能,我觉得与我对专业的热爱还有自己比较强的学习能力是分不开的。对专业的热爱帮助我不断的开拓未知的知识世界,而自学能力更是帮助我不断的吸收知识。我的自学能力并不是与生俱来,坦白说我并没有多么强的天赋,能够达到现在的水平,很大一部分程度是因为上大学之后不断的阅读与实践,阅读扩充理论,实践提高技能,两者的结合最终让我不断的提高自己。

二、现状、经验与计划

(1)在这个技能调查表中,我选取了几项我认为对我特别重要的技能。

  · 语言:java和python,在大学期间,我更希望去培养自己的网站后台和机器学习的水平。

    1)目前的水平:对于这两种语言,我目前还处于应用阶段,对其核心机制并没有过多的了解,对于其进阶和高级的部分更是掌握的一塌糊涂。

    2)我希望课程结束后达到:至少掌握两种语言的基础水平,能熟练掌握两种语言中的细节部分,理解相似原理或相似类的不同,并且能熟练的应用这两种语言实现生活中最基本的需求应用

    3)我的计划:实战是掌握一门语言最重要的途径,日常的编码工作就是我提升该能力最主要的计划

  · 软件实现:提高阅读代码以及软件实现的能力是就业最重要的基础

    1)目前的水平:我可以读懂他人规范的代码,并在其代码的基础上进行改进。我具备自己实现简单系统和APP的能力,我可以通过调试等操作自主解决代码中出现的大部分bug,对于部分难以理解的问题,也可以通过查找资料等途径解决。

    2)我希望课程结束后达到:对于极不规范的代码,我也能大致理解其思路,并针对其中的问题给出解决方案。对于我自己开发的软件,能在添加新功能的基础上不影响其原来的功能。

    3)我的计划:在课程之余,我会试着去阅读身边人的代码,并且在完成课程任务之后,去网上查找其他人对于该问题的实现方法,比较其与自己实现思想的区别,并分析各自的优缺点,然后改进自己或他人的代码

  · 效能分析:当前时代人们对软件效率和质量的要求越来越高,学会效能分析也是软件工程专业的基本技能,懂得分析才能懂得改进

    1)目前的水平:我只能通过在代码中嵌入一些时间变量,通过打印时间差来判断执行力,有时也会通过分析其时间空间复杂度来判断代码质量。

    2)我希望课程结束后达到:能够使用一些工具对软件的效能进行测量分析,并通过分析结果进行改进

    3)我的计划:查找相关资料,掌握软件效能测量分析工具及其使用方法,对于以后所有开发的软件,均使用该工具进行实际测试,整理分析报告。

  · 需求分析:需求分析是一个软件工程师必不可少的能力,一方面它可以帮助程序员去创新,另一方面懂得需求分析才能设计出有用户的软件产品。

    1)目前的水平:目前我并不懂得专业的需求分析套路,而且制作出的软件也只有自己的家人在使用(计算器APP,家庭记账本APP),并没有对自己实际做出来的东西进行推广,而且我本以为是创新的东西在多方查阅后发现早已有人应用,所以也不算是有创新点。

    2)我希望课程结束后达到:能通过合理的需求分析判断软件产品的价值,并且能在自己的产品中加入创新点,在本课程结束后开发出有用户的软件产品

    3)我的计划:查找阅读软件需求分析报告,理解专业软件工程师需求分析的思想,拓展自己的视野,简单了解当下热门或者新兴技术,为创新点的设计积累足够的素材与知识。同时要“吃自己的狗食”,使用自己开发的所有软件,并从身边的人开始推广自己的软件。

  · 团队协作:学会团队协作是一个程序员的基本素养

    1)目前的水平:目前为止只进行过两个完整的项目,在团队工作过程中,我会通过查询各种资料,结合当前社会的主流趋势,以及我的解决方案的优势以及特点,来说服我的同伴采用我的观点。同时,我也会听取他们的观点,仔细对比和自己有出入的地方,经过认真的商讨后决定最后的解决方案。

    2)我希望课程结束后达到:能和自己团队里的同伴互帮互助,大学期间的团队和以后就业的团队还是略有不同,大学期间的主要目的是增强自身能力,提高自己,和同伴互助,学会取长补短,并且发现并学习别人身上的闪光点,能做到团结队伍,互利共赢,是我这学期的目标。

    3)我的计划:经常参加团队工作,在实际的活动中锻炼自己。

  · 自我管理:对于任何一个职业,自我管理都是优秀的品质

    对于这一方面,我感觉自己做的还算可以,唯一需要改进的地方就是增强活动的目的性,规范自己的行为,合理规划学习和生活安排,除了学习中的自我管理,还需要实现各方面的自我管理。

(2)心得

  a)参加并且认真学习课程是为了提高自己,而不是为了应付老师。大学是和就业离得最近的学习阶段,它和以往12年学业都不同,以往考试考不好,顶多就是被批评,可是大学如果不努力提高自己,面临的不是老师的抛弃,而是社会的抛弃

  b)在大学中,我体验到了很多种师生关系,其中最常见的就是路人甲和路人乙的关系,而来到软件工程之后,我看到了健身教练和健身学员的师生关系,而这也是我选择软件工程的原因,我相信这样的师生关系会促使我变得更好。有人问,如果老师布置的作业对你来说有些困难,你会怎么做,我只想说,古罗马的士兵平时训练是拿着比实战重一倍的装备,训练时越难,实战时就会越得心应手,所以,我觉得越困难的作业,越是锻炼自己的机会。

  c)在工作中,我们要引用文献,参考别人的资料,在别人工作的基础上继续开发,但是这样的活动比起抄袭和剽窃最本质的区别是,我们告诉了其他人,这段代码,这个资料,我们是参考的谁谁的,这个声明看似不起眼,但它起到一个切实的作用就是,尊重作者,我们以这种方式把作者的思想传播下去,成果依然是作者本人。而抄袭确实,囫囵吞枣,不管三七二十一将其据为己有,还骄傲的对外宣传,这是我的代码。

(3)要成长为一个出色的软件工程师,就一定要摒弃以前幼稚的开发思想和开发路数,我希望在这门课的学习中我能变得更加成熟,不只是技术上的成熟,更有思想上的成熟。对于软件工程这门课,虽然看上去它偏重理论,但是我认为,只有切实的把它融入自己的实践中,才能有所提高,才能不使得时间白白浪费。

 

posted @ 2020-02-28 19:44  赵代码  阅读(231)  评论(1编辑  收藏  举报