| 所属中心: |
漕河泾中心(B) |
学时数: |
15 |
| 导师姓名: |
孙老师 |
所在企业: |
花旗软件技术服务(上海)有限公司 |
| 导师评价: |
孙晓东,东南大学(南京)控制理论与控制工程专业硕士。 他曾在UT斯达康和华为上海研究所工作多年,并担任高级工程师职务。 他一直专注于通信领域的协议栈以及应用软件开发,对Unix,C++开发有一定理解和经验,目前专注于设计模式和面向对象设计应用的研究。
|
| 对应岗位: |
Unix C++软件开发 |
行业属性: |
软件业 |
| 该课程关注度: |
161 |
人力经理: |
高旭
| 人力经理联系方式 | | 电子邮件:jiurigx@126.com | | 办公座机:021-64573022-8007 | | 移动电话:13764437880 |
|
| 课程目的: |
1、学习C++语言,掌握C++的基本语言特性。 2、能较为熟练的使用C++编程,熟悉STL和模板。 3、了解面向对象以及基本软件设计理念。 4、对设计模式有一定的应用 |
| 课程纲要: |
第一部分:C++基本准备 第一节: C++历史,面向对象属性,设计原则 第二节:变量和基本类型:基本内置类型:整型,浮点型,char;变量初始化,声明和定义,作用域;Const,volatile, static, inline, extern, register, auto关键字;引用;typedef和宏定义;枚举;指针,数组指针,函数指针,和引用的不同 第三节:表达式:算术操作符,关系操作符,逻辑操作符,位操作符,赋值操作符;new和delete, malloc和free;操作符优先级;类型转换,隐式,显式转换,旧式强制类型转换 第四节:语句:if,switch,for,while,do..while,break,continue,default,goto,try,catch 第五节:函数:函数定义;参数传递 引用,指针,传值,数组,申请内存;main函数,可变形参,函数声明;递归和内联;局部对象,静态局部对象;类的成员函数;overloading,函数匹配;函数指针 第六节:数组:访问,排序和查找 第七节:链表:访问,排序和查找 第八节:异常处理:概念,捕捉类型,语句安排,效率
第二部分:C++深入学习 第九节:类:struct,公有,保护和私有,接口和实现,数据抽象和封装;this指针,友元,内联,static;默认实现的函数;继承,virtual;隐式转换,cast(static,const,dynamic,reinterpret);重载和覆盖;类的异常处理 第十节:模板:模板概念,函数模板和类模板,偏特化
第三部分:STL的使用和ACE的了解 第十一节: STL的使用:概念与iostream,string;iterator;容器vector,list,map,set等;算法 第十二节: ACE简介 实践代码:1 使用程序实现string。 2 程序说明容器vector,list,map,set的使用,指明在开发人员中的应该规避的错误。 3 使用程序实现stack。 4 ACE框架分析,具体代码示例如何使用ACE SNMP包。 5 一些简单模式的代码使用,factory,adaptor,builder等。 第十三节: 实践与回顾。要求学生编写代码分析工具(从建立模型,设计到代码编写和测试,了解软件开发周期),以帮助理解C++语言,结果作为考试成绩的一部分。 |
| 课程的评价与考核: |
出勤:每次课程都需签到,占总成绩的5%,每科8次课程,少于6次该科成绩为0; 作业:每一部分课程都配合一定的回家作业,占总成绩的40%; 考试:现场模拟,占总成绩的55%。 |
| 课程评价: |
通过一系列的课程专题学习,学生能具备Unix的基本操作,管理,配置和维护能力;并掌握目前主流开发语言C++的基本概念,编程理念以及基本编程能力,并对STL有一定了解;同时具备一定的Unix基本编程和网络编程能力,了解基本的软件开发和设计理念,使能符合大型企业开发人员的要求。本专题主要使学生学习C++语言,掌握C++的基本语言特性,能较为熟练的使用C++编程,并熟悉STL和模板,以及了解面向对象以及基本软件设计理念,为日后的工作打下坚实的基础。专题所属的Unix课程系列在课程的知识框架构建、课程体系设计、教学方式采用等以经典理论为主,结合实践经验,课堂学习和动手操作并重,帮助学生深刻理解所学内容,使学生能成为一名合格的软件工程师。 具体体现在以下几个方面: 1.系统的知识体系 本课程针对Unix C++软件工程师的技能,以经典教材作为基础,结合多年的实践经验,具有针对性的总结出一些必须的技能进行理论学习,然后根据这些章节和知识点设计了丰富的实践案例和,使学生在学习经典理论的同时结合具体的开发案例分析,锻炼了学生运用理论方法分析现实问题的能力,同时,在讲授过程中, 将编程理念,设计模式,软件开发流程等结合,综合提高学生的能力。 2.直观的情景模拟 本课程在教学方式上采用课堂教学和情景模拟教学相互结合的方式,以课堂讲授理论知识为基础,配合以体验手段模拟运用重要原理和方法,培养学生解决实际问题的能力;不仅增强了课堂知识的生动性和直观性,而且提高了学生的实践能力,加深了学生对所学知识的理解和掌握。 3. 详细的实践科目 本课程在讲授过程中,始终结合以往的软件开发项目,从理论和实践上提高学生的认识,同时,辅助以多样的实践科目,习题,例程,课程实践,开发讨论,增强学生的理论理解和动手能力。 |