1C++程序设计ProgramminginC++1010270主讲:姜学锋,计算机学院2课程计划►1.课程目标Coursegoals►2.预备知识prerequisites►3.教学大纲syllabus►4.作业assignments►5.成绩评分grading►6.协作与欺骗政策►7.学习方法howto3课程计划►1.课程目标Coursegoals►如何使用C++语言编写程序►如何编写应用程序4课程计划要么编程,要么被编程ProgramOrBeProgrammed人类学语言时,学的不仅是听还有说;学字时,学的不仅是读还有写;而现在随着我们向一个越来越数字化的世界迈进,我们不仅应该学会如何使用程序,还要学会如何开发程序。在未来,面对一个高度程序化的世界,如果你不能开发软件,那么你将变成软件。就是这么简单:要么编程,要么被编程。Whenhumanbeingsacquiredlanguage,welearnednotjusthowtolistenbuthowtospeak.Whenwegainedliteracy,welearnednotjusthowtoreadbuthowtowrite.Andaswemoveintoanincreasinglydigitalreality,wemustlearnnotjusthowtouseprogramsbuthowtomakethem.Intheemerging,highlyprogrammedlandscapeahead,youwilleithercreatethesoftwareoryouwillbethesoftware.It'sreallythatsimple:Program,orbeprogrammed.5课程计划►为什么是C++?6课程计划7课程计划►西北工业大学程序设计►始于1996年►里程碑:2003年、2008年、2012年8课程计划►西北工业大学程序设计9课程计划►2.预备知识prerequisites►应该先修过或已经掌握计算机导论或者大学计算机基础的主要内容,►了解计算机的发展过程,理解信息的存储与表示,理解计算机系统的基本构成和工作原理,►能够熟练地操作计算机及通过互联网获取信息资源。10课程计划►3.教学大纲syllabus►课程代码►C++程序设计1010270►C++程序设计实验101028011课程计划►3.教学大纲syllabus►课程学分►C++程序设计2.5►C++程序设计实验212课程计划►3.教学大纲syllabus►学时分配►(1)讲授课时:每周2单元,共10周,每单元2小时►(2)课内实验:每周1单元,共10周,每单元3小时►(3)实验考核:8编程题/2小时►(4)课外实验:30学时课程设计13课程计划►3.教学大纲syllabus►考试时间►(1)实验期末考试:6月11~15►(2)理论期末考试:6月19日14课程计划►3.教学大纲syllabus►教材►C++程序设计,清华大学出版社,姜学锋、周果清、刘君瑞,ISBN9787302281719►C++程序设计实验教程,清华大学出版社,魏英,ISBN9787302249405►C++程序设计习题与解析,清华大学出版社,刘君瑞,ISBN978730224941215课程计划►4.作业assignments►作业分为3种:►(1)测验练习QUIZexercises(C++程序设计习题与解析除编程题之外的内容)►(2)问题求解POJproblemssolving(教学网站所列)►(3)课程设计Projects(期中、期末各1个)16课程计划►5.成绩评分grading►理论成绩►(1)作业(QUIZ和POJ)40%►(2)期末(上机考试)60%►实验成绩►(1)课程设计40%►(2)期末(编程考试)60%17课程计划►6.协作与欺骗政策►学生可以与其他同学讨论作业和实验室项目,但所有工作必须是自己完成的。如果学生所做的工作是与其他学生讨论完成的,请列出合作者的名字在报告和程序代码中。►测验练习QUIZ和问题求解POJ必须独立完成,作弊将不会被容忍。18课程计划►7.学习方法howto►课堂►(1)听讲(无需记录)►(2)回答问题(期末加分)►(3)提出高质量问题(期末加分x2)19课程计划►7.学习方法howto►课外►(1)阅读Reading►(2)思考Thinking►(3)上机重现课堂►(4)发现问题(课堂时提出)►(5)谁是本班的“高手”,与他(她)讨论问题20课程计划►7.学习方法howto►实验►(1)大量编程训练►(2)编程解决本专业问题►(3)编程解决数学、代数、物理等问题►(4)思考编程还能解决什么问题?21课程计划程序设计简介CH1.1~4编写、编译、运行一个C++程序CH1.5基本数据在C++程序中的表示CH2.1~3基本数据的运算和处理CH2.4编程实现基本数据输出CH3.1~2编程实现基本数据输入CH3.2编程实现选择分支CH3.3~4编程实现循环CH3.5调用函数-返回与参数CH4.1~2调用函数-原型与声明CH4.3~4设计函数-增强函数设计CH4.5~7调用函数-调用形式及数据传递CH4.8~1222课程计划设计函数-接口与实现分离CH4.13组织规模化程序CH4.14~CH5、CH16.1大批量数据的表示CH6.1~6.2函数间实现大批量数据传递CH6.3文字信息的表示和处理CH6.4~5排序和查找算法实现CH6.6指针的含义与运算CH7.1~2大批量数据更简洁的表示CH7.3~4函数实现返回不同类型数据CH7.5获取与管理动态内存CH7.6~8复杂数据在C++程序中的表示CH8.1~5用链表表示动态的复杂数据CH8.6~1023课程计划用类表示抽象数据CH9.1~2对象的初始化和销毁CH9.3数据成员和成员函数CH9.4~8数据封装与信息隐蔽CH9.9~11类的继承与派生类CH10.1~5多态性的处理CH10.6~7实现运算符重载CH11大程序工具-异常处理和命名空间CH12~CH13文件与字符串流的处理CH14.1~2抽象数据的表示与运算CH14.3分析程序算法CH15.1~2设计常用算法CH15.324课程计划Windows界面程序设计CH16.2.1~6实现人机交互的Windows程序CH16.2.7~9实现OpenGL图形编程CH16.3实现多媒体/网络/数据库编程CH16.4/5/625课程计划►7.学习方法howto►理解成绩分数►(1)89和91在编程上有多大区别?►(2)69和91在编程上有多大区别?►(3)编程应追求什么?26结束