Linux C++软件工程师全科班--课程概况 u$<FKp;I
&[RC 4^;\V
* 培养目标:Linux/UNIX C++高级软件工程师 ;F~GKn;}
专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业Linux/UNIX C++软件工程师。 -6t#
?Dkc'
Dq2eX;c@
课程概况 rD$7;
一、Linux操作系统 O@E&lP6
O]{H2&k@
涉及技术:Ubuntu GNU/Linux、RedHat Linux AS5 :Q\h'$C
\I'A:~b)L
课程要求:熟练使用常用的Linux/UNIX命令。 Txoc
UK&E#i
时间:1周 =WDf [?ED
二、Linux C++开发环境搭建、开发工具的使用 {-17;M$
Z$WT ~V
涉及技术:vi、GCC、GDB、Make、CVS、Subversion、Eclipse CDT
-U*XA
$V5Ol6@2
课程要求: bdcuO)3
熟练使用vi文本编辑器; pF"z)E|^
Oa@X! \
熟练使用GCC工具链进行编译、调试、构建可执行文件或共享库/静态库; Aoa0czC~
Y|B/(
熟练编写Makefile; cRU.
p}(w"?2
熟练配置、使用CVS和Subversion两种版本控制工具; G]&:">&R
|<BTK_R
熟练配置、使用Eclipse CDT开发工具 P<2yCovn`
'u696ED4
时间:1周 "?avb`YU'
三、C++语言(8周) (<%i8xu2
C++是一门多范型编程语言,相对于C、Java、C#等C系语言,复杂度高,但一旦领悟C++的精髓,则能发挥C++语言的强大威力,为了让学员掌握C++语言编程技术,我们将这部分的课程分为四大块: typ*.j[q
1、面向过程编程: Core C++ 162qx R[.
2d1'!B
zDA
涉及技术:C++基础:类型和声明、指针与数组、表达式与语句、函数、名字空间、异常、代码文件的组织 *=;=VUu5
.!9]I'9M
课程要求:掌握扎实的C++基础知识 " _q5\]z\O
4>5%SzZT\3
时间:2周 u $sX6
2、面向对象编程: 类与继承(Class & Polymorphism) }3?M0 :
&ul9N)A
涉及技术:类设计、运算符重载、继承与多态 rp1u
,][+:fvS
课程要求:正确理解面向对象的概念,用面向对象的思维和方法构建软件,正确地设计和使用类以及继承体系。 \sRRLDj%
eY&UFe
时间:2周 EkTen:{G
3、泛型编程: C++模板(Template) 5h20\b?=$
W}.4$f>
涉及技术:类模板、函数模板、函数对象(Function object) 1 1p\
z
1eb1Lvn
课程要求:C++模板是C++强大威力的技术支撑,是构建C++标准库、Boost类库、ACE框架等的基础,必须熟练掌握C++模板技术。 F48`1+
BB|{VwN
时间:2周 gV`:eNo*
4、C++标准库应用 "&2D6
8^4X/n
涉及技术:标准容器(STL容器):vector、list、map、set等等;迭代器、算法库、IO流、C语言数学库等 oY0*T9vv+
课程要求:对常用的部分如容器、迭代器、常用的算法、IO流,必须牢固掌握、熟练使用,对其它部分必须有认识,以免日后工作中频繁的编写标准库中存在的内容,重复制造轮子。 n*O/X
_<3:vyfdC
时间: 2周 qC3 rHT]
四、C++ Boost模板库 XhIgzaGVu
Boost是由C++标准委员会成员发起、众多C++界高手参与设计并实现的一个涉及面广、质量高且业已广泛使用的C++标准后备库,其中TR1已经被纳入C++0x标准库。这部分的课程将涉及其中一些常用的类库。 Pq_Il9
kYR&t}jlCg
涉及技术:Aiso、Thread、Interprocess、System、File System、Date Time、Format、Array、Lambda、Signals、TR1中的部分(Regex、Tuple、Smart Point、Hash Map、Hash Set等) D#k>.)g
^|sQkufo
课程要求:必须掌握的类库有:Aiso、Thread、Date Time以及TR1中部分内容。 WQK#&r*
<B`=oO%o
时间:2周 6,c,i;J_
五、ACE框架 +T4<