C++强化学习规划表

第一阶段 C语言加强以及C++语言详解(29天)

课程名称

课程内容

学习目标

C语言强化

· C语言基础复习(数据类型、变量、内存布局、指针基础)
· C语言基础强化提高(C语言中的字符串、一维数组、二维数组)
· C语言基础强化提高(一级指针,二级指针,三级指针实战,N级指针概念,指针数组和数组指针)
· C语言基础强化提高(结构体、文件的使用)
· 动态库的封装和设计
· 函数指针回调函数
· C语言面试题强化与提高

在基础班C语言知识点之上,掌握C语言深入技巧,为日后 做更大的项目打下坚实的基础
灵活应用C语言接口封装设计的方法,进行企业项目开发

C++对C的扩展

· C++对C的扩展,
· C++关键字, 
· 命名空间,引用,C/C++混合编程
· 引用(左值、右值、引用本质分析、引用和const结合)
· 函数扩展(内联函数、函数重载、函数参数增强)

掌握C与C++语言的异同

C++编程

· 面向对象编程思想
· 类的封装,构造和析构、静态成员、对象管理
· 类的构造(有参构造函数、无参构造、拷贝构造默认构造函数)和析构
· 对象动态管理、友元函数、友元类、操作符重载
· c++编译器对象管理模型分析
· 类对象的动态管理(new/delete)
· 友元函数和友元类
· 运算符重载(一元运算符、二元运算符、运算符重载难点、项目开发中的运算符重载)
· 类的继承、多继承及其二义性、虚继承
· 多态(概念、意义、原理剖析、多态案例)
· 虚函数、纯虚函数、抽象类(面向抽象类编程思想案例)
· 函数模板、类模板,模板的继承
· C++类型转换
· C++输入输出流(标准I/O 文件I/O 字符流I/O)
· C++异常处理(异常机制、异常类型、异常变量、异常层次结构、标准异常库)
· 世界500强面试题强化训练

从面向过程编程 到面向对象编程的思维转化
理解面向对象的三大特性:封装,继承,多态
灵活应用C++语言,全面掌握面向对象编程方法
灵活应用C++语言面向抽象类编程特点,进行企业项目的设计和开发

C++11新特性

· C++11新特性、智能指针、右值引用,lanmda表达式
· auto, Decltype,多线程,线程同步技术

掌握C++11新特性在实际编程中的应用方式

STL

· STL容器、迭代器的原理
· 序列式容器vector、deque
· 堆栈容器stack
· 双向链表容器list
· 关联式容器set、multiset
· 关联式容器map、multimap
· 对组pair
· STL 算法详解,查找、排序、拷贝和替换、算数和生成、集合、遍历
· 项目案例

掌握泛型编程技巧,理解容器类在C++语言中的应用模式
掌握全部STL类的使用方法
具备在C++项目中熟练使用 STL的能力

BOOST

· Boost跨平台编译,容器,算法,时间处理
· 正则表达式,字符串处理,多线程,智能指针,网络应用

掌握智能指针、BOOST类库体系、BOOST在项目开发中的应用

设计模式

· 设计模式概念
· 单例模式
· 工厂模式
· 代理模式
· 迭代模式等
· UML应用

决定一个项目成败最重要的是项目总体的设计,通过本阶段的学习,掌握面相对象编程重要的一环,在编码之前的建模技巧

第二阶段 数据结构(8天)

课程名称

课程内容

学习目标

数据结构
基础课程

· 算法基础、顺序存储、链式存储、循环链表
· 双向链表、栈(顺序和链式)、队列(顺序和链式)
· 栈的应用、树基本概念及遍历、二叉树
· 排序算法、并归算法、选择、插入、快速、希尔

学习数据结构与常用算法
掌握线性表,栈,队列等数据结构在代码中具体的实用方式
掌握各种排序以及查找算法

数据结构
高端数据结构

· 图论(深度优先搜索、广度优先搜索、最小生成树、最短路径等)
· 动态存储管理、查找(二叉排序树和平衡二叉树、B树和B+树、哈希表)
· 内排序和外排序、动态规划
· 面试题强化

学习数据结构常用技巧和算法思想,为日后的编码奠定严谨的理论基础

第三阶段 Unix/Linux TCP/IP网络服务器开发(20天)

课程名称

课程内容

学习目标

Unix/Linux
服务器开发

· Unix/Linux基本命令
· Unix/Linux运维常用操作
· Unix/Linux开发环境
· Unix/Linux文件I/O操作
· Unix/Linux文件系统剖析
· 进制控制原语
· 进程间通信
· Unix/Linux信号处理
· 进程间关系和守护进程
· 线程控制原语和线程间同步
· 网络编程协议
· Socket套接字原语详解
· 高并发服务器
· 异步I/O与sendfile
· Linux开发调试机制

