全國咨詢熱線:400-618-4000

2019年C/C++課程大綱

内蒙古快3网上投注开奖结果 www.hkiww.icu 目前課程版本:4.5   升級時間:2018.10.08   查看詳細

C/C++課程設計理念

  •  

    關注學員長遠發展

    我們加深重點內容的講解力度,結合實際開發的用法,增加項目比重,使學員增長開發經驗和知識的應用與理解,對于以后的職業生涯有極大的幫助。牢固的基礎是后續無論做項目經理還是更高層的技術研究還是其他語言的開發,都是必須的。咱們在授課的過程中,不僅關注知識的消化吸收,還注重幫助學員的職業規劃,更長遠的發展。

  •  

    課程定位更準確

    從整個IT行業角度出發,我們將C/C++定位于后端服務與安全研發工程師,更偏重C/C++上層應用與網絡攻防技術開發,意味著從windows開發到Linux開發,從前端界面到后臺服務器、從C/C++語言的底層開發到高級的上層應用開發都可勝任,而且可以掌握常見的攻防手段,讓技術之路更加穩重。對于大型項目,我們課程項目緊跟時代潮流,包含移動開發、云傳輸等,入侵檢測系統,信息安全開發等,讓學員盡快的適應企業需求。

  •  

    課程定位更務實

    設計理念以務實為主,將開發中常用的知識作為課程重點,以實用為主。并且針對零基礎學員,以代碼驅動教學,手把手的教,效果演示,并且專門安排C/C++基礎班夯實基礎知識,并且有助教對基礎差的學員一對一輔導;每個階段都有案例和就業項目實戰,讓學員畢業后能快速上手;項目管理流程、版本管理課程讓學員學習到作為企業中更高層次的人才需要具備的技能。

  •  

    課程定位更全面

    內容圍繞行業熱門技術,有針對性的進行項目實戰。在課程內容方面,我們的項目從企業級應用類項目,到時尚熱點應用類項目,再到高性能、分布式服務器類項目,最后到安全攻防項目和鞏固網絡安全理論;層層遞進。從傳統PC信息系統開發,到Linux系統開發,再到跨平臺終端開發。讓你學精、學深、學透C/C++,能做到系統培訓后,對整個知識形成體系,業后可以有廣博的知識面,并且學以致用。

  •  

    就業范圍更廣泛

    我們培養的學員就業范圍廣闊,如:桌面游戲工程師、Linux服務器開發工程師、Linux系統架構師、滲透測試工程師、網絡安全研發工程師、微服務工程師、Web服務器開發工程師、大數據/云計算工程師。涉及到的行業從傳統的金融銀行到流行的商業項目,從系統安全到網絡安全,再到新興的大數據、物聯網、人工智能開發和區塊鏈開發等熱點,C/C++無所不能,總之不用擔心學會了C/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.貪吃蛇案例實現

C/C++就業班課程大綱

學習對象

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.??槭迪鐘胍滴穹擲氳乃枷?/td>
第三階段:
C++核心編程
與桌面應用開發
1.C++對C的擴展、引用 1.C++語言的命名空間的使用;2.C++對C的擴展;3.C、C++中const不同之處;4.定義和使用引用類型變量 可掌握的核心能力:
具備常用C++方向基本知識和常用技能。

可解決的現實問題:
能夠具備基本的開發能力,看懂簡單代碼,實現開發簡單程序軟件的功能。

市場價值:
熟練學習和掌握后,可滿足企業開發的初級需求。
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界面開發的基本技巧和常用技能;

可解決的現實問題:
能夠實現簡單的前臺界面開發。

市場價值:
熟練學習和掌握后,可滿足企業開發的初級需求。
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下的軟件安裝和卸載; 可掌握的核心能力:
具備常用后臺服務器開發方向基本知識和常用技能,并具備基本的開發能力。

可解決的現實問題:
能夠實現包括服務器后臺、前端界面、服務器數據庫的開發。

市場價值:
熟練學習和掌握后,可滿足企業開發的初中級需求。
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問題;
可掌握的核心能力:
掌握常用數據庫類型的操作技巧和簡單開發。

可解決的現實問題:
熟練應用項目中使用的數據庫知識,能做簡單的數據庫開發。

市場價值:
熟練學習和掌握后,可滿足企業開發的初中級需求。
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.zinx并發框架 1. 軟件分層
2. 面向接口的編程思路
3. 基于epoll的并發封裝
可掌握的核心能力:
掌握高性能服務器解決方案(負載均衡);
掌握分布式存儲解決方案(redis集群/mysql集群/ mongodb集群);
掌握項目壓力測試和單元測試,掌握服務器邏輯開發。

可解決的現實問題:
解決大型互聯網公司并發高吞吐問題;
解決分布式web應用服務器集群問題。

