学习结业总结

        转眼间我在华清的学习生涯即将结束了。几个月前,我带着对华清的神秘感,踌躇满志地来到华清远见成都分公司,经过半年的学习后,我学到了很多之前没有学习过的嵌入式相关知识,学到了不少除了书本之外的东西。我觉得培训之行我没有白来,我在半年学到的东西我大学三年学到的东西从某种意义上来说还要多。我们在大学校园里虽然学习了专业课知识、电路原理等方面的知识,但那毕竟都是纸上谈兵,我们学习的最终目的就是要学以致用,做一名嵌入式开发工程师,而在这次的学习过程中,我们所学的知识终于得到了拓展,让我对嵌入式相关知识有了更广阔的认识。

        回顾这段时间的学习,既忙碌,又充实,有许多值得总结和反思的地方。在为期半年的学习中我们系统学习了C、Linux基础、数据结构、C++、IO进线程、网络编程、Qt、ARM裸机开发、u-boot系统移植、驱动开发、stm32等相关知识,接下来我就详细说说我的学习心得

        虽然课程是最先开始的C语言,但是我觉得Linux基础却是我最先接触到的知识,因为我们学习嵌入式,Linux下一切皆文件,所以我们要先学会了基本的Linux指令,才能基于Linux系统进行编程的学习,在这个课程中,我学习了如果更加快捷的编译代码的工具Makefile这个好帮手,一定的脚本语言的学习,还有Linux的很多的基本指令,在钰姐的悉心指导下,虽然很多没记住,但是我相信在以后的使用中,多使用巩固,会有不同的效果。

        学习C语言的起步就是学习它的方法规则,如果把它学习得好在学习后面的时候就比较容易理。比如变量,首先要了解变量的定义方式(格式),意义是什么(定义变有什么用) ;其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础,如果把它们都了解很好了,那么编起程序来就很得心应手。比如说if语句和switch语句,这两种条件语句都是用来执行判断功能的,那什么时侯用if什么时侯用switch,如果很好地了解它们的结构和作用的话那么就能灵活运用:若它的条件分支是多个而且条件的值是一个确定的值时就可以选用switch。反之,在大多数情况下就用if。掌握了语言法规则,不一定就能编出程序来,实学习编程就是要学习-种思想,-种思维方法,先要确定一种算法,如从1加到100,判断润年等,我认为这些算法都是一种思维方法。 画流程图就是在构建编写程序思路的过程当画好一个流程图时编程思想也就出来了,程也差不多了,再结合掌握的语言的方法规则,在计算机里实现就可以了。任何程序只要有思维,有想法,那么实现程序时就不会觉得无从下手。而要学习这种思维方法就是多做题,多读程序,学习别人好的思维方法,多想想一个程序还可不可以有另外一种方法来实现它。这样久而久之,自然会形成-种自己的思维方法。因此我认为不管学什么语言都是这样。

        在C语言的基础上,我们继续系统的学习了IO进线程、网络编程,有一定的C语言基础后,学习其中的代码的编写理解也相对容易了许多,在IO进线程中,我明白了,很多功能是可以同时进行处理的,然后在我们日常生活中使用的工具,比如手机挂后台之类的,也是应用了这些原理,Io进线程中,我明白了,很多功能是可以同时进行处理的,然后在我们日常生活中使用的工具,比如手机挂后台之类的,也是应用了这些原理。在网络编程中,我明学习了服务器和客户端之间的连接方式,然后也明白了不同连接方式之间的区别与他们之间的差别,这在我们日常生活中也有很多体现,比如我们平时刷的短视频软件或者是聊天的群聊,用的就是udp的网络,然后我们的私聊或者是比较重要的文件的传输就用的tcp相关的网络。

        学习了数据结构相关知识,然后数据结构是我从c语言入门后接触到代码量最大的一门知识,在数据结构中,我对数据的处理有了更深刻的认识,然后明白了什么是顺序表、链表以及二叉树、图等相关知识,然后也明白了,数据结构的基本是增删改查,然后在图以及树的学习中,感觉非常的困难。因为它里面的思想以及逻辑结构代码编写部分感觉比较难以理解,但是通过老师的讲解也能理解到他的逻辑,可能自己编写的话还是有一定的难度,链表以及栈队列这些知识就很基础,然后在老师的带领下学习起来也非常的愉悦与轻松。栈和对立的思想在我们以后的编程中也会用的非常多。在我们以后的编程中,数据结构的代码可能不会怎么编写,但是他的思想有味的重要,我们在编写很多东西的时候都会运用到数据结构的相关知识。学习了这个知识,感觉受益颇深。

        C++是兼容C语言面向过程和面向对象的编译语言,其涉及程序设计思想、方法、语法、算法等诸多方面,它的理论性、综合性和实践性都优于C语言,让人感到很难学,学不懂具有可能半途而废。在大学里,在大三上半学期开始学习C++的时候,真的是纯小白一枚。开始学的时候我还很高兴,总想着自己学习完可以做出一个相当完美的程序,在在学习中,常与专业课老师进行交流,但是上机编译的时候,总是遇见各种各样的问题,老师要求我们自己动手编写一个小程序时,又感觉无从下手,大脑中一片空白,越往后学越是理解不了,以至于到最后看见C++就感到非常头大,对于C++的学习产生了一丝恐惧,对于面向对象的思想也不是很根深蒂固,感觉是C语言的面向过程有点冲突。但是在老师的带领学习下,也对C++的相关知识和面向对象的思想有了一定的提升,比如封装:把客观事物抽象为类,包含自己的属性和方法。继承:使用现有类的所有功能,在无需重新编写原有类的情况下对类的功能进行拓展。被继承的类成为父类或基类,继承的类成为子类或派生类。多态:一种形式,多种状态,分为静态多态和动态多态。静态多态指编译时多态,如函数重载、模板;动态多态指运行时多态,特指virtual虚函数机制形成的多态。等相关知识……

        在Qt的学习中也学到了很多有趣的知识。首先,什么是Qt。在我看来,Qt就是用C++封装了很多API的类库(这里我说的是狭义的Qt,也就是QtWidget),本身又和C#的桌面应用开发类似的一种嵌入式开发平台,它有着自己的编辑器,当然我们也可以在VS等更喜欢的编辑器里配置Qt从而在里面进行Qt开发的。最让我印象深刻的就是信号与槽这个知识,信号就是发射之后进入槽的东西。连信号的参数也是可以进入槽之中的。因此我们可以使用,相同类型的变量声明,使得发射出的信号携带的信息降落到槽中,其中需要注意我们可以使用系统自带的信号。我们可以自己自定义自己的信号。(这也是在跨类之间建立联系的一种trick)。自定义的信号的发射使用emit。还有关于ui界面的设计,感觉很神奇可以完全根据自己的要求来制作相关的界面用于使用者使用,对于面向对象的思维有了进一步的理解与相对的感悟。

      在硬件方向也进行了相关的系统性学习,在这里我接触到了比单片机更多功能与强大的A9开发板与stm32开发板,之前在学校学习了单片机相关知识,觉得那已经比较神奇,我们可以自编写代码下到板子上然后得到我们想要的效果。然后在学习了A9开发板后,发现可以直接在板子上跑一个Linux系统,与虚拟机建立相关的共享库,还可以非常方便的实现代码的传输,学习了如何将Linux下到开发板上,如果在厂商给的代码中寻找我们需要的寄存器与相关代码的移植,在驱动那块我们也学习了如何驱动硬件,通过软件的方式间接的控制硬件,这也使我对嵌入式的强大有了更深的认识 

        这个阶段主要是利用前面学过的知识,开发一个大型项目——我们小组做的是智能大棚,总结回顾过去的知识将知识连贯起来,学会应用。

        这一阶段的老师我们朱哥和邱杨老师(超有耐心)。邱老师详细讲解了我的问题,细心教我怎么修改代码的问题。

