成都市武侯区C++开发培训班-网络编程培训机构地址
- 小班授课
- 实时答疑
- 解决疑点难点
- 不限学习时长
- 上课方式: 直播 面授
- 上课时段:白天班 双休班 全日制 灵活安排
课程简介
课程周期: 5个月
课程目标:本课程旨在培养跨平台Qt界面软件开发工程师,能从事Qt界面软件工程师、Qt软件工程师、跨平台界面软件开发工程师等。
课程特色:
★ 行业定制优质课程
紧跟国内外行业应用热点,顺应企业需求。全面定制行业优质课程,课程技术点全面深入,全面提升学员们的综合能力,打造行业优质的复合型人才。
★ 高级讲师团队面授指导
核心教学团队汇聚CSDN客座讲师、四川省物联网协会专家讲师,成都市高新人才,四川省软件行业会员等技术大牛。具有数十年研发教学经验的团队倾力指导,培训期间全程面授,助攻学员击破每个难题。小班制教学不留死角,每一位学员均接受一对一指导。
★ 企业制项目研发管理
依照名企招人需求定制化培养学习路径,采用员工制进行管理,打造企业实用性复合人才。提供优质实习项目,深入一线实践其中,一对一指导每个环节,为企业面试提供强硬的敲门砖。
★ 完善的就业服务体系
稳定优质的就业筛选渠道,依照岗位需求培养专人专技,为企业输送专业技术人才,已为华为、中兴、腾讯等企业 定向输送多名技术人员。入学签订就业协议、100%保证学员就业,并提供终身就业指导 。
★ 不定期邀请世界500强企业技术骨干进行技术热点、难点,行业资讯、动态分享
项目展示
【项目一】:5G物联网数据展示平台
5G物联网数据展示平台是用于展示云平台服务器存储的数据,该平台可以通过网络获取数据,根据配置文件进行数据展示,通过图形化方法直观展示传感器设备采集的数据。
跨平台5G物联网数据展示平台,具备:
n 实时数据图表展示,数据存储和分析功能
n 消息队列数据分发和接收,配置文件数据过滤
n 扁平化界面风格,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按键:QAbstractButton、QPushButton、QCheckBox、QRadioButton、QToolButton
· 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。