市場價值:
熟練學習和掌握后,可滿足企業開發的初中級需求。
2.docker 1. 容器技術
2. docker三大核心概念
3. docker命令行操作和dockerfile
3.Nginx 1. nginx配置和典型應用
2. 部署經典FastCGI+Nginx模式
3. 反向代理
4.Unity3D 1. C#腳本編寫
2.游戲引擎應用
大項目2:游戲服務器開發
本項目是指通過集群應用、網絡技術和容器化部署等功能,實現的游戲業務處理、并發的服務器實現。
第七階段:
入侵檢測與網絡攻防
1.Kali Linux操作系統實戰 1 Kali Linux介紹
2.Kali Liunx安裝
3.Kali Linux系統更新
4.Kali Linux基本配置
5.Kali Linux 常用攻擊工具
可掌握的核心能力:
具備市場主流網絡安全攻防技術;
具備流量監測等核心安全研發能力。

可解決的現實問題:
解決國內外敵對勢力通過隱匿通道(如VPN、即時通信軟件)有限監控手段現狀問題;
解決私有加密應用和網絡異常通信行為,并能對加密流量進行還原和審計。

市場價值:
熟練學習和掌握后,可滿足企業開發的初中級、甚至高級需求。
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.面試強化訓練

備注:該課程大綱僅供參考,實際課程內容可能在授課過程中發生更新或變化,具體授課內容最終以各班級課表為準。


基礎差? 可免費學基礎班

申請試讀名額

基礎過關? 可直接就讀就業班

基礎測試

C/C++學科項目介紹

  • 金融類安全傳輸平臺

    項目簡介:

    數據安全傳輸基礎設置平臺項目(簡稱,數據傳輸平臺),類似于支付寶與銀行的匯帳,二者相互識別與身份認證,是一款基礎設施類項目,為集團、企業信息系統提供統一、標準的信息安全服務;本項目具有通用組件和業務流合理分層、子系統和子系統之間完全解耦合、Win的客戶端和Linux服務程序異構對接。

    項目特色:

    并發服務器開發、MFC/QT客戶端開發;Win系統和Linux系統對接調試;還有企業級的通用財富組件:報文編解碼組件、Socket通信組件、IPC機制讀寫組件、日志庫組件,基礎組件支持windows和Linux操作系統。

  • 分布式游戲服務器開發

    項目簡介:

    游戲開發采用3D、2D兩種游戲引擎,游戲框架采用FPS射擊場景應用;后端服務器采用高性能、分式式解決方案,實現統一游戲或其他應用后端云平臺,同時實現跨平臺、高并發小文件的快速云服務功能;集群基礎設施采用Docker容器搭建。

    項目特色:

    Epoll并發服務器、Redis/MySQL集群、分布式文件系統FastDFS、高性能服務器Nginx、U3d、Docker、游戲物理引擎等。

  • 網絡隱匿私有應用入侵檢測系統

    項目簡介:

    網絡私有應用監測系統主要由多核硬件平臺、安全操作系統、監測引擎、數據關聯分析、協同分析、升級管理、維護管理、綜合管理等功能??樽槌?。

    項目特色:

    NetFlow原始流錄制技術;VPN、即時通信、翻墻軟件、通用應用加密等嗅探技術;網絡安全威脅體系、XSS漏洞與過濾、WebShell防護、拒絕服務攻擊;常見Web安全漏洞;沙盒框架。

 

C/C++面授視頻試聽

  • 函數的定義和聲明

  • 結構體基本操作

  • calloc與realloc的使用

  • 鏈表和數組的區別

  • 以太網幀格式

  • QT介紹

申請免費線下基礎班試聽名額

教學服務

  • 每日測評

    每晚對學員當天知識的吸收程度、老師授課內容難易程度進行評分,老師會根據學員反饋進行分析,對學員吸收情況調整授課內容、課程節奏,最終讓每位學員都可以跟上班級學習的整體節奏。

  • 技術輔導

    為每個就業班都安排了一名優秀的技術指導老師,不管是白天還是晚自習時間,隨時解答學員問題,進一步鞏固和加強課上知識。

  • 學習系統

    為了能輔助學員掌握所學知識,黑馬程序員自主研發了6大學習系統,包括教學反饋系統、學習難易和吸收分析系統、學習測試系統、在線作業系統、學習任務手冊、學員綜合能力評定分析等。

  • 末位輔導

    末位輔導隊列的學員,將會得到重點關心。技術輔導老師會在學員休息時間,針對學員的疑惑進行知識點梳理、答疑、輔導。以確保知識點掌握上沒有一個學員掉隊,真正落實不拋棄,不放棄任何一個學員。

  • 生活關懷

    從學員學習中的心態調整,到生活中的困難協助,從課上班級氛圍塑造到課下多彩的班級活動,班主任360度暖心鼓勵相伴。

  • 就業輔導

    小到五險一金的解釋、面試禮儀的培訓;大到500強企業面試實訓及如何針對性地制定復習計劃,幫助學員拿到高薪Offer。