学习感悟:

        在这学习了这么久,自己有很多感想,有酸有甜,有值得欢喜也有值得伤心的故事。但不管怎么说,我们都在这学习了很多新知识,值得高兴。

        华清这个课程安排其实是很紧张的,对于很多知识点扩充和理解其实是需要自己私底下下功夫去理解才能完全掌握,但是也不必慌张,这边提供了很多老师资源,如果说自己有很多不理解不知道的知识,是一定要去厚着脸皮去问的。这边老师就我接触到的都很厉害同时也愿意将自己的知识交给我们,除开老师以外,还有各种老师的上课视频可以选择观看,所以不用太担心自己会遗漏知识点。

        在学习过程中,有很多的学习方法,对于个人来说,练习,代码复现,通过自己亲自敲一遍的代码,是完全不一样的。上课听老师讲完课,这时自己是一种水平,听完课自己过一遍笔记,自我整理完笔记这又是一种水平,自我打一遍代码又是一种水平。所以不要害怕敲代码,越是害怕,说明这一方面你越欠缺,就越应该去直面面对。

        学习的时候有个最大的问题在于新旧知识的吸收状态。对于我来说,旧知识需要隔上一两天再复看是最适合的,新知识吸收倒是能但不能及时形成一个体系结构,容易混淆。笔记和回放就要因人而异,我对回放的依赖程度不大,对笔记的需求大。所以我会整理一个小知识点和错题记录,翻过去再抄一遍。其中有个建议就是形成一个自己的知识体系,保存好代码,把学习阶段中,所学习的,要练习的代码整理到文件夹中分类,注释多一些,再给每一个练习配合一份简单的文档,逐步解决问题。

        在学习过程中,有个最麻烦的就是不知道该如何下手时,就应该多看示例代码,琢磨思路,反复练习,增加训练度。在如果学习过程中如果遇到问题,首先自己解决,这一阶段可以在网络上查找资料,如果自己解决不了,那就和同学一起讨论,如果还是解决不了就询问老师,在学习的过程中,一定要注重讨论,把自己想说的,想问的表达出来,不要自己一个人闷着学习,闭门造车。其次还有个麻烦的地方是对资料的查找,特别是在底层阶段。底层不像软件那部分可以通过短暂的一个学习掌握到大多数知识点,就很玄学的同时又很需要知道知识点。但是厂家很多,所供应的板子也很多,体系架构也很多,对架构更多的知识点支持也就更多,所以就像是浮在水面上的冰山,你永远不知道下面有多大。但是我们有老师,这个时候就需要你积极去问老师,去做资料的筛选。

        在华清学习这段时间,老师负责,环境也挺友好的,学习的同学也都挺卷的,自己很多不足就是在于对动手的积极度不够,应该在后期阶段的要多积极干活,加把劲干。不过外力辅助始终是有限的,你更多的还是需要自己的能力逐步上来。一定要记住外力只能是用来做辅助的,而最终决定一切的还是你自己的付出。

         不过最后要说的是,学习工作是生活的一部分,有好的身体和心态才能够稳固前进。比如说要保持一定频率的健身,保持住精力,睡足够的觉,延续精力,不然 这场持久战你是打不下来的。

         在这里 感谢华清的陪伴。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值