华清远见嵌入式学习

阶段性总结

        目前在华清远见西安校区已经学习了一段时间,经历过格式各样的老师,做过了些许的小项目,学习了大量的知识,现在停一停,阶段性自我总结。

文章结构

华清远见嵌入式学习_第1张图片

文章分为五大结构:

  • 课程结构:华清远见课程安排。
  • 学习软件:在学习过程中主要使用的软件。
  • 学习资料:在学习过程中使用到的资料。
  • 笔记整理:在学习过程中自我整理的几个较为完善的笔记
  • 个人学习方法:学习到目前为止,自我学习的一点点心得

课程结构

华清远见嵌入式学习_第2张图片

        华清远见的嵌入式课程在我看来主要分为三个部分,基础,提高,深入。基础学完可以应聘纯C的开发工作,提高学完可以应聘应用层的C++/QT开发,深入学习完可以应聘驱动开发。

嵌入式基础课程

华清远见嵌入式学习_第3张图片

嵌入式基础课程所使用的大都为C语言,分为6个课程

  • C语言基础:为期两个星期的C语言基础补习,里面讲述了,C语言基本特性,数据类型,运算符,结构语句,GDB调试,位运算,修饰符,函数,main函数传参,动态内存。
  • Linux C:一个星期的课程,以Linux为主体,主要讲述了:Linux基础知识,体系结构,虚拟机下Ubuntu使用,软件包管理,网络基础,目录体系,vim编译器使用,相关命令,Makefile ,Sheel脚本。
  • IO:两天的课程,分别讲述了文件IO,系统IO,相关的函数和使用。
  • 数据结构与算法:一个星期的课程,讲述了:数据结构基础知识,线性结构,树状结构,网状结构,算法,复杂度,项目演示。之后又给了我们两天的时间做项目。
  • 进程,线程:一个星期的课程,讲述了:进程,线程,进程间通信,线程间通信
  • 网络编程:一个星期课程,讲述了:网络基础,通信流程,服务器模型,IO模型,网络属性设置,SQLit数据库

嵌入式基础部分,总共六周左右的时间,六个课程又分为三个阶段,

第一个阶段:语言和环境的使用,这一阶段较为轻松代码量少,概念也不难。

第二个阶段:学习了数据结构和IO,代码量一下就上来了,概念中等,只要学习就不难理解,这时候也接触到第一个项目,通过项目熟练前面所学的内容,练习自己的敲代码能力。

第三个阶段:涉及到了进程线程,网络,概念相对复杂,需要反复理解,但是这一阶段代码量不大,反复敲经典代码,可以掌握。

在这一部分,如果细分,还可以分成两个阶段,C语言到数据结构,算是基础,文件,进程,网络,这三个课程算是Linux内核部分。后者的概念较多,但是不建议太过于深究,一切还是需要代码练习。

嵌入式学习提高课程

华清远见嵌入式学习_第4张图片

嵌入式提高课程开始引入面向对象语言:

  • C++:为期两个星期的课程,主要讲述了:初识Cpp,面向对象,运算符重载,模板,STL,继承,多态,项目讲解,另外给了两天的时间让我们做项目,并且答辩。
  • QT: 为期两个星期的课程,主要讲解了:QT概述,QT软件的安装,创建QT项目,信号和槽机制,QT窗口系统,QT信号机制和事件,绘图和绘图设备,文件系统,QTSocket编程,多线程,数据库,另外给了两天的时间让我们做项目,并且答辩。
  • Python:为期一个星期的课程,主要讲述了Python的基础,这个课程作为了解课程,只要会编写基本的Python程序,会看Python即可,因为现在有些岗位需要会Python
  • STM32/NBiot:为期一个星期的课程,老师会发一个STM32的开发板,和一个NBiot开发板,会讲解如何使用,如何编写项目,如何通信,采集传输数据。

嵌入式提高的课程,总共6个星期,其中的重点在于C++和QT,作为初次接触面向对象来说,这一步是艰难的,需要大量的时间来学习,理解,并且敲代码,后两个个课程。并不是很难,所以可以空出时间来复习C++和QT,学会合理的安排时间。学习完这个阶段,其实以及可以找应用层的开发了,这时候如果有想从事这应用层开发的同学,可以开始复习并且刷题了,并且完善项目。

嵌入式课程深入

华清远见嵌入式学习_第5张图片

由于这一阶段的课程我还没有学习,所以只是,放上学习内容,不过这一阶段主要是偏向底层,涉及内核,在学习的时候,会发放ARM开发板,并带着做项目,ARM一个星期学习时间,系统移植一个星期学习时间,驱动两个星期学习时间。总共一个月的时间,这个阶段学完可以找驱动开发的岗位。

最后的项目实战,为期一个月的时间,这个时间,是自己做一个完整的大项目,然后同时复习,准备建立,并且练习面试,找心意岗位。

学习软件

华清远见嵌入式学习_第6张图片

  • VNC: 用来上课时观看老师桌面,听课使用
  • VMware:虚拟机,用来安装Ubuntu操作系统,进行Linux下环境操作
  • feiQ: 飞秋用来传输文件,上课笔记,提交作业
  • QT: 在QT阶段时,使用该软件开发
  • visual studio:在C++阶段时,c++语言的编辑编译
  • VSCode:编辑器,用来敲代码,配合插件使用,提升学习效率
  • BowOad: 轻量级代码编辑器,一般用来查看上课代码,方便高效
  • XMind: 用来编写思维导图,在上课时通过思维导图记录笔记
  • Source Insight:代码阅读器,用来看源代码,内核代码
  • WT+WSL: win终端和wsl,实现在终端内运行Linux系统,配置麻烦,但是使用起来方便快捷。

