Linux C++软件工程师全科班--课程概况 yqC Q24
X$7Oo^1;
* 培养目标:Linux/UNIX C++高级软件工程师 vU_d=T%$
专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业Linux/UNIX C++软件工程师。 Ow
cVPu_
mQd4#LJ_
课程概况 F`Dg*O
一、Linux操作系统 AW,v
[%j?.N
涉及技术:Ubuntu GNU/Linux、RedHat Linux AS5 m,W) N9 M
f7XQ~b
课程要求:熟练使用常用的Linux/UNIX命令。 DS#cm3
K3vseor
时间:1周 z-EwXE
二、Linux C++开发环境搭建、开发工具的使用 EJf #f
B :.@Qi^
涉及技术:vi、GCC、GDB、Make、CVS、Subversion、Eclipse CDT FAQr~G}
&8[ZN$Xe"
课程要求: YCa@R!M*O
熟练使用vi文本编辑器; doP$N3Zm
@s_3 0+
熟练使用GCC工具链进行编译、调试、构建可执行文件或共享库/静态库; '|vD/Qf=&
A}t %;V2
熟练编写Makefile; \~JNQ&_o
C`\9cej
熟练配置、使用CVS和Subversion两种版本控制工具; QGs1zfh*
"+=Pp
熟练配置、使用Eclipse CDT开发工具 L'zE<3O'3
wP[xmO-%
时间:1周 &+mV7o
三、C++语言(8周) ,Bisu:v6FW
C++是一门多范型编程语言,相对于C、Java、C#等C系语言,复杂度高,但一旦领悟C++的精髓,则能发挥C++语言的强大威力,为了让学员掌握C++语言编程技术,我们将这部分的课程分为四大块: ^4c,U9J=
1、面向过程编程: Core C++ ;B&^yj&;
BjJ,"sT
涉及技术:C++基础:类型和声明、指针与数组、表达式与语句、函数、名字空间、异常、代码文件的组织 +c^_^Z$_4o
ShQ|{P9
课程要求:掌握扎实的C++基础知识 '
|&>/dyq
y }\r#"Z`
时间:2周 ojHhT\M`
2、面向对象编程: 类与继承(Class & Polymorphism) ~9Zh,p;
QX[Djz0H8
涉及技术:类设计、运算符重载、继承与多态 +7,8w
AY#wVy
课程要求:正确理解面向对象的概念,用面向对象的思维和方法构建软件,正确地设计和使用类以及继承体系。 7;&(}
\+-zRR0
时间:2周 "jMqt9ysN
3、泛型编程: C++模板(Template) %BUEX
_ Yfmxn8V
涉及技术:类模板、函数模板、函数对象(Function object) EXuLSzQwv
k`Nyi)AGe
课程要求:C++模板是C++强大威力的技术支撑,是构建C++标准库、Boost类库、ACE框架等的基础,必须熟练掌握C++模板技术。 t/}L36@+
'T\dkSJv;V
时间:2周 9A~>`.y
4、C++标准库应用 =I2@/,
tR kF
涉及技术:标准容器(STL容器):vector、list、map、set等等;迭代器、算法库、IO流、C语言数学库等 B$rTwR"(-
课程要求:对常用的部分如容器、迭代器、常用的算法、IO流,必须牢固掌握、熟练使用,对其它部分必须有认识,以免日后工作中频繁的编写标准库中存在的内容,重复制造轮子。 /Rj#sxtdw
AXs=1 e
时间: 2周 5iVQc -m&
四、C++ Boost模板库 \[yr=X
Boost是由C++标准委员会成员发起、众多C++界高手参与设计并实现的一个涉及面广、质量高且业已广泛使用的C++标准后备库,其中TR1已经被纳入C++0x标准库。这部分的课程将涉及其中一些常用的类库。 lsk_P&M
bmu6@jT
涉及技术:Aiso、Thread、Interprocess、System、File System、Date Time、Format、Array、Lambda、Signals、TR1中的部分(Regex、Tuple、Smart Point、Hash Map、Hash Set等) m`z7fi7u
r'/\HWNP
课程要求:必须掌握的类库有:Aiso、Thread、Date Time以及TR1中部分内容。 (S`6Q
+b^]Pz5
时间:2周 o\Uu?.-<
五、ACE框架 I,b9t\(6
ACE是一个被广泛使用、设计优雅、高性能的C++通信框架(不仅仅是通信框架),其设计及实现被众多开源框架所借鉴。是构建稳定、高性能、高吞吐量、跨平台的服务器端程序的优秀框架。 %SAw;ZtQ:
`OqM8U
@
涉及技术:ACE Reactor框架、ACE Proactor框架、MultiThread支撑、Timer(Scheduler)、ACE Service Configurator [)^mBVht
CE uWw:)
课程要求:以上列举的部分是服务器端编程必不可少的部分,均需熟练使用。 J!{Al
.u l
53 m
时间:2周 ^i+[m
六、数据库开发 F$Hx`hoy
"+)K |9T#
专注Oracle 10g、MySQL5.0+。这部分的课程分为以下三大块: )0^># k
1、SQL语言: Z|G/^DK!
.wmnnvtl,
涉及技术:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL l4rMk^>>
~2@Lx3t$
课程要求:熟练使用SQL语言。 8$0\J _
wJe?t$ac?
时间:1周 %Tv^GP{}
2、Oracle和MySQL存储过程、函数、触发器 t6+YXjXK
OR:[J5M)
涉及技术:PL/SQL qz!Ph5(
_T5)n=|
课程要求:熟练编写Oracle和MySQL存储过程、函数、触发器 rEdY>\'
=7%oE[
时间:1周 v!9i"@<!
3、C++数据库开发 zvY+R\,in
>O#grDXb
涉及技术:OTL或DTL(两个高性能、易用的C++模板类,针对各大主流数据库如:Oracle、DB2、SqlServer、MySQL等) SHV4!xP-V
!4WEk
课程要求:熟练使用OTL和DTL进行数据库编程。 |Y},V_@d
|S&5es-yW
时间:0.5周 EF#QH
_X
七、软件工程
%v+=;jw
一个优秀的软件工程师不仅具备优秀的编码能力,更应该拥有优秀的软件设计思维和方法,以下课程也是轩辕学员必修的内容。 7G<