上海C++培訓 - 上海C++培訓機構 - 黑馬程序員
- 小班授課
- 實時答疑
- 解決疑點難點
- 重點重學
- 上課方式: 面授
- 上課時段:白天班 周末班 雙休班 全日制 靈活安排
對C/C++感興趣,但沒有任何軟件編程基礎,想先從零基礎入手的軟件開發愛好者;希望從另外一些簡單的其他語言轉型從事C/C++開發的求職人員。
注:獲取更多免費學習視頻+資料+筆記,請加QQ:2632311208。
全日制脫產,每周5天上課, 上兩天課休息一天的上課方式(實際培訓時間可能因法定節假日等因素發生變化)
部分校區可能會根據實際情況有所調整,詳情可詢咨詢老師 點擊咨詢
| 基礎班課程大綱 | |||
| 所處階段 | 主講內容 | 技術要點 | 學習目標 |
|
第一階段: C開發實戰 |
1.Unix/Linux實戰 | 1.linux基本命令;2.vi編輯器;3.linux遠程連接;4.webserver服務器搭建過程;5.Unix/Linux操作系統;6.類Unix系統目錄結構 |
可掌握的核心能力: 1、通過C語培養編程思維和動手能力; 2、通過C語言的學習培養面向過程編程思想,為以后的深入學習就業課程打下堅實基礎。 可解決的現實問題: 1、具備C/C++領域基礎專業編程能力; 2、實現電子詞典項目案例; 3、實現貪吃蛇項目案例。 市場價值: 具備學習編程思維,但尚不能達到任何企業用人標準。 |
| 2.C語言概述 | 1.計算機基礎;2.第一個C語言程序;3.C的代碼的含義與編譯;4集成開發環境(vs、qt) | ||
| 3.編程基礎 | 1.常量與變量;2.進制轉換;3.運算符;4.條件控制語句;5.數組與字符串 | ||
| 4.函數 | 1.函數的基本概念;2.字符串操作的常用函數;3.自定義函數 | ||
| 5.指針 | 1.指針變量的定義;2.指針基本使用;3.const修飾的指針;4.一級指針與數組名的關系;5.指針法操作數組元素;6.指針作為函數的參數;7.數組作為函數的參數;8.指針做函數的返回值;9.指針處理字符串 | ||
| 6.內存管理 | 1.局部變量的作用域和生命周期;2.靜態局部變量的作用域和生命周期;3.全局變量的作用域和生命周期;4.靜態全局變量的作用域和生命周期;5.靜態函數和非靜態函數的區別;6.內存分區;7.堆區內存的分配(malloc)和釋放(free) | ||
| 7.復合類型 | 1.結構體的基本用法;2.結構體嵌套指針和數組;3.結構體作為函數參數;4.復合類型的聲明與使用 | ||
| 8.文件操作 | 1.文件的分類(文本、二進制);2.文件的打開和關閉;3.文件操作函數;4.文件讀寫緩沖區的概念 | ||
| 9.項目實戰 | 1.創建Qt應用程序;2.IDE案例ui界面的設計;3.IDE案例功能實現;4.一級指針做函數參數;5.二級指針做函數參數;6.多文件編程;7.貪吃蛇案例實現 | ||
1、已學習過C/C++基礎班課程內容的相關人士;
2、自學過C/C++書籍與視頻資料,有一定的C/C++與網絡攻防基礎的相關人士。
全日制脫產,每周5天上課, 上兩天課休息一天的上課方式(實際培訓時間可能因法定節假日等因素發生變化)
部分校區可能會根據實際情況有所調整,詳情可詢咨詢老師 點擊咨詢
| 就業班課程大綱 | |||
| 所處階段 | 主講內容 | 技術要點 | 學習目標 |
|
第二階段: C高級編程 |
1.內存分區、函數調用模型 | 1.數據類型、變量的含義;2.內存四區特點;3.函數的調用模型;4.內存操作函數;5.宏定義與預處理 |
可掌握的核心能力: 1、掌握C語言中的字符串、一維數組、二維數組的用法; 2、掌握一級指針,二級指針,三級指針的高級用法,理解N級指針概念,指針數組和數組指針; 3、學會結構體、文件的使用; 4、C語言接口封裝設計。 可解決的現實問題: 1、可以實現自己開發小程序,例如貪吃蛇一類的用C語言寫的程序; 2、應用C語言接口封裝設計的方法,進行企業項目開發。 市場價值: 可以掌握C語言深入技巧,靈活應用C語言接口封裝設計的方法,但尚不能達到任何企業用人標準。 |
| 2.指針高級 | 1.指針基本使用;2.指針的步長的概念;3.指針簡介賦值;4.指針以及多級指針做函數參數的特性與使用;5.通過指針操作字符串;6.const類型修飾符;7.位的邏輯運算符;8.移位運算符;9.數組指針與指針數組;10.多維數組做函數參數;11.結構體嵌套一級指針;12.結構體嵌套二級指針;13.淺拷貝深拷貝 | ||
| 3.函數指針與回調函數 | 1.封裝和設計的思想;2.函數指針定義的三種方式;3.回調函數 | ||
| 4.數據結構與鏈表 | 1.鏈表的基本概念;2.單鏈表的相關操作 | ||
| 5.遞歸函數 | 1.遞歸函數的概念;2.遞歸的使用 | ||
| 6.數據結構與算法 | 1.大O表示法基本概念;2.線性表順序存儲和鏈式存儲概念;3.線性表的順序存儲(數組);4.線性表的鏈式存儲(鏈表);5.隊列的順序與鏈式存儲;6.棧的順序與鏈式存儲;7.二叉樹基本操作;8.常用排序算法 | ||
| 7.接口的封裝和設計 | 1.函數的封裝設計;2.解耦合的設計理念;3.模塊實現與業務分離的思想 | ||
|
第三階段: C++核心編程 與桌面應用開發 |
1.C++對C的擴展、引用 | 1.C++語言的命名空間的使用;2.C++對C的擴展;3.C、C++中const不同之處;4.定義和使用引用類型變量 |
可掌握的核心能力: 具備常用C++方向基本知識和常用技能。 可解決的現實問題: 能夠具備基本的開發能力,看懂簡單代碼,實現開發簡單程序軟件的功能。 市場價值: 熟練學習和掌握后,可滿足企業開發的初級需求,根據市場反饋數據看,薪資普遍在 6000-8000元 /月。 |
| 2.函數重載 | 1.類的的默認參數;2.c++的函數重載;3.類和對象的基本概念;4.類的封裝和訪問控制權限;5.類和對象進行簡單編程 | ||
| 3.類和對象 | 1.類的構造函數;2.類的析構函數;3.explicit關鍵字作用;4.類的拷貝構造函數的使用;5.深拷貝和淺拷貝問題;6.多個對象的構造和析構函(初始化列表) | ||
| 4.對象的動態分配和釋放 | 1.類和對象的動態分配和釋放內存;2.靜態成員變量和函數的使用;3.C++編譯器對成員變量和成員方法的處理機制;4.this的使用;5.友元函數;6.友元類 | ||
| 5.運算符重載 | 1.運算符重載概念;2.常用運算符重載;3.自定義的智能指針類;4.實現一個自定義的String類 | ||
| 6.類的繼承和派生、多態 | 1.繼承中的訪問控制;2.繼承中的構造和析構;3.多繼承;4.virtual繼承的基本概念;5.多態的使用(多態成立條件、使用場景);6.區分成員函數的重寫和重定義;7.虛函數表指針,分步初始化;8.虛函數;9.純虛函數;10.抽象類的使用;11.虛析構函數和純虛析構函數 | ||
| 7.面向抽象類編程與設計模式 | 1.設計模式原則;2.常用的設計模式 | ||
| 8.函數模板、類模板 | 1.函數模板基本語法;2.函數模板和函數重載的調用規則;3.編譯器對模板的編譯過程;4.類模板的概念和基本語法;5.繼承中的類模板;6.類模板中普通友元函數、友元函數模板的處理 | ||
| 9.異常、I/O流 | 1.C++類型轉換;2.C++標準異常庫;3.異常的拋出與捕獲;4.C++標準I/O流(cin、cout);5.C++的文件I/O類的使用 | ||
| 10.STL | 1.STL容器、迭代器的原理;2.序列式容器vector、string、deque;3.堆棧容器stack、quenue;4.雙向鏈表容器list;5.關聯式容器set、multiset;6.對組pair;7.關聯式容器map、multimap;8.STL算法詳解 | ||
| 11.Qt常用的控件 | 1.Qt的基本概念;2.Qt應用程序框架;3.Qt信號和槽的應用;4.Qt窗口系統;5.常用對話框的使用;7.Qt界面設計;8.Qt事件處理 |
可掌握的核心能力: 具備常用QT和MFC界面開發的基本技巧和常用技能; 可解決的現實問題: 能夠實現簡單的前臺界面開發。 市場價值: 熟練學習和掌握后,可滿足企業開發的初級需求,根據市場反饋數據看,薪資普遍在9000-13000元 /月。 |
|
| 12.Qt繪圖與文件操作 | 1.QPainter繪圖;2.update函數;3.繪圖設備(QPixmap、QBitmap、QImage、QPicture);4.文件操作 | ||
| 13.Qt界面編程實戰案例 | 1.汽車銷售管理系統ui設計;2.汽車銷售管理系統車輛管理模塊功能開發;3.汽車銷售管理系統銷售統計模塊功能開發;4.汽車銷售管理系統人員登陸模塊功能開發;5.人員和車輛信息文件讀寫類的使用 | ||
| 14.MFC對話框與常用空間 | 1.Windows編程的基本概念;2.Windows編程模型;3.MFC應用程序框架;4.創建MFC應用程序;5.MFC函數Ex后綴和Afx前綴的作用;6.創建基于對話框的MFC應用程序;7.模態對話框和非模態對話框;8.常用控件 | ||
| 15.MFC界面編程案例 | 1.銷售管理系統ui設計;2.銷售管理系統銷售管理模塊功能開發;3.銷售管理系統庫存管理模塊功能開發;4.銷售管理系統個人信息模塊功能開發;5.銷售管理系統人員登陸模塊功能開發;6.人員和商品信息文件讀寫類的使用 | ||
|
第四階段: Linux高并發服務器開發 |
1.Linux命令 | 1.Linux下的目錄結構;2.工作日程應用命令;3.Ubuntu下的軟件安裝和卸載; |
可掌握的核心能力: 具備常用后臺服務器開發方向基本知識和常用技能,并具備基本的開發能力。 可解決的現實問題: 能夠實現包括服務器后臺、前端界面、服務器數據庫的開發。 市場價值: 熟練學習和掌握后,可滿足企業開發的初中級需求,根據市場反饋數據看,薪資普遍在 8000-13000元 /月。 |
| 2.Linux開發與調試工具 | 1.vim命令模式下操作;2.vim末行模式下操作;3.vim的配置4.gcc的工作流程和掌握常見參數;5.Linux下的靜態庫與共享庫(windows動態庫)的制作和使用;6.Makefile;7.gdb調試;8.pcb和文件描述符,虛擬地址空間;9.Linux系統IO函數;10.阻塞和非阻塞的概念 | ||
| 3.系統I/O操作 | 1.stat/lstat函數;2.文件屬性相關函數;3.鏈接相關概念及函數;4.目錄操作相關概念及函數;5.dup、dup2函數;6.fcntl函數 | ||
| 4.進程與IPC通信 | 1.進程相關的概念;2.進程操作相關函數;3.孤兒進程;4.僵尸進程;5.進程回收;6.進程間通信 | ||
| 5.線程與并發同步 | 1.互斥量;2.死鎖以及解決方案;3.讀寫鎖;4.條件變量;5.條件變量實現生產消費者模型;6.信號量實現生產消費者模型;7.線程同步解決哲學家就餐問題; | ||
| 6.信號 | 1.信號中的基本概念;2.使用信號相關的函數;3.信號內核實現原理;4.信號捕捉函數signal、sigaction;5.使用信號完成子進程的回收;6.發送信號時如何進行參數傳遞; | ||
| 7.網絡協議與網絡編程 | 1.OSI七層模型結構;2.TCP/IP 4層模型結構;3.B/S、C/S優缺點對比;4.常見網絡協議格式;5.套接字;網絡字節序;6.IP地址轉換函數;7.編寫TCP的C/S網絡程序;8.UDP通信機制與模型;9.本地套接字;10.三次握手建立連接過程;11.四次握手斷開連接過程;12.滑動窗口概念;13.錯誤處理函數封裝;14.TCP狀態轉換;15.2MSL概念;16.端口復用方法;17.半關閉; | ||
|
8.高并發服務器開發 (poll、select和epoll) |
1.多路IO轉接模型;2.select函數;3.fd_set相關操作函數;4.select多路IO轉接模型poll操作函數;5.epoll多路IO模型;6.線程池模型的設計思想;7.多進程并發服務器;8.多線程并發服務器;9.libevent庫;10.epoll反應堆模型;11.使用BufferEvent、evBuffer;12.git代碼管理; | ||
| 9.Linux并發服務器項目實戰 | 通過項目實戰,使大家熟悉Linux知識的應用,已經如何開發服務器程序,從項目需求分析項目設計,到項目實現,對程序開發有個整體的認識。 | ||
|
第五階段: Windows/Linux 跨平臺企業項目實戰 |
1.oracle |
1.簡單查詢; 2.oracle的常用函數; 3.多表查詢; 4.集合操作; 5.DDL操作管理表; 6.DML管理數據; 7.其它數據庫對象; 8.PL/SQL編程; 9.存儲過程與存儲函數 10.觸發器; 11.工具查詢; 12.解決Top-N問題; |
可掌握的核心能力: 掌握常用數據庫類型的操作技巧和簡單開發。 可解決的現實問題: 熟練應用項目中使用的數據庫知識,能做簡單的數據庫開發。 市場價值: 熟練學習和掌握后,可滿足企業開發的初中級需求,根據市場反饋數據看,薪資普遍在 8000-12000元 /月。 |
| 2.mysql |
1.mysql表的約束; 2.mysql中出現的中文亂碼問題; 3.mysql函數庫連接數據庫; 4.mysql API訪問數據庫; 5.使用基礎類API實現mysql客戶端工具; 6.預處理類API訪問mysql數據庫; 7.使用api修改mysql事務特性; |
||
| 3.企業財富庫的接口的封裝和設計 |
1.外聯接口 2.線程同步 3.socket 4.線程池 |
||
| 4.windows經典應用程序開發 |
1.windows下圖形化界面; 2.設計模式的應用 3.異步通信 4.xml 5.json 6.html 7.共享內存,消息隊列 |
||
| 5.Linux信息安全開發 |
1.共享內存,消息隊列 2.秘鑰加密 3.接口封裝設計 4.ASN.1 5.html 6.程序操作數據庫 |
||
| 6.跨平臺兼容開發與調試 |
1.windows與linux跨平臺通信 2.windows與linux跨平臺調試 |
||
|
大項目1:
金融類安全傳輸平臺
|
本項目類似于支付寶與銀行的匯帳,二者相互識別與身份認證,是一款基礎設施類項目,實現標準的信息安全服務; | ||
|
第六階段: 分布式游戲服務器開發 |
1.游戲開發 |
1.游戲框架 2.物理檢測引擎 3.設計模式 4.MVC架構 |
可掌握的核心能力: 掌握高性能服務器解決方案(負載均衡); 掌握分布式存儲解決方案(redis集群/mysql集群/ mongodb集群); 掌握項目壓力測試和單元測試,掌握服務器邏輯開發。 可解決的現實問題: 解決大型互聯網公司并發高吞吐問題; 解決分布式web應用服務器集群問題。 市場價值: 熟練學習和掌握后,可滿足企業開發的初中級需求,根據市場反饋數據看,薪資普遍在 9000-15000元 /月。 |
| 2.虛擬化Docker |
1.Docker容器基礎指令 2.Docker網絡配置 3.DockerFile、DockerCompose |
||
| 3.分布式文件存儲服務器和緩存服務器 |
1.fastDFS分布式存儲系統應用開發 2.redis緩存開發 |
||
| 4.深入理解nginx |
1.nginx的部署 2.nginx維護機制 3.nginx通信架構模型 4.nginx的高并發性能架構 |
||
| 5.負載均衡反向代理 |
1.基于nginx搭建反向代理 2.分布式web應用服務器搭建 |
||
| 6.git |
1.代碼版本控制工具git的常用指令 2.git的團隊開發組建 3.git代碼倉庫的創建與管理 |
||
|
大項目2: 分布式游戲服務器開發 |
本項目是指通過集群應用、網絡技術或分布式文件系統等功能,實現的游戲業務處理、并發的服務器實現。 | ||
|
第七階段: 入侵檢測與網絡攻防 |
1.Kali Linux操作系統實戰 |
1 Kali Linux介紹 2.Kali Liunx安裝 3.Kali Linux系統更新 4.Kali Linux基本配置 5.Kali Linux 常用攻擊工具 |
可掌握的核心能力: 具備市場主流網絡安全攻防技術; 具備流量監測等核心安全研發能力。 可解決的現實問題: 解決國內外敵對勢力通過隱匿通道(如VPN、即時通信軟件)有限監控手段現狀問題; 解決私有加密應用和網絡異常通信行為,并能對加密流量進行還原和審計。 市場價值: 熟練學習和掌握后,可滿足企業開發的初中級、甚至高級需求,根據市場反饋數據看,薪資普遍在 12000-20000元 /月。 |
| 2.網絡防御技術 |
1.網絡攻防環境搭建 2.信息安全理論 3.Linux基本安全防護技術 1)訪問權限 2)訪問控制列表ACL 3)文件屬性 4)PAM技術 5)特權機制 4.安全審計 5.網絡嗅探及協議分析技術 1)Wireshark抓包工具 2)Tcpdump抓包工具 3)網絡嗅探技巧 6.Linux防火墻技術 1)Iptables詳解配置規則 2)TCP Warrpper 7.Linux 入侵檢測分析技術 1)Debian 9 入侵分析 2)開機自啟服務與安全防護機制 |
||
| 3.網絡攻擊技術 |
1.安全滲透 2.范圍界定 3.信息收集與DNS記錄分析 4.目標識別技術 1)識別目標主機 2)系統指紋信息識別 5.服務枚舉 1)端口掃描 2)Nmap識別服務指紋信息 6. DDOS分布式拒絕服務攻擊 1)TCP SYN Flood攻擊 2)TCP Reset攻擊 7. 口令暴力破解 8. 網絡攻防藝術 9. 滲透測試實戰 |
||
| 4.異常通信行為分析 |
對采集到的netflow原始流記錄或錄制的原始報文等組合應用多種網絡通信行為分析技術,可發現未知攻擊和未知木馬。 異常域名檢測:通過分析域名請求、應答記錄發現異常域名,留存域名訪問記錄元數據。 異常通信行為分析:發現網絡異常通信行為,如內部主機和外部主機的間歇性連接、服務器主動外聯、工作主機非工作時間主動外聯等。 |
||
| 5.加密流量還原 | 支持自由門、極速VPN、shadowsocks等隱匿通道的流量破解還原能力,支持Talkbox應用的破解還原。 | ||
|
大項目3: 網絡隱匿私有 應用入侵檢測系統 |
網絡私有應用監測系統主要由多核硬件平臺、安全操作系統、監測引擎、存儲管理、數據關聯分析、協同分析、升級管理、維護管理、綜合管理界面等功能模塊組成。 | ||
|
第八階段: Shell腳本編程 與面試強化 |
1.Shell高級編程 | 1.高級指令引入2.Shell函數3.Shell特殊用法4.Shell案例實戰 |
課程設計理念: Shell編程作為Linux平臺高級運維語言,掌握Shell可以在任意Linux/Unix操作系統做系統維護和問題定位。 可掌握的核心能力: Unix/Linux下Shell編程開發; 掌握Shell的函數語法和工具制作; 掌握Linux常用Shell指令和問題定位方法; 面試強化訓練。 可解決的現實問題: 復習和鞏固所學知識,進行專題面試強化。 |
| 2.面試強化 | 1.高級數據結構2.數據庫加強訓練3.面試強化訓練 | ||
備注:該課程大綱僅供參考,實際課程內容可能在授課過程中發生更新或變化,具體授課內容終以各班級課表為準。
黑馬程序員是傳智播客旗下的高端IT教育品牌, 2010年,黑馬程序員在中關村軟件園開設第一個Android培訓學科,現已開設JavaEE、PHP+H5全棧工程師、產品經理、前端與移動開發、C/C++、新媒體+短視頻運營、Python+人工智能、大數據、UI/UE設計、軟件測試、Linux云計算+運維開發、Go語言與區塊鏈、影視制作、智能機器人軟件開發等培訓學科,直營分校遍布北京、上海、廣州、深圳、武漢、鄭州、西安、長沙、濟南、重慶、南京、杭州、成都、、合肥、太原、廈門、沈陽等城市。
黑馬程序員是傳智播客旗下高端IT教育品牌,以務實、質量、創新、分享、專注、責任為核心價值觀,致力于服務各大軟件企業,解決當前軟件開發技術飛速發展,而企業招不到優秀人才的困擾。 目前,“中關村黑馬程序員訓練營”已成長為行業“學員質量好、課程內容深、企業滿意”的移動開發高端訓練基地,并被評為中關村軟件園重點扶持人才企業。
黑馬程序員不僅著重培養學員的基礎理論知識,更注重培養項目實施管理能力,并密切關注技術革新,不斷引入先進的技術,研發更新技術課程,確保學員進入企業后不僅能獨立從事開發工作,更能給企業帶來新的技術體系和理念。
黑馬程序員的學員多為大學畢業后,想從事IT行業,但各方面條件還不成熟的年輕人。黑馬程序員的學員篩選制度非常嚴格,包括了嚴格的技術測試、自學能力測試,還包括性格測試、壓力測試、品德測試等。百里挑一的殘酷篩選制度確保了學員質量,并降低了企業的用人風險。
一直以來,黑馬程序員的教學研發團隊一直致力于打造精品課程資源,不斷在產、學、研三個層面創新自己的職教理念與教學方針,并集中黑馬程序員的優勢力量,有針對性的出版了計算機系列書籍30多冊,制作了配套教學視頻數十套,并發表各類技術文章數百篇。
黑馬程序員分享的免費視頻教程累計時長10余萬小時;率先在業內推出免費公開課,現已經開設700多節;印制現有學科的光盤,并且面向全國范圍內免費給學員發放,累計發出去的光盤數量已經突破300萬,通過免費提供的資源已經影響了近5000萬IT愛好者。
黑馬程序員始終秉承“為莘莘學子改變命運而講課,為千萬學生少走彎路而著書”的使命,以技術視角關注IT產業發展,以深度分享推進產業技術成長,致力于弘揚技術創新,倡導分享、開放和協作,努力打造高質量的IT人才服務平臺。