华清远见嵌入式毕业总结

       自五月入学华清以来,系统性地学习嵌入式课程已四月有余,在整体的学习过程中,有一些感受想要记录和分享。
       一开始对嵌入式的整体体系,并不清楚,最开始只了解应用层和底层这两个大方向。随着课程的展开,在学习过程中,逐步了解了嵌入式的各部分运作。
       第一部分是c语言的补习阶段,是很重要的基础部分,也是较为轻松的一个阶段。于我而言 ,在这个阶段中,主要是针对c语言重头进行一个基础复习。学习知识点是一方面,更重要的是锻炼一个代码思维,和逻辑方面的提升。往往很多时候,一个问题只需要换一个方法,就能化繁为简或者打破僵局,同一个问题也有这不同的实现方式,因此能够感受到应该灵活学习,因此,在c语言的后期学习中,每一项作业能用多重方式的完成的,就会尽可能花时间都研究透彻,并在第二天评讲时思考与老师的思维方式差异,更加懂得了要学习的并不是代码本身,对代码死记硬背毫无作用,只能应付固定的问题。
      第二个阶段,学习了linux操作系统和c语言的高级内容,这一个阶段,个人感受是强调了学习过程中必不可少的一部分内容--固定记忆,有着良好的罗辑思维固然是一件好事,可是没有扎实牢固的基础来支撑想法,是没有办法将所想化为所得的,就好比蒸糕点却不会和面一样。对于linux操作系统的各项指令和vim的操作,都是需要实打实的记忆和不断重复应用,最后才能实现肌肉加大脑的共同记忆,虽然每个指令都不难,但是它们合在一起却组成了我们编写编译运行的基础。
       第三个阶段,是大学时代就觉得异常困难的数据结构,在重新学习的过程中,虽然依旧觉得数据结构是非常困难的,但是至少理清楚了数据结构的基本概念,以及不同的数据结构存在的意义。刚开始的线性结构,听的时候非常明白,一旦关掉文档自己尝试编写,就会卡壳,经常需要对照老师的笔记和图反复看,因为这是代码量激增的一个阶段,对编写代码的严谨性有着更高的要求,在前两个阶段的学习中,即便是微量代码都要调试半天,各种error各种warning,经常需要同学和老师的提醒。在数据结构这个阶段,老师就强调了自己学会发现问题,用各种调试方法去发现并解决问题,然而编译器能够提示的问题是一方面,语义错误才是令人最头大的,经常自己思索半天不得其解,请教老师同样对着一大段代码好像四处无错也让老师无语,往往是一些极为微小低级的错误,让自己觉得为何如此迟钝,老师这时候也是无话可说,叹息之余不断提醒我要仔细要仔细,基本的知识点要理清楚。这个阶段让我再次领悟了复习的重要性,不懂的要反复看直播回放,对应笔记进行二轮复习。
       第四阶段,是我认为极其重要的一个阶段,对于不同io的学习,以及进线程的学习,进一步提升了编程的内容的多样可能性。这个阶段里,提升了我对类似知识点之间的辨别能力,标准io和文件io有差异,进程线程各司其职。进程之间的通信和线程之间的通信,在学习之后也明白了它们在日后的重要性。可以说,不把它们弄明白,日后的学习甚至工作寸步难行。一开始,其实对于进程比较清晰明了了,但是第二天学习线程之后,课堂上很清楚,课下自己回忆都时候,很多函数就混淆了,同样这是需要理解和重复强化记忆的学习。从这个阶段开始,我明白了,真的是理解加记忆,理解在前,记忆在后且必不可少。
       第五阶段学习了网络编程,确实如同李老师所讲,是一个有难度,相对而言代码量大,但是非常有趣的阶段。学习并了解了各种网络协议,对tcp/ip协议下的TCP和UDP协议进行了详细的学习及练习。在学习服务器端的过程中还第一次用“飞机”软件模拟的客户端进行了信息交互,当成功接收到信息之后的那种成就感确实令人预约,也觉得这个编程很有趣。在学习并发通信之后,上手了自入学以来的第一个个人项目--基于UDP的网络聊天室,实现登录注册聊天功能。在做这第一个项目的过程中,发现了代码练习不够的问题,导致项目前期进展并不顺利,写着写着就发现依然会有地方有遗漏,而且容易忘记写一个功能调试整备好后再进行下个模块的编写。再反复了一周之后,终于成功运行了自己写的聊天室程序。但是回顾这个代码项目的时候发现,存在着代码整体不规范的问题,没有模块化一下子全写在一个文件里,确实是学习初期的意识不足。
      第六阶段学习c++,相较于c而言,c++的特性继承多态重载,随着学习一点点展开,一开始还不会搭建一个类,到后面慢慢了解了具体的框架模式,对c++也没有那么迷茫了,但是依然在学习继承内容的时候,遇到了困难,也是观看直播回放频率最高的一个阶段,最后考试检测时,发现还是存在一些基本知识点的问题,选择题有较大错误,是自考试以来选择题错的较多的时候,明白了注重难点复习的同时,基础的小点也不可丢。
      第七个阶段,学习了用qt软件,调用封装好的c++函数,通过信号与槽机制,进行界面设计。这是相当有趣的一个阶段,每当自己完成一个部件的编写,它的立即反馈变化也会给自己一个正向激励。随着老师的不断带入,可用的控件一个个增多,可实现的组合变化也越来越有趣,很多自己以前觉得难以实现的内容,都变得越来越触手可及。阶段的最后,做了第二个融合知识的项目,在线五子棋,既要用到qt知识 也要用到网络编程的知识,还有数据结构的知识,是一次对知识融合运用的练习,设计电脑ai下棋同时,也锻炼了自己在遇到问题和思维需求查阅博客的能力。
      第八阶段进入了底层学习,汇编语言和c的大不同,让我很是适应了一段时间,但是比起软件上门的反应,裸机开发带给我的正向激励更大,觉得它又难又趣味十足,最大的收获是,学习了查阅相关设备和开发版及芯片英文说明书的思维逻辑和能力。
      第九阶段,系统移植,说是学习,更多的是一个体验的过程。通过自己移植自己制作的系统,明白了linux系统在arm a9开发版上是如何各方面配合在一起运作的。虽然以后的实际运用不会很多,但是能够使人理解系统的一部分基础逻辑,对于日后的编写代码思维有着一定的帮助。
       第十阶段,也是个人觉得最困难的一个阶段,驱动学习就像一个不断扩大的海绵,不断吸入知识点,代码量也越来越大,后期的实现方式也越来越规范,难度也急剧提升。
       最后的小组项目合作阶段,简易模拟了工作中的实际情况,产品经理确定需求,项目经理确定了各自的分工,同时在实现过程中,各成员不断讨论,不断磨合。会在实际的开发过程中,学会取舍,因为就像实际工作情况一样,有些功能确实是不太容易实现或者无法实现的,会和客户交流商量其他方案。经过近3周的编写调试工作,最后的成功结果,也能让每个组员都感到欣慰。
       进行小组项目的同时,就业老师也在帮助我对简历进行不断的优化,提供各个方面的就业指导,包括知识准备,心理准备,职业素养。自己在选择公司投递简历的同时,就业老师也会推荐一些不错的公司供我选择。
       都说金九银十,就业在即,即将走出华清远见,希望自己能够在系统的学习之后,在工作实际上手操作不断巩固,并且永远保持一颗学习勤奋上进的心。
       在这里学习的四个多月里,认识了热情善良的班主任郭老师,不仅在学习上关心和鼓励,同时也关心身体上的状况,疫情期间也不断提醒大家注意防护记得核酸,线上课程时会想尽办法督促我们认真学习,真的是非常的尽心尽责,上一个这么负责又关心同学们方方面面的老师,还是小学管理小孩子的班主任吧,哈哈。和小组的组员一起抗过了困难的疫情阶段完成了线上的合作开发,负责任张罗项目相关事宜的组长老徐和技术顶梁柱皓哥,绝对是推进项目顺利完成的巨大助力。最后希望组员们能找到自己满意的工作,在自己选择的嵌入式道路上,越走越顺利。
        感谢华清远见的老师们和同学们!
      

你可能感兴趣的:(学习)