课程简介
课程周期: 5个月
课程目标:本课程旨在培养跨平台Qt界面软件开发工程师,能从事Qt界面软件工程师、Qt软件工程师、跨平台界面软件开发工程师等。
课程特色:
★ 行业定制*课程
紧跟国内外行业应用热点,顺应企业需求。全面定制行业*课程,课程*点全面深入,全面*升学员们的综合能力,打造行业*的复合型人才。
★ 高级讲师团队面授指导
核心教学团队汇聚CSDN客座讲师、四川省物联网协会专家讲师,成都市高新人才,四川省软件行业会员等*大牛。具有数十年研发教学*的团队倾力指导,培训期间全程面授,助攻学员击破每个难题。小班制教学不留死角,每一位学员均接受一对一指导。
★ 企业制项目研发管理
依照名企招人需求定制化培养学习路径,采用员工制进行管理,打造企业实用性复合人才。*供*实习项目,深入一线实践其中,一对一指导每个环节,为企业面试*供强硬的敲门砖。
★ 完善的就业服务体系
稳定*的就业筛选渠道,依照岗位需求培养专人专技,为企业输送专业*人才,已为华为、中兴、腾讯等企业 定向输送多名*人员。入学签订就业协议、100%保证学员就业,并*供终身就业指导 。
★ 不定期邀请世界500强企业*骨干进行*热点、难点,行业资讯、动态分享
项目展示
【项目一】:5G物联网数据展示平台
5G物联网数据展示平台是用于展示云平台服务器存储的数据,该平台可以通过网络获取数据,根据配置文件进行数据展示,通过图形化*直观展示传感器设备采集的数据。
跨平台5G物联网数据展示平台,具备:
1.实时数据图表展示,数据存储和分析功能
2. 消息队列数据分发和接收,配置文件数据过滤
3.扁平化界面风格,QSS界面皮肤设计
【项目二】:安防视频监控系统
安防视频监控系统软件依托于互联网,将监控摄像头、高清摄像头、硬盘录像机、4G智能终端接入及面向跨区域视频监控资源进行建设与整合,实现视频数据统一管理,可进行AI识别和大数据分析,*高用户价值、高性能、高性价比和良好用户体验服务,主要应用于智慧教育、智慧食安、集团企业、连锁机构、 建筑工地、环保卫生、城市景点、政法系统、消防系统、城市管理、物业等大型跨区域联网平台化应用的需求。
本安防视频监控系统软件针对于视频图像处理,将不同品牌摄像头集成在统一平台,通过流媒体服务器实现多用户分发,功能包含:实时视频、历史视频、云台控制、视频上墙、电子地图、报警联动等。
【项目三】: 智能水文监测系统
水在人类的生存和发展中发挥着不可替代的作用。但是由于洪水灾害严重影响人类安全及财产损失的案例屡见不鲜,中小河流洪涝灾害频发严重,已成为我过洪涝灾害损失的主题。水利防洪关系着社会的稳定和人民的安全,因此强化中小河暴雨洪水的应急监测工作必不可少。
水文监测系统适用于远程监测河流、水库等实时水雨状况,管理部门可以通过该系统及时掌握河流的降水、断面水位等流域水文状况,从而及时作出管理决策。水文监测预警系统在及时预警洪水灾害、避免人员和经济损失方面发挥了重要作用。该套系统可用于河流、景观河道、水库、人工湖、航道等。
本系统主要功能包括:实时监测水文数据、超限自动报警、数据双重备份、历史数据查询、智能分析、报表生成、多种数据接口对接等。
课程大纲
【初生牛犊】开班典礼后正式入学,新学员们敢想敢为,历练从此开始。
第一阶段:C语言核心(学习时长:5周) |
||
课程名称 |
课程内容 |
课程目标 |
Linux系统基础 |
· Linux系统安装、命令讲解、文件管理、用户管理 · linux各种软件安装、shell脚本、环境变量 · 系统网络配置,TCP/IP简介,网络文件系统 |
课程目标:达到在Linux系统使用和开发, C语言程序开发,并深入C语言,尤其是内存使用,达到能够看懂Linux内核代码水平 |
C语言核心 |
· C语言表达式、基础运算符、C语言关键字、基本数据类型 · 内存图:取地址与解地址、指针与内存、内存管理 · 逻辑运算和位运算 · 程序结构:顺序结构、分支结构、循环结构 · 数组:一维数组、二维数组、多维数组、指针数组、字符数组等; · 编译原理:宏定义与预处理、内存分段、代码段、数据段、堆栈段等 · 函数:参数传递和*回值传递规则、递归函数、回调函数 · 字符串:字符串基本操作、字符串函数实现等; · 指针:一级指针、二级指针、多级指针、数组指针、函数指针等; · 自定义数据结构:结构体、联合、枚举 · 标准库文件操作:文件打开、关闭、读、写、读写缓冲区等; · 强制类型转* · C语言封装与设计 · C语言头文件、动态库和静态库、大型工程文件布局与头文件的使用 |
|
辅助工具 |
· Makefile、GDB调试软件、GIT版本控制管理 · visual studio使用、Eclipse入门 · Source Insight代码查看与编写、Putty工具 |
|
数据结构 |
· 单链表操作,链表构建、销毁、插入、删除、排序、逆转 · 冒泡、选择、插入、快速排序 · 队列、循环队列、栈 · 二分查找、哈希表构建 · 树、二叉树、哈弗曼树 · Linux内核链表、双向循环链表 · this指针、container_of等 |
|
教学案例: 学生管理系统、俄罗斯方块、贪吃蛇 |
【牛角书生】基础知识必备环节,踏实勤奋,出入门道。
第二阶段:系统编程和网络编程(学习时长:3周) |
||
课程名称 |
课程内容 |
教学目标 |
系统文件 |
· POSIX标准介绍、Unix和Linux关系 · Linux系统I/O、文件读写、锁、mmap等操作 · 视频显示设备FrameBuffer操作 · Linux I/O多路复用 |
课程目标:使学员理解系统编程,尤其是文件、进程和数据库;对网络五层有深入了解,能够抓包、分析包和封装包,熟悉基于TCP和UDP的编程;理解C++语言与C语言的优缺点,并能够基于QT图形化编程。 |
进程和线程 |
· 系统进程创建、通信、退出机制 · Linux线程操作、互斥操作 · Linux系统进程间通信(管道、消息队列、共享内存、信号、本地socket) · Linux线程创建、退出等操作 · Linux线程间同步与互斥(互斥锁、信号量、条件变量等) |
|
网络接口调用 |
· UDP和TCP接口编程,数据的发送与接收 · Sniffer抓包程序分析,TCP/IP五层详解,各层数据原理 · 网络数据封装,各层数据的发送与接收 · 网络文件传输、消息打包等 · 简明局域网聊天软件 |
|
网络数据构建 |
· I/O多路复用、广播、多播程序 · ARP请求与攻击 · 路由器、交*机、网关原理 · Sniffer网络抓包程序分析,TCP/IP五层详解 · 网络数据封装,各层数据的发送和接收 · 广播、多播程序 |
|
教学案例: TCP和UDP网络文件传输、局域网络聊天 |
【庖丁解牛】理论知识必须结合实操,*复打磨,才能运用的得心应手。
第三阶段:C++ QT开发(学习时长:4周) |
||
课程名称 |
课程内容 |
课程目标 |
C++核心 |
· C++、C和汇编语言三者之间的联系与区别 · 输入输出流、文件IO流、引用、友元、命名空间 · 函数重载、默认参数等; · 面向对象编程思想 · 类的封装和继承 · 对象内存:对象内存的动态分配和释放、this指针 · 类的成员函数和成员变量、静态成员和静态成员函数 · 构造函数、析构函数、拷贝构造函数(深拷贝、浅拷贝) · 友元函数和友元类 · 内联函数 · 操作符重载、仿函数functor、谓词函数 · C++多态、虚函数、纯虚函数、虚函数表、抽象类和接口类 · C++类型转*:向上造型和向下造型、 static_cast、 dynamic_cast、 const_cast、 reinterpret_cast · STL模板、类模板、函数模板、迭代器、容器、适配器、算法等; · 泛型、Boost库、ACE框架 · C++设计模式:单例模式、工厂模式、代理模式等 · C++异常:C++标准异常库、异常的抛出和捕获 · C++11新标准: 类型推导、Lambda表达式、正则表达式、模板增强、区间迭代等。 |
课程目标:理解C++语言与C语言的优缺点,并能掌握QT图形化编程;熟悉基于QT的TCP和UDP编程,对网络五层有深入了解,能够抓包、分析包和封装包;深入学习基于QT的文件和数据库操作;了解进程;深入学习基于QT线程。 |
QT编程基础 |
· QtCreator 集成开发环境介绍(设置开发环境, 设置编译环境,视图切*,快速查声明) · QT编程基础:源文件、头文件、ui文件、.qrc资源文件、.pro工程文件等 · QT 编译器与编译流程 · QT Designer:控件和布局、主界面区域、控件属性区域、控件列表区。 · 元对象系统,元对象属性 · QT信号和槽机制 |
|
数据结构 |
· QByteArray字节数组 · QString字符串 · 顺序容器:QList、QLinkList、QVector、QQueue、QStack,掌握数组、栈和链表的操作 · 关联容器:QSet、QMultiSet、QMap、QMultiMap、QHash、QMultiHash · 迭代器iterator的使用,掌握对容器的迭代遍历 · 掌握二叉树和哈希表等操作 |
|
QT图形界面 |
· QT组件布局(QLayout):QBoxLayout, QFormLayout, QGridLayout和 QStackedLayout · QT按键:QAbstractBu*n、QPushBu*n、QCheckBox、QRadioBu*n、QToolBu*n · QT Widget: QListWidget、QTableWidget、QTreeWidget等。 · QT窗口:主界面、菜单栏、工具栏、状态栏等 · QT样式表(QSS) |
|
QT对话框 |
· QT对话框: 模态对话框和非模态对话框。 · QT标准对话框:QFileDialog、QFontDialog、QColorDialog、QMessageBox等。 · QT自定义对话框 |
|
QT事件 |
· QT事件: QT事件循环、 鼠标事件、 按键事件、 事件过滤器 · Painter事件(QPen和QBrush、 QT系统坐标、绘画系统、QPainter绘图; update函数;绘图设备(QPixmap、QBitmap、QImage、QPicture)) |
|
文件操作 |
· 抽象文件引擎类:QIODevice · 文本流与二进制数据流 · 文件和数据流的基本原理和概念 · 使用QFile、QTextStream、QDataStream与文件的读出和写入 · INI文件使用 · XML文件使用 · JSON文件使用 |
|
数据库 |
· QT QSqlDatabase与数据库交互操作 · QSqlQuery执行SQL语句,数据库数据增删改查 · Navicat安装与使用 |
|
进程和线程 |
· QT进程:进程创建、进程间通信和进程退出机制 · QT线程: QT线程(QThread)创建、moveToThread创建 · QT线程的互斥和同步:QMutex、QReadWriteLock、QSemphore和QWaitCondition |
|
网络编程 |
· TCP/IP网络通信基础 · UDP网络通信(QUdpSocket) · TCP网络通信(QTcpSocket、QTcpServer) |
|
教学案例: TCP和UDP网络文件传输、局域网络聊天、计算器软件、数据管理系统 |
【牛刀小试】集中火力在模拟项目中一展身手。
第四阶段:模块项目(学习时长:2周) |
||
项目列表 |
· 装备管理系统 · 串口网络调试助手 · 文本编辑器 · FeiQ通信软件 · 网络抓包工具 · 音视频播放器 · ModScan32软件 |
课程目标:熟练使用前期课程内容,完成项目内容。掌握项目需求分析及文档编写,项目时间及进度*,项目模块化及任务分工。了解代码测试用例编写及BUG调试,*高解决问题能力。熟练使用项目工程代码版本管理工具SVN及GIT。熟悉项目汇报文档编写及项目汇报。 |
第五阶段:QT框架开发(学习时长:1周) |
||
课程名称 |
课程内容 |
课程目标 |
Qt Model/View |
· MVC框架剖析 · 数据模型 · 视图组件 · 代理 |
课程目标:熟悉Qt常见编程开发框架,深入理解MVC、视图模型、数据库管理等;解决QT项目开发不同应用场景的开发需求。 |
Qt图形视图框架 |
· GraphicView三大要素:场景、视图图元 · GraphicView坐标系统:场景坐标、视图坐标、图元坐标、坐标转* |
|
Qt数据库应用 |
· 数据库安装 · Qt MySQL驱动编译 · QSqIQuery · SQL查询模型:QSlQueryModel · SQL表格模型:QSlTableModel · SQL关系表格模型:QSqlRelationalTableModel · |
|
Qt自定义插件和库 |
· Qt元对象系统(meta-Object system) 属性系统Q_PROPERTY Q_CLASSINFO Qt Plugins 插件开发、库开发等 |
【汗牛充栋】攻克实战重重关卡,完成晋级蜕变之路。
第六阶段:实战项目(学习时长:4周) |
|
|
项目列表 |
· 5G物联网数据展示平台 · 无线水文监测系统 · 安防视频监控系统 · 装备管理系统 · 无人机地面站系统 · 人脸识别系统 · …… |
课程目标:掌握项目需求分析及文档编写,项目时间及进度*,项目模块化及任务分工。了解代码测试用例编写及BUG调试,*高解决问题能力。熟练使用项目工程代码版本管理工具SVN及GIT。熟悉项目汇报文档编写及项目汇报。商业项目开发运营模式,真正实现与企业项目无缝对接。 |
项目专题 |
· Qt绘图与图形视图框架 |
|
· Qt Model/View框架 |
||
· Qt通信协议开发 |
||
· Qt数据库应用管理 |
||
· Qt自定义插件和库 |
【牛气冲天】全面*升自我,“犇”向薪未来。
第七阶段:就业指导(学习时长:1周) |
|||
课程名称 |
课程内容 |
课程目标 |
|
内容涵盖 |
· 个人简历制作指导 · 讲解不同企业/职位面试* · 模拟企业一对一、多对一面试现场 · 向合作企业内推学员简历或组织专场招聘会 |
指导学员知晓、理解、掌握面试流程及*,学会分析自我能力是否匹配企业职位,并在面试时可以清晰准确的表达出自己的亮点及优势,*终拿到优秀的职业offer。 |