Linux C++软件工程师全科班--课程概况
|AlR^N 6"c1;P!4 * 培养目标:Linux/UNIX C++高级软件工程师
'Dvv?>=& 专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业Linux/UNIX C++软件工程师。
mh<=[J,%p :Rs^0F8)c 课程概况
*lef=:&,, 一、Linux操作系统
5XuT={o i"|$(2 涉及技术:Ubuntu GNU/Linux、RedHat Linux AS5
\#68;)+= _k^0m 课程要求:熟练使用常用的Linux/UNIX命令。
Q]rD}Ckv- >5R<;#8 时间:1周
;> m"x 二、Linux C++开发环境搭建、开发工具的使用
X1ZgSs+i vP7K9Kx 涉及技术:vi、GCC、GDB、Make、CVS、Subversion、Eclipse CDT
h^
-.]Y 2+Px'U\ 课程要求:
!6Sd(2 熟练使用vi文本编辑器;
~gz^Cdh fN"(mW>! 熟练使用GCC工具链进行编译、调试、构建可执行文件或共享库/静态库;
Bl9jkq
] tBTTCwNT% 熟练编写Makefile;
{pb>$G:gfx =AVgIv 熟练配置、使用CVS和Subversion两种版本控制工具;
:V2bS a[lY S{ 熟练配置、使用Eclipse CDT开发工具
x8;`i$ '0$?h9" 时间:1周
b3wM;jv 三、C++语言(8周)
{JV@"t-X3" C++是一门多范型编程语言,相对于C、Java、C#等C系语言,复杂度高,但一旦领悟C++的精髓,则能发挥C++语言的强大威力,为了让学员掌握C++语言编程技术,我们将这部分的课程分为四大块:
o]IjK 1、面向过程编程: Core C++
#,{+3Y&5-+ ^m_yf|D$ 涉及技术:C++基础:类型和声明、指针与数组、表达式与语句、函数、名字空间、异常、代码文件的组织
Hi_G bCZ gcN 课程要求:掌握扎实的C++基础知识
SWp1|.=Sm =)O,`.M.Y 时间:2周
ogFKUD*h&> 2、面向对象编程: 类与继承(Class & Polymorphism)
g%u&Zkevx 56l@a{ 涉及技术:类设计、运算符重载、继承与多态
~}K5#< 8q`$y$06Dk 课程要求:正确理解面向对象的概念,用面向对象的思维和方法构建软件,正确地设计和使用类以及继承体系。
K78rg/` 1<ro7A4hK 时间:2周
X-Wz:NA 3、泛型编程: C++模板(Template)
65ly2gl fC}R4f7C 涉及技术:类模板、函数模板、函数对象(Function object)
m]*Bx%-1c vK$"# F~ 课程要求:C++模板是C++强大威力的技术支撑,是构建C++标准库、Boost类库、ACE框架等的基础,必须熟练掌握C++模板技术。
9dMrgz&' y2O4I'/5< 时间:2周
(Qgde6 4、C++标准库应用
>;z<j$;F< jlFk@:y4 涉及技术:标准容器(STL容器):vector、list、map、set等等;迭代器、算法库、IO流、C语言数学库等
IlX$YOf4 课程要求:对常用的部分如容器、迭代器、常用的算法、IO流,必须牢固掌握、熟练使用,对其它部分必须有认识,以免日后工作中频繁的编写标准库中存在的内容,重复制造轮子。
|^28\sm2e iTW? W\d 时间: 2周
Bx[rC 四、C++ Boost模板库
?^:h\C^a" Boost是由C++标准委员会成员发起、众多C++界高手参与设计并实现的一个涉及面广、质量高且业已广泛使用的C++标准后备库,其中TR1已经被纳入C++0x标准库。这部分的课程将涉及其中一些常用的类库。
&D%(~|' 0J.dG/I% 涉及技术:Aiso、Thread、Interprocess、System、File System、Date Time、Format、Array、Lambda、Signals、TR1中的部分(Regex、Tuple、Smart Point、Hash Map、Hash Set等)
zi~5l#I :b[`
v 课程要求:必须掌握的类库有:Aiso、Thread、Date Time以及TR1中部分内容。
H A}f,),G )} DUMq7 时间:2周
pf4 ^Bk}e 五、ACE框架
e T'nl,e| ACE是一个被广泛使用、设计优雅、高性能的C++通信框架(不仅仅是通信框架),其设计及实现被众多开源框架所借鉴。是构建稳定、高性能、高吞吐量、跨平台的服务器端程序的优秀框架。
Vtppuu$ >=iy2~Fz , 涉及技术:ACE Reactor框架、ACE Proactor框架、MultiThread支撑、Timer(Scheduler)、ACE Service Configurator
t6c<kIQ:-O v){ .Z^_C 课程要求:以上列举的部分是服务器端编程必不可少的部分,均需熟练使用。
jkiTj~WE- zo;^m| 时间:2周
?j^=u:< 六、数据库开发
]a2W e` E1;@=#t2i 专注Oracle 10g、MySQL5.0+。这部分的课程分为以下三大块:
q_
=b<.; 1、SQL语言:
"o& E2# 5 ,0d 涉及技术:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL
s95vK7I DoC(Z)o 课程要求:熟练使用SQL语言。
QZ
`tNq :/ 3Rm#-T s 时间:1周
iVB^,KQ@ 2、Oracle和MySQL存储过程、函数、触发器
569}Xbc/ $4jell 涉及技术:PL/SQL
Z%Z9oJ: )m3q2W 课程要求:熟练编写Oracle和MySQL存储过程、函数、触发器
&;LqF#ZL OdMO=Hy6d 时间:1周
.^)UO 3、C++数据库开发
2!N8rHRt rzp +: 涉及技术:OTL或DTL(两个高性能、易用的C++模板类,针对各大主流数据库如:Oracle、DB2、SqlServer、MySQL等)
bYe;b><G y80ykGPT\& 课程要求:熟练使用OTL和DTL进行数据库编程。
y {q*s8NY zU6a'tP 时间:0.5周
Bh&Ew
七、软件工程
)a}"^1 一个优秀的软件工程师不仅具备优秀的编码能力,更应该拥有优秀的软件设计思维和方法,以下课程也是轩辕学员必修的内容。
\U%#nU{ )o!XWh 涉及技术:数据库建模、软件建模、GOF设计模式、文档编写
zb6ju]2 课程要求:掌握数据库建模、软件建模的思想和方法,熟练使用建模工具,尝试用设计模式来思考软件的架构。至少学会编写《详细设计说明书》、《概要设计说明书》、《数据库设计说明书》。
O7'] x*oWa, 时间:1周
P7B:%HiAx 八、项目实战
Qy#)Gxp ,_!6U 轩辕提供多个企业级实战项目供学员选择,如:电信级IM Server、电信级Billing Server等基于UNIX或Linux下的高负荷、大压力的C++ Server端项目,同时提供Client端程序以便联调及测试。
~.PP30' `k\grr.J 涉及技术:本项目将涉及学习阶段所有内容。
Es 5 KCe13! 项目要求:学员按分组,分工、协作,共同完成项目,最终评估两个方面:(1)软件架构设计、软件代码实现质量。
1Xy]D _DRrznaw 时间:4周
L.6WiVP) 我们的承诺:学员严格按照轩辕设置的教学计划努力学习结业后可获取和达到在企业工作2-3年软件开发工程师的经验和水平,毕业后可直接从事软件开发工作。
Bs`$ i ;& 九、就业辅导 1天
^4%Zvl
-ZW0k@5g 邮 件:
athzhang@gmail.com 0"pVT%b Q Q: 570508473
_Fp>F 电 话:(0512) 55253348,(0) 18912671348
D j\e@?Y 地 址:江苏省 昆山市 前进西路1088号虹桥大厦 2单元 6楼
[ 此帖被athzhang在2009-07-25 14:28重新编辑 ]