掌握Unix/Linux平台开发方式
熟练使用各种系统调用
熟练Unix/Linux内存管理,进程,线程调度
掌握网络服务器开发方式,熟练编写TCP,UCP网络服务程序
掌握同步/异步IO模型在网络编程中的使用方式

Unix/Linux项目

· 项目实战

掌握高并发的linux网络服务器的实现方式

第四阶段 数据库开发(MySQL,Oracle)(8天)

课程名称

课程内容

学习目标

数据库开发阶段

· SQL语言编程
· SQL语言编程与面试强化
· ORACLE数据库管理,实战操作
ORACLE Proc编程
· MYSQL数据库管理、实战操作
· MYSQL 高级编程实战

掌握SQL语言的实用技巧
掌握ORACLE数据库的使用方式
掌握MYSQL数据库的实用方式

第五阶段 UI界面开发(VC++ MFC和QT)(11天)

课程名称

课程内容

学习目标

VC++ MFC
开发实战

· Windows的SDK编程原理
· 消息映射机制

掌握windows消息驱动编程模式
掌握win32编程原理

· 对话框的编程
· 文件操作
· Windows常用控件的编程 
· 菜单、工具栏和状态栏

掌握MFC类库构架,消息映射机制以及控件与消息处理函数
掌握MFC的文件操作与UI界面开发方式

· MFC绘图
· 视图文档框架
· 窗口切分、一档多视图
· 文档序列化

掌握MFC绘图,单文档多文档结构
掌握如何实现文档序列化

· MFC数据编程原理
· MFC网络编程原理
· 线程与进程控制
· MFC相关WinSocket\CSocket网络开发
· Windows下UDP-TCP、IP编程
· COM组件应用于,ADO编程,ActiveX自动化接口应用

掌握COM组件调用方式,自动化的使用方式
掌握ADO编程技巧,以及ADO和常用数据库的编程模型
基于windows的 socket以及MFC的socket使用方式

QT跨平台
图形开发

· 子窗口和控件,信号和槽基础
· 坐标体系,设置子窗口位置,布局管理,Resize策略
· 常用主窗口
· QT常用消息和消息机制
· 自定义控件实现
· 信号和槽的高级使用技巧
· 2D绘图,简单绘制
· 使用QGraphicsScene绘制
· 使用坐标变换
· 绘图到其他设备(图片和打印机)
· 使用QT实现库
· 内存文件,普通文件,Socket,文件映射
· 序列化
· 基于QTSocket的TCP,UDP编程,UDP的广播和多播
· 使用MVC结构来访问数据库
· 进程和线程
· HttpClient
· json的编码和解码
· 通用容器
· 多媒体子系统
· qt工具(qt设计师,qt预言家,qt助手,qt例子)
· 命令行解析
· 调试信息重定向
· 使用资源
· 在window下做安装包
· 使用QT开发IOS和Mac应用
· 使用QT开发Android应用

掌握QT类库构架,图形界面开发模型
掌握QT开发技巧,消息机制,图形处理
掌握QT网络编程,UDP,TCP使用方式
QT文件处理方式,序列化
掌握QT在windows,linux,ios,android不同平台下的移植技术

项目

· 项目实战

通过项目实战,讲所学的QT以及MFC知识点有机的 串联起来,掌握具体知识点在实际项目中的实用技巧

第六阶段 No-SQL开发(MongoDB)

课程名称

课程内容

学习目标

MongoDB
开发阶段

· 与传统的关系型数据库相比,MongoDB具有操作简单、完全免费、源码公开、随时下载等特点
· 利用MongoDB技术可以有效解决海量数据处理问题

掌握MongoDB的使用
掌握通过MongoDB处理大数据的技巧

第七阶段 大数据云计算实战(结合阿里云搭建Linux云计算大数据业务实现技巧)

课程名称

课程内容

学习目标

云计算阶段

· Linux云计算服务器搭建,模块部署技巧
· 实战阿里云平台
· Linux云服务器处理大数据技巧

掌握Linux云计算服务器搭建
掌握阿里云服务于Linux编程结合使用技巧
掌握云服务于大数据处理方案

第八阶段 脚本语言(Linux-Shell,Python)

课程名称

课程内容

学习目标

Shell
Python

· Linux-Shell语法
· Linux-shell编程技巧,正则表达式
· Python语言
· python网络编程 
· python服务器模块快速搭建
· 脚本实战操作,基于python的网络爬虫

掌握Unix/Linux环境下的shell编程技巧
掌握python编程技巧

 

你可能感兴趣的:(C++)