课程介绍:
课程目录:
阶段一:嵌入式开发基础之Linux C语言编程
18门课 /课程总时长:22小时
第1周 嵌入式开发基石-计算机基础与C语言
C语言是嵌入式工程师主流开发语言,它是所有高级语言根基,它决定了一名工程师是否可以在本质上理解开发语言,非常重要,本周带领大家回顾重要计算机基础以及迈进C语言大门,带同学们系统入门。
课程安排:
1、开发环境搭建,在虚拟机中安装ubuntu系统
2、计算机基础知识介绍,了解计算机工作原理,程序如何运行
3、Linux 基础命令,掌握在Linux命令行终端中如何实现文件操作
4、GCC编译器介绍及使用,掌握gcc编译程序的流程,学会使用gcc编译器编译C语言
5、二进制、八进制、十进制、十六进制之间的转换讲解
6、原码、反码、补码,彻底搞清楚数据是如何在计算机中进行存储
7、C语言数据类型,掌握如何使用C语言的数据类型描述实际生活中的各种数据
8、C语言运算符,掌握如何使用C语言的运算符完成实际生活中的各种数据计算
2、计算机基础知识介绍,了解计算机工作原理,程序如何运行
3、Linux 基础命令,掌握在Linux命令行终端中如何实现文件操作
4、GCC编译器介绍及使用,掌握gcc编译程序的流程,学会使用gcc编译器编译C语言
5、二进制、八进制、十进制、十六进制之间的转换讲解
6、原码、反码、补码,彻底搞清楚数据是如何在计算机中进行存储
7、C语言数据类型,掌握如何使用C语言的数据类型描述实际生活中的各种数据
8、C语言运算符,掌握如何使用C语言的运算符完成实际生活中的各种数据计算
第2周 C语言进阶-编程思想
本周我们重点学习C语言编程思想,掌握模块儿化编程思想,存储、指针操作内存等内容。
课程安排:
1、C语言控制语句,掌握在实际软件开发中如何使用C语言的控制语句做逻辑控制,完成功能需求
2、C语言数组,掌握在多个数据如何在C语言中进行存储
3、C语言函数,掌握模块化编程思想,如何用函数封装功能
4、C语言指针, 掌握C语言的精华,如何使用指针操作内存
2、C语言数组,掌握在多个数据如何在C语言中进行存储
3、C语言函数,掌握模块化编程思想,如何用函数封装功能
4、C语言指针, 掌握C语言的精华,如何使用指针操作内存
第3周 C语言高级进阶
本周进一步是c语言高级内容讲解,彻底掌握C语言函数、指针、结构体、内存管理等进阶内容,为嵌入式工程师打下坚实的语言基础,相信你学完本周,内功也会更加深厚。
课程安排:
1、C语言数组、函数、指针混合运用,重点内容,再次讲解,彻底掌握
2、C语言宏定义,使用宏提高代码的通用性和可读性
3、C语言结构体、联合体、枚举,生活中的复杂对象如人的信息,外卖订单的信息如何用C语言进行描述
4、C语言位域,在运行内存很小的场合,如何节省变量占用的内存空间
5、C语言程序运行内存剖析,彻底搞清楚变量的生命周期,内存的分配和释放
6、C语言static关键字,搞清楚static关键字修饰的全局变量、局部变量、函数的实际场景用法
7、C语言堆区内存管理,掌握在C语言中如何做动态内存管理
2、C语言宏定义,使用宏提高代码的通用性和可读性
3、C语言结构体、联合体、枚举,生活中的复杂对象如人的信息,外卖订单的信息如何用C语言进行描述
4、C语言位域,在运行内存很小的场合,如何节省变量占用的内存空间
5、C语言程序运行内存剖析,彻底搞清楚变量的生命周期,内存的分配和释放
6、C语言static关键字,搞清楚static关键字修饰的全局变量、局部变量、函数的实际场景用法
7、C语言堆区内存管理,掌握在C语言中如何做动态内存管理
第4周 C语言项目实战与《阶段笔试》
本周我们通过项目实践来进一步巩固C语言基础,一来提升学习趣味,二来强化C语言在实际项目中的运用,从而彻底掌握C语言。
课程安排:
项目一:日历系统,通过项目强化C语言的运用,主要功能如下:
1、输入一个年份,显示这一年的日历
2、输入一个年份和月份,显示这一个月的日历
3、输入一个年份,月份,日期,显示这一天是星期几
项目二:俄罗斯方块游戏,通过项目强化C语言的运用,掌握游戏开发编程思想,主要功能如下 :
1、在终端上面显示俄罗斯方块
2、通过按键控制俄罗斯方块变形
3、摞在一起的俄罗斯方块自动消除
4、随机出现俄罗斯方块
5、游戏速度随等级自动加快
6、实时显示玩家的游戏得分
《第一阶段企业笔试》
1、C语言基础语法默写,从企业面试官的角度,考察对C语言语法掌握的情况
2、C语言企业笔试题考试及讲解,从企业的角度考察C语言知识,让同学提前了解企业在人才招聘环节,对C语言的考察点
1、输入一个年份,显示这一年的日历
2、输入一个年份和月份,显示这一个月的日历
3、输入一个年份,月份,日期,显示这一天是星期几
项目二:俄罗斯方块游戏,通过项目强化C语言的运用,掌握游戏开发编程思想,主要功能如下 :
1、在终端上面显示俄罗斯方块
2、通过按键控制俄罗斯方块变形
3、摞在一起的俄罗斯方块自动消除
4、随机出现俄罗斯方块
5、游戏速度随等级自动加快
6、实时显示玩家的游戏得分
《第一阶段企业笔试》
1、C语言基础语法默写,从企业面试官的角度,考察对C语言语法掌握的情况
2、C语言企业笔试题考试及讲解,从企业的角度考察C语言知识,让同学提前了解企业在人才招聘环节,对C语言的考察点
阶段二:嵌入式开发基础之数据结构
10门课 /课程总时长:15小时
第5周 数据结构-线性结构
在嵌入式开发工程中,任何一个软件系统的开发都离不开数据结构相关的算法,数据结构也是大厂在人才招招聘环节主要考察点,掌握它非常重要,本周我们先从线性结构讲起,用C语言实现,再一次夯实C语言基础。
课程安排:
1、顺序表,使用数组来存放数据,实现数据的增删改查等操作
2、链表,使用动态内存分配节点来存放数据,实现数据的增删改查等操作
3、栈,数据先进后出,实现顺序结构和链式结构的栈,实现出栈和入栈等操作
4、队列,数据先进先出,实现顺序结构和链式结构的队列,实现入队列和出队列等操作
2、链表,使用动态内存分配节点来存放数据,实现数据的增删改查等操作
3、栈,数据先进后出,实现顺序结构和链式结构的栈,实现出栈和入栈等操作
4、队列,数据先进先出,实现顺序结构和链式结构的队列,实现入队列和出队列等操作
第6周 数据结构-非线性结构
本周我们讲解非线性结构、图数据结构、哈希表等更多数据结构内容,带领同学们0到1实现。
课程安排:
1、二叉树,讲解二叉树的创建、递归遍历算法和非递归遍历算法,以及哈夫曼树编解码算法
2、图,讲解图的创建,深度遍历和广度遍历算法,以及图中最短路径的遍历算法
3、哈希表,讲解使用哈希表进行快速的数据查询,以及哈希算法在冲突的时候解决方法
2、图,讲解图的创建,深度遍历和广度遍历算法,以及图中最短路径的遍历算法
3、哈希表,讲解使用哈希表进行快速的数据查询,以及哈希算法在冲突的时候解决方法
第7周 排序与复杂度
本周讲解排序与算法的时间、空间复杂度内容,从而学会分析一个算法的好坏。
课程安排:
1、排序,讲解常用的冒泡、选择、快速排序、堆排序等常用排序算法
2、时间复杂度和空间复杂度,分析一个算法的好坏衡量方法
2、时间复杂度和空间复杂度,分析一个算法的好坏衡量方法
第8周 数据结构项目实战
本周我们安排了一个学生管理系统小型项目进行练手,让同学们再次熟悉和掌握数据结构相关算法的实际场景运用。
课程安排:
1、基于VT100的菜单设计
2、学生信息录入系统
3、学生信息查询
4、学生信息修改
5、学生信息排序
6、学生信息删除
2、学生信息录入系统
3、学生信息查询
4、学生信息修改
5、学生信息排序
6、学生信息删除
阶段三:嵌入式开发基础之Linux Shell和Makefile
4门课 /课程总时长:6小时
第9周 Shell编程和Makefile工程管理
在实际嵌入式Linux平台项目开发过程中,由于涉及到的开发平台众多,基本都是通过命令行操作,工程师需要掌握Linux下常用命令和shell脚本编写以及Makefile管理工程文件进行自动化编译,这也是我们本周的重点内容。
课程安排:
1、Linux 常用命令,讲解文件管理、用户管理、网络管理、磁盘管理等相关的命令
2、awk和sed命令,强大的数据按列处理和按行处理命令
3、shell脚本编程,胶水融合剂,让固定的流程自动化起来
4、Makefile多文件工程管理,完成代码的自动化编译,掌握Makefile的编写方法是嵌入式工程师必须具备的能力
5、阶段企业笔试-常用命令默写,从企业面试的角度,考察学员对Linux常用命令的掌握
6、阶段企业笔试-从企业笔试的角度考察学员对shell脚本和Makefile的掌握情况,让学员提前了解企业对工程师在shell和Makefile两方面的要求
2、awk和sed命令,强大的数据按列处理和按行处理命令
3、shell脚本编程,胶水融合剂,让固定的流程自动化起来
4、Makefile多文件工程管理,完成代码的自动化编译,掌握Makefile的编写方法是嵌入式工程师必须具备的能力
5、阶段企业笔试-常用命令默写,从企业面试的角度,考察学员对Linux常用命令的掌握
6、阶段企业笔试-从企业笔试的角度考察学员对shell脚本和Makefile的掌握情况,让学员提前了解企业对工程师在shell和Makefile两方面的要求
阶段四:嵌入式软件开发之Linux 文件操作
5门课 /课程总时长:6小时
第10周 Linux文件IO和标准IO
在嵌入式开发过程中,涉及到的主流操作系统是Linux系统,在Linux系统中设计理念是”一切皆文件”,所以掌握Linux下文件操作非常重要,本周我们先从文件IO和标准IO讲起。
课程安排:
1、Linux系统调用实现原理讲解,掌握系统调用的工作原理,理解printf函数是如何将字符串输出到屏幕
2、基于文件描述符的文件打开、读写、关闭等操作,掌握Linux下文件的操作API,并熟练使用这些API完成文件操作
3、基于标准C库的文件打开、读写、关闭等操作,理解标准C库函数和系统调用之间的区别和联系,掌握如何使用标准C库API完成文件操作
4、动态库、静态库制作和使用,理解gcc编译器链接库的工作原理和Linux操作系统如何加载动态库,掌握Linux下动态库和静态库的制作和使用
2、基于文件描述符的文件打开、读写、关闭等操作,掌握Linux下文件的操作API,并熟练使用这些API完成文件操作
3、基于标准C库的文件打开、读写、关闭等操作,理解标准C库函数和系统调用之间的区别和联系,掌握如何使用标准C库API完成文件操作
4、动态库、静态库制作和使用,理解gcc编译器链接库的工作原理和Linux操作系统如何加载动态库,掌握Linux下动态库和静态库的制作和使用
第11周 Linux下文件操作项目实践与阶段评测
实现一个基础的shell程序,能完成ls 和 cp功能,通过实现ls命令和cp命令功能,再次强化学员对Linux下文件操作和常用系统调用API使用
课程安排:
1、输入命令解析命令参数
2、根据输入的ls命令,读取目录下的文件属性信息,并显示
3、根据输入的cp命令,完成文件拷贝和递归目录下的所有文件拷贝
4、笔试安排:常用文件操作函数默写,从企业面试的角度,考察学员对Linux下常用文件操作API函数掌握情况
2、根据输入的ls命令,读取目录下的文件属性信息,并显示
3、根据输入的cp命令,完成文件拷贝和递归目录下的所有文件拷贝
4、笔试安排:常用文件操作函数默写,从企业面试的角度,考察学员对Linux下常用文件操作API函数掌握情况
阶段五:嵌入式软件开发之 Linux 多进程、多线程、IO模型
13门课 /课程总时长:17小时
第12周 Linux 多进程、多线程、IO模型
嵌入式开发的主流操作系统是Linux操作系统,这一阶段由一线12年经验的高级工程师进行授课,主要让学员掌握Linux 下多线程、多进程编程思想和常用的IO模型,让自己开发的软件能充分发挥多核CPU优势,提升软件性能。
课程安排:
1、进程的概念,理解在Linux系统中进程是什么
2、进程相关的命令,掌握Linux系统中进程信息的查看
3、进程创建,掌握Linux系统中如何在一个程序中创建多个进程
4、进程间通信,掌握Linux系统中常用的进程间通信方法,如:管道、信号、5、消息队列、共享内存、信号灯集等
6、进程间同步,理解同步的概念,掌握Linux系统中进程间同步的方式
7、线程的概念,理解在Linux系统中线程是什么
8、线程相关的命令,掌握Linux系统中线程信息的查看
9、线程创建,掌握Linux系统中如何在一个程序中创建多个线程
10、线程间通信,掌握Linux系统中线程间通信的方法
11、线程间同步,掌握Linux系统中线程间同步机制,如:信号量、条件变量、互斥锁等
12、阻塞IO,理解阻塞IO的概念及工作原理
13、非阻塞IO,理解非阻塞IO的概念及工作原理
14、IO多路复用,理解IO多路复用的概念及工作原理,掌握Linux下IO多路复用的方法,如:select,poll,epoll等。
2、进程相关的命令,掌握Linux系统中进程信息的查看
3、进程创建,掌握Linux系统中如何在一个程序中创建多个进程
4、进程间通信,掌握Linux系统中常用的进程间通信方法,如:管道、信号、5、消息队列、共享内存、信号灯集等
6、进程间同步,理解同步的概念,掌握Linux系统中进程间同步的方式
7、线程的概念,理解在Linux系统中线程是什么
8、线程相关的命令,掌握Linux系统中线程信息的查看
9、线程创建,掌握Linux系统中如何在一个程序中创建多个线程
10、线程间通信,掌握Linux系统中线程间通信的方法
11、线程间同步,掌握Linux系统中线程间同步机制,如:信号量、条件变量、互斥锁等
12、阻塞IO,理解阻塞IO的概念及工作原理
13、非阻塞IO,理解非阻塞IO的概念及工作原理
14、IO多路复用,理解IO多路复用的概念及工作原理,掌握Linux下IO多路复用的方法,如:select,poll,epoll等。
第13周 Linux 项目实战-实现并发服务器模型与企业笔试
通过上周的学习我们掌握了Linux 多进程、多线程、IO模型,本周通过带同学们0到1实现一个并发服务器模型彻底掌握嵌入式中重要的Linux知识实践。
课程安排:
1、基于多进程、多线程实现并发服务器模型,主要功能如下:
2、服务器进程创建线程池,维护线程池中线程创建和销毁,创建子进程反馈3、数据处理结果
4、服务器进程创建消息队列,从消息队列获取其他客服端进程发来的任务数据,并从线程池中取线程处理任务
5、线程池中的任务线程处理完客户端的数据后,通知服务器进程子,由服务器子进程共享内存的方式获取处理的数据,然后反馈给客户端进程
6、客户端进程通过消息队列提交任务请求,通过共享内存获取任务处理结果
7、企业笔试:常用Linux操作系统知识默写,从企业面试的角度,考察学员对Linux操作系统多进程、多线程、IO模型的理解
2、服务器进程创建线程池,维护线程池中线程创建和销毁,创建子进程反馈3、数据处理结果
4、服务器进程创建消息队列,从消息队列获取其他客服端进程发来的任务数据,并从线程池中取线程处理任务
5、线程池中的任务线程处理完客户端的数据后,通知服务器进程子,由服务器子进程共享内存的方式获取处理的数据,然后反馈给客户端进程
6、客户端进程通过消息队列提交任务请求,通过共享内存获取任务处理结果
7、企业笔试:常用Linux操作系统知识默写,从企业面试的角度,考察学员对Linux操作系统多进程、多线程、IO模型的理解
阶段六:嵌入式软件开发之Linux 网络编程
19门课 /课程总时长:17小时
第14周 网络基础和UDP Socket编程
在物联网的时代,任何一款嵌入式产品都需要具备网络功能进行万物互联,掌握网络知识非常重要,从本周开始我们会从网络的基础知识讲起到带你走进Linux 网络编程的大门。
课程安排:
1、IP地址、子网掩码、默认网关、DNS服务器,掌握网络的基础知识,理解常用网络通信参数的含义
2、数据包内网、外网传输方式,掌握局域网是如何搭建,理解交换机和路由器的工作原理,掌握数据包是如何在网络中进行传输
3、网络模型,理解网络协议栈的设计原理,掌握网络模型的分层含义
4、一帧数据包格式,通过分析网络数据包个格式,掌握网络通信的原理
5、TCP协议,掌握TCP协议的三次握手、四次挥手、数据包传输的原理
6、UDP协议,掌握UDP协议的特点,对比TCP协议的不同,理解TCP和UDP协议的各自优缺点
7、网络通信中常用协议,掌握网络通信中常用的一些通信协议使用场景和特点
8、udp客户端实现,掌握Linux系统中socket在udp客户端的使用及通信方法
9、udp服务器端实现,掌握Linux系统中socket在udp服务器端的使用及通信方法
10、udp并发服务器实现,掌握并发服务器的设计思想和在Linux系统中如何使用多进程、多线程的思想实现udp并发无服务器
11、基于udp协议的局域网聊天室软件开发,掌握多人聊天环境中群聊的实现思想
2、数据包内网、外网传输方式,掌握局域网是如何搭建,理解交换机和路由器的工作原理,掌握数据包是如何在网络中进行传输
3、网络模型,理解网络协议栈的设计原理,掌握网络模型的分层含义
4、一帧数据包格式,通过分析网络数据包个格式,掌握网络通信的原理
5、TCP协议,掌握TCP协议的三次握手、四次挥手、数据包传输的原理
6、UDP协议,掌握UDP协议的特点,对比TCP协议的不同,理解TCP和UDP协议的各自优缺点
7、网络通信中常用协议,掌握网络通信中常用的一些通信协议使用场景和特点
8、udp客户端实现,掌握Linux系统中socket在udp客户端的使用及通信方法
9、udp服务器端实现,掌握Linux系统中socket在udp服务器端的使用及通信方法
10、udp并发服务器实现,掌握并发服务器的设计思想和在Linux系统中如何使用多进程、多线程的思想实现udp并发无服务器
11、基于udp协议的局域网聊天室软件开发,掌握多人聊天环境中群聊的实现思想
第15周 TCP Socket编程和WireShark抓包分析
本周继续深入网络编程的TCP Socket编程和WireShark抓包分析内容,让同学们更深层次的理解TCP Socket、TCP和UDP协议。 课程安排:
课程安排:
1、TCP客户端实现, 掌握Linux系统中socket在tcp客户端的使用及通信方法
2、TCP服务器端实现, 掌握Linux系统中socket在tcp服务器端的使用及通信方法
3、TCP粘包分析,理解TCP粘包原理,掌握TCP粘包情况下如何正确解析数据包
4、TCP并发服务器实现,掌握并发服务器的设计思想和在Linux系统中如何使用多进程、多线程的思想实现TCP并发无服务器
5、基于TCP协议的文件传输服务器软件开发,通过文件的上传和下载功能,再次强化tcp socket的使用
6、WireShark抓包工具使用,学会抓包工具的使用,并使用抓包工具详细分析TCP协议和UDP协议的具体内容,让学员深层次理解TCP和UDP协议
2、TCP服务器端实现, 掌握Linux系统中socket在tcp服务器端的使用及通信方法
3、TCP粘包分析,理解TCP粘包原理,掌握TCP粘包情况下如何正确解析数据包
4、TCP并发服务器实现,掌握并发服务器的设计思想和在Linux系统中如何使用多进程、多线程的思想实现TCP并发无服务器
5、基于TCP协议的文件传输服务器软件开发,通过文件的上传和下载功能,再次强化tcp socket的使用
6、WireShark抓包工具使用,学会抓包工具的使用,并使用抓包工具详细分析TCP协议和UDP协议的具体内容,让学员深层次理解TCP和UDP协议
第16周 网络编程项目实战-网络视频监控与企业笔试
本周通过实战网络视频监控项目,让学员掌握Linux网络编程知识在实际工程场景中的运用,掌握在Linux系统中如何获取视频流、编解码视频流,传输视频流,并掌握HTTP协议
课程安排:
1、V4L2编程,在Linux系统中获取摄像头数据
2、HTTP协议,掌握HTTP协议工作原理,并通过编程实现HTTP协议数据传输
3、libjpg库使用, 掌握YUYV数据格式如何压缩成jpeg数据格式进行传输
4、远程视频监控,实现具体的远程视频监控功能,并通过浏览器查看视频流
5、企业笔试:常用网络基础知识默写,从企业面试角度,考察学员对网络基础知识掌握情况
2、HTTP协议,掌握HTTP协议工作原理,并通过编程实现HTTP协议数据传输
3、libjpg库使用, 掌握YUYV数据格式如何压缩成jpeg数据格式进行传输
4、远程视频监控,实现具体的远程视频监控功能,并通过浏览器查看视频流
5、企业笔试:常用网络基础知识默写,从企业面试角度,考察学员对网络基础知识掌握情况
阶段七:嵌入式软件开发之Linux C++编程
50门课 /课程总时长:21小时
第17周 从C到C++
嵌入式开发中,C和C++不分家,多掌握一种开发语言就业机会也更多,C++语言是所有编程语言中最复杂的一门语言,掌握的C++语言也就掌握了其他编程语言。本周开始带领同学们从主要从C语言角度剖析C++。
课程安排:
1、C++与C的不同地方,讲解C++在C的基础上扩展了哪些语法
2、命名空间,分析C语言语法的缺点,理解C++为什么要命名空间
3、引用,理解引用的本质,掌握引用和指针的不同
4、函数重载,理解为什么可以进行函数重载,编译器是如何对函数名进行处理的
5、默认值参数,理解默认值参数函数的特点
6、内联,理解内联为什么可以提高程序的运行效率
7、封装,掌握面向对象的编程思想,如何通过封装的思想描述一个对象
8、继承,掌握如何通过继承实现代码的复用,已经继承使用的场合
9、多态,掌握多态的思想,如何做到一个接口多种实现,在运行时决定对象的行为
10、泛型编程,掌握泛型编程的思想,如何写出通用的代码,做到代码的复用
11、STL容器,掌握C++标准STL容器提供的API使用
2、命名空间,分析C语言语法的缺点,理解C++为什么要命名空间
3、引用,理解引用的本质,掌握引用和指针的不同
4、函数重载,理解为什么可以进行函数重载,编译器是如何对函数名进行处理的
5、默认值参数,理解默认值参数函数的特点
6、内联,理解内联为什么可以提高程序的运行效率
7、封装,掌握面向对象的编程思想,如何通过封装的思想描述一个对象
8、继承,掌握如何通过继承实现代码的复用,已经继承使用的场合
9、多态,掌握多态的思想,如何做到一个接口多种实现,在运行时决定对象的行为
10、泛型编程,掌握泛型编程的思想,如何写出通用的代码,做到代码的复用
11、STL容器,掌握C++标准STL容器提供的API使用
第18周 软件设计模式与C++11新特性
常用设计模式的思想是必须掌握的,本周带同学们学习C++的设计模式通用思想,通过一线技术总监授课教学更深层次理解设计模式和C++11新特性。
课程安排:
1、智能指针,掌握如何使用智能指针做到内存自动释放,减少内存泄漏的分享
2、lambda表达式,掌握在C++中如何使用匿名函数,实现快捷编程
3、auto自动推导,掌握C++11中提供的自动类型推导含义,避免编码过程中关注复杂的类型,实现快捷编程
4、基于范围for循环,掌握C++11标准的新型for循环,实现快捷编程
5、右值引用,理解左值和右值得概率,掌握右值引用的使用场景
6、move移动语义,掌握如何通过move移动语义,实现代码高效率运行
7、单例,理解单例的设计模式编程思想,掌握饿汉式和懒汉式两种单例的实现方法
8、工厂,理解工厂设计模式编程思想,掌握简单工厂、工厂方法、抽象工厂的实现方法
9、代理,理解代理设计模式的编程思想,掌握代理设计模式的实现方法
10、适配器,理解适配器设计模式的编程思想,掌握适配器设计模式的实现方法
11、观察者,理解观察者模式的编程思想,掌握观察者设计模式的实现方法
12、设计模式遵从原则,理解设计模式遵从的通用思想,更深层次理解设计模式
2、lambda表达式,掌握在C++中如何使用匿名函数,实现快捷编程
3、auto自动推导,掌握C++11中提供的自动类型推导含义,避免编码过程中关注复杂的类型,实现快捷编程
4、基于范围for循环,掌握C++11标准的新型for循环,实现快捷编程
5、右值引用,理解左值和右值得概率,掌握右值引用的使用场景
6、move移动语义,掌握如何通过move移动语义,实现代码高效率运行
7、单例,理解单例的设计模式编程思想,掌握饿汉式和懒汉式两种单例的实现方法
8、工厂,理解工厂设计模式编程思想,掌握简单工厂、工厂方法、抽象工厂的实现方法
9、代理,理解代理设计模式的编程思想,掌握代理设计模式的实现方法
10、适配器,理解适配器设计模式的编程思想,掌握适配器设计模式的实现方法
11、观察者,理解观察者模式的编程思想,掌握观察者设计模式的实现方法
12、设计模式遵从原则,理解设计模式遵从的通用思想,更深层次理解设计模式
第19周 项目实战-C++语言实现五子棋游戏与企业笔试
本周带同学们C++语言实现五子棋游戏,融合设计模式的思想,在实战中理解C++语言的使用以及设计模式运用。项目中会运用到网络的知识,再次强化学员对网络编程的知识的掌握,为之后的嵌入式项目开发打下坚实基础。
课程安排:
1、五子棋游戏界面绘制
2、黑白棋子显示
3、五星连珠算法实现
4、本地双人对战实现
5、网络双人对战实现
6、企业笔试:C++常用语法点默写,从企业面试角度,考察学员对C++语言掌握情况
2、黑白棋子显示
3、五星连珠算法实现
4、本地双人对战实现
5、网络双人对战实现
6、企业笔试:C++常用语法点默写,从企业面试角度,考察学员对C++语言掌握情况
阶段八:嵌入式软件开发之项目实战篇
27门课 /课程总时长:40小时
第20周 嵌入式产品人机交互必备-QT框架
在嵌入式产品中,也会涉及到人机交互界面,QT的免费,开源,夸平台特性,成为了很多嵌入式产品人机交互界面软件开发的不二之选。本周带同学们从0开始讲解QT的各种功能和操作,掌握QT框架开发。
课程安排:
1、信号与槽,掌握信号与槽的实现原理及使用方法,这是QT的精华实现
2、事件,理解事件的含义,掌握常用事件在Qt软件开发中的处理方法
3、Qt界面设计,掌握软件界面布局,掌握QT中的常用软件布局管理的使用
4、QSS界面美化,掌握QT的样式设置,如何通过样式改变QT开发软件的外观
5、Qt 文件操作,掌握QT中文件操作的方式
6、Qt 多线程,掌握QT中创建线程的方法,理解夸线程的信号与槽通信原理
7、Qt 网络编程,掌握QT中网络编程的实现方法,让自己开发的软件具备网络通信的能力
8、Qt 数据库编程,理解数据库概率,掌握在QT中如何实现数据库操作
9、Qt 图形与图像,掌握QT中图形和图像的处理方法
10、QML,掌握在QT中如何使用QML实现界面的快捷开发
2、事件,理解事件的含义,掌握常用事件在Qt软件开发中的处理方法
3、Qt界面设计,掌握软件界面布局,掌握QT中的常用软件布局管理的使用
4、QSS界面美化,掌握QT的样式设置,如何通过样式改变QT开发软件的外观
5、Qt 文件操作,掌握QT中文件操作的方式
6、Qt 多线程,掌握QT中创建线程的方法,理解夸线程的信号与槽通信原理
7、Qt 网络编程,掌握QT中网络编程的实现方法,让自己开发的软件具备网络通信的能力
8、Qt 数据库编程,理解数据库概率,掌握在QT中如何实现数据库操作
9、Qt 图形与图像,掌握QT中图形和图像的处理方法
10、QML,掌握在QT中如何使用QML实现界面的快捷开发
第21周 嵌入式项目1-QT开发音乐播放器
本周我们用QT开发一款在线云音乐播放器,从软件界面设计美化到软件功能实现,最后到软件发布。让学员掌握一款软件开发到上线的全流程,同时通过软件开发强化学员对QT知识的掌握,掌握嵌入式人机交互利器。
课程安排:
1、云音乐播放器界面设计及美化
2、在线搜歌显示歌曲信息
3、歌曲专辑图片动画显示
4、歌词解析同步歌曲进度实时显示
5、爱心歌曲下载,数据库存储及本地显示
6、 企业笔试:QT常用类功能默写, 从企业面试角度,考察学员对QT掌握情况
2、在线搜歌显示歌曲信息
3、歌曲专辑图片动画显示
4、歌词解析同步歌曲进度实时显示
5、爱心歌曲下载,数据库存储及本地显示
6、 企业笔试:QT常用类功能默写, 从企业面试角度,考察学员对QT掌握情况
第22周 嵌入式项目2-人脸指纹识别考勤机
实现指纹及人脸考勤功能,包含指纹模块及人脸模块的控制,语音播报提示,数据库考勤管理,考勤数据可视化分析统计及导出。
课程安排:
1、实现指纹模块的控制;
2、指纹模块调试工具的编写;
3、数据库的创建,实现考勤数据的增删改查;
4、考勤数据的可视化图表显示及统计分析;
5、人脸模块的控制;
6、人脸图像的判定及识别;
7、人脸考勤及指纹考勤的统一接口;
2、指纹模块调试工具的编写;
3、数据库的创建,实现考勤数据的增删改查;
4、考勤数据的可视化图表显示及统计分析;
5、人脸模块的控制;
6、人脸图像的判定及识别;
7、人脸考勤及指纹考勤的统一接口;
阅读全文
常见问题
是否支持单个资源购买?
答:点击“立即购买”,即是单个资源购买。
开通VIP会员后,是否支持全部资源下载,如何开通VIP会员?
答:点击“升级VIP”按钮,支付完成后即可开通VIP会员,VIP会员支持全站课程免费下载。
链接失效怎么办?
答:联系客服QQ:630965719,获取最新下载链接。
原文链接:https://www.itspxx.com/txkc/jy/2743/,转载请注明出处。
评论0