Linux C++软件工程师全科班--课程概况 ~^eC?F(
-]MZP:s
* 培养目标:Linux/UNIX C++高级软件工程师 V4%7Xj
专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业Linux/UNIX C++软件工程师。 4-xg+*()
Cz4l
课程概况 M""X_~&I"
一、Linux操作系统 79M`?xm
y;LZX-Z-
涉及技术:Ubuntu GNU/Linux、RedHat Linux AS5 ?kc,}/4
7I6&*I
课程要求:熟练使用常用的Linux/UNIX命令。 pkA(\0E8
tpKQ$)ed
时间:1周 <UJ5n) }"\
二、Linux C++开发环境搭建、开发工具的使用 &) Iue<&2
5kj=Y]9\I
涉及技术:vi、GCC、GDB、Make、CVS、Subversion、Eclipse CDT {E>(%vD
;cWFh4_
课程要求: p:|p?
熟练使用vi文本编辑器; rAQ3x0
^eqq|(<K
熟练使用GCC工具链进行编译、调试、构建可执行文件或共享库/静态库; RXbZaje$
fAeq(tI=
熟练编写Makefile; mz .uK2l{
ob=IaZ@?
熟练配置、使用CVS和Subversion两种版本控制工具; 9KZLlEk5O
%|?PG i@5
熟练配置、使用Eclipse CDT开发工具 x$V[xX
/57)y_ \
时间:1周 q?Mmkh)g
三、C++语言(8周) If. hA}
C++是一门多范型编程语言,相对于C、Java、C#等C系语言,复杂度高,但一旦领悟C++的精髓,则能发挥C++语言的强大威力,为了让学员掌握C++语言编程技术,我们将这部分的课程分为四大块: cz*Z/5XH
1、面向过程编程: Core C++ WAh{*$Rpl
e p\a
涉及技术:C++基础:类型和声明、指针与数组、表达式与语句、函数、名字空间、异常、代码文件的组织 {UEZ:a
as@I0e((
课程要求:掌握扎实的C++基础知识 ?s{Pp
l'(7p`?
时间:2周
-B#>Jn#F
2、面向对象编程: 类与继承(Class & Polymorphism) & Pzr)W(
U_Va'7
涉及技术:类设计、运算符重载、继承与多态 sZ7BBJX2K
v!?>90a
课程要求:正确理解面向对象的概念,用面向对象的思维和方法构建软件,正确地设计和使用类以及继承体系。 jQ?6I1o
I =yy
I
时间:2周 z4c{W~}`
3、泛型编程: C++模板(Template) nrI-F,1
vC!}%sxVw_
涉及技术:类模板、函数模板、函数对象(Function object) 'd=B{7k@
rc]`PV
课程要求:C++模板是C++强大威力的技术支撑,是构建C++标准库、Boost类库、ACE框架等的基础,必须熟练掌握C++模板技术。 .^*
.-8q
OLxiY r
时间:2周 ^T/d34A;SP
4、C++标准库应用 w#`E;fN'
{3=]cLtt
涉及技术:标准容器(STL容器):vector、list、map、set等等;迭代器、算法库、IO流、C语言数学库等 '|l1-yD_
课程要求:对常用的部分如容器、迭代器、常用的算法、IO流,必须牢固掌握、熟练使用,对其它部分必须有认识,以免日后工作中频繁的编写标准库中存在的内容,重复制造轮子。 n8>(m,
q:ZF6o`Z83
时间: 2周 m]:|j[!*M
四、C++ Boost模板库 th(<S
Boost是由C++标准委员会成员发起、众多C++界高手参与设计并实现的一个涉及面广、质量高且业已广泛使用的C++标准后备库,其中TR1已经被纳入C++0x标准库。这部分的课程将涉及其中一些常用的类库。 WMd5Y`y
>`c-Fqk
涉及技术:Aiso、Thread、Interprocess、System、File System、Date Time、Format、Array、Lambda、Signals、TR1中的部分(Regex、Tuple、Smart Point、Hash Map、Hash Set等) Ucz`^}+
PWThm ooP
课程要求:必须掌握的类库有:Aiso、Thread、Date Time以及TR1中部分内容。 41jx+
0\Z
(Puag*
时间:2周 RI
jz7ZG
五、ACE框架 -XtDGNHF
ACE是一个被广泛使用、设计优雅、高性能的C++通信框架(不仅仅是通信框架),其设计及实现被众多开源框架所借鉴。是构建稳定、高性能、高吞吐量、跨平台的服务器端程序的优秀框架。 ,XNz.+Ov
ue{0X\[P<
涉及技术:ACE Reactor框架、ACE Proactor框架、MultiThread支撑、Timer(Scheduler)、ACE Service Configurator r%~/y
(Y%pk76d
课程要求:以上列举的部分是服务器端编程必不可少的部分,均需熟练使用。 re\&'%~K
Vi1=
E])
时间:2周 x*uQBNf=
六、数据库开发 7LY4q/
F%pYnHr<
专注Oracle 10g、MySQL5.0+。这部分的课程分为以下三大块: op|/_I$
1、SQL语言: n[pW^&7x
v-mhqhb
涉及技术:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL [1{uK&$e
^X/[x]UOT@
课程要求:熟练使用SQL语言。 E)w^odwMU
A~Ov(
时间:1周 Ov=^}T4zl
2、Oracle和MySQL存储过程、函数、触发器 "]C$"JR
]%VR Nm
涉及技术:PL/SQL 1zUo.Tg0
jN43vHm\Y9
课程要求:熟练编写Oracle和MySQL存储过程、函数、触发器 7Z+4F=2ff
m.A_u7D@
时间:1周 +WYXj
3、C++数据库开发 [vs5e3B)
(\<