学习资料

华清远见嵌入式学习_第7张图片

  • 教科书:《嵌入式 Linux C语言程序设计》,《嵌入式操作系统Linux》,《嵌入式应用程序设计综合教程》,《嵌入式体系结构与接口技术 Cortex-A9》,《嵌入式Linux驱动开发教程
  • 内部PDF:《第一期讲义》,《第一期实验手册》,《第二期讲义》,《第二期实验手册》讲义是基础概念的讲解,实验手册是项目实操的详细步骤与重点。
  • 参考书籍:《嵌入式系统软件工程 方法、实用技术及应用》,《嵌入式c语言自我修养:从芯片、编译器到操作系统》,《C语言解惑:指针、数组、函数和多文件编程》,《明解C++》,《面向对象是怎样工作的》,《计算机是怎么跑起来的》,《网络是怎样链接的》,《程序是怎样跑起来的》,《跟我一起写Makefile》
  • 老师上课笔记:老师在上课时会同步的写笔记,会把上课的知识点写到word文档里。每天课程结束的时候,会发给我们。
  • 演示代码:老师在上课的时候写的代码,会打包好,每天一发。
  • 课程回放:每天上的课程,老师会再华清远见专门的网站上录制直播,下课时,班主任会发当天的视频链接,可以点击在浏览器中观看

笔记整理

这些笔记是根据上课时的讲解,老师的笔记,自己参考的网上资料自我整理的Markdown文档,和通过上课时记录的思维导图。

Markdown

C语言提高.md

计算机操作系统.md

数据结构.md

C++.md

C语言基础.md

QT.md

预处理命令.md

进程.md

XMind

C语言高级.xmind

C++.xmind

进程.xmind

Linux OS.xmind

C语言基础.xmind

数据结构.xmind

IO.xmind

网络编程.xmind

以上文档我都会在最后分享,个人总结整理,有错误请见谅。

        笔记只是自己学习过程中的总结,对于详细知识的学习,还是要看对应的书。笔记记录和整理最为忌讳的就是,过于注重笔记的整洁美观,而忽略了记录笔记本身是为了什么,当每天你花费大量的时间去整理笔记而没有时间练习代码,这时候你就需要停下来了。

个人学习心得

        在学习了这么久的时间里,自己或多或少都有一点点的学习心得,首先需要明确的是,不管我们因为学到了新的知识而高兴,或者是终于改好了代码中bug而兴奋,还是在做了一整天的痛苦,这些都是这个过程中的感受,不要忘记最初的目的,找一个很好的工作。

        找到一个很好的工作,才是我们最开始的目标,那么在学习这条路上,就要以这一目标为基准,6个月的高强度学习,每天获取大量的知识,从早上8点到晚上九点,这每一天的时间,辛苦是肯定的,全部掌握知识点是不可能的,一定要有取舍,要有安排,哪些是一定要牢记的,哪些是要掌握的,哪些是要了解的,这都不一样。

        哪些知识点重要或者不重要,对于每一个人来说都是不一样的。因为大家想做的岗位不一样,岗位的需求不一样,虽然说不至于在学习的时候就心猿意马的找工作,但是在学习的时候了解一下,岗位需求,自己想做哪一方向的工作,通过这种目的指向的学习,会让自己合理的做出安排。

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

        学习资料有很多,现在最大的问题不是资料太少,而是资料太多,所以在学习的时候,不要去疯狂的查询资料,先耐下性子,拿手头的资料慢慢的学进去,再说其他额外的资料。网络上很多资源良莠不齐,计算机书籍也有好有坏,不要在这一方面花费太多时间。

        上课的回放重要吗?重要,但是十分不推荐当天上完课就看。笔记重要吗?重要,但是不要花费太多的时间花费在笔记上面,让他变得精美。最好是先看老师的笔记,根据上课同步记录的思维导图学习,等时间慢慢空闲了再去整理自己的笔记。

        最为推荐的,就是自我建立一个代码库,把学习阶段中,所学习的,要练习的代码整理到文件夹中分类,注释多一些,再给每一个练习配合一份简单的文档,通过建立自我的代码库,是我感觉最为高效的学习方法。

        另外,由于学习内容多,资料也多,所以应该建立一个合理的文件结构用来存放所有资料,练习的代码,笔记,资料...,按课程分别存放,清晰明了,最忌讳的就是全部放桌面,自己都不知道文件在哪里。

         在学习过程中如果遇到问题,首先自我解决,这一阶段可以在网络上查找资料,如果自我解决不了,那就和同学一起讨论,如果还是解决不了就询问老师,在学习的过程中,一定要注重讨论,把自己想说的,想问的表达出来,不要自己一个人闷着学习,闭门造车。

         在学习生活中,有什么困难,有什么想法困惑,甚至是抱怨,担忧,焦虑,这些都可以和班主任聊聊,不得不说,班主任都是小天使。班主任真的十分的负责,遇到问题咱们就去解决问题,而不是让他留存下来,成为一根刺。

         最后要说的是,学习工作是生活的一部分,在这条路上奔波的时候,不要忘记自己的身体健康,和心理健康,注意好身体,好好吃饭,每天下课了,运动运动,走一走,心情烦躁了和同学说说,和老师交流交流。这样我们才能越来越好,不是吗?

         感谢华清远见。

资源分享:

个人嵌入式学习笔记(华清远见培训笔记)-嵌入式文档类资源-CSDN下载icon-default.png?t=M276https://download.csdn.net/download/qq_37620187/85084622

你可能感兴趣的:(学习笔记,嵌入式硬件,c语言,c++)