1 授课教师:孙 辉 上课地点: 3103 上机实验:理工楼 2 层机房 程序设计导论 —— 第 1 讲
2 课程信息 主讲教师:孙辉 主讲教师:孙辉 – 中国人民大学,信息学院,计算机系 – 办公室:理工配楼 1 层 104A – 电 话: – 课程信箱: 答疑 答疑 – 课程题库: 统一导入账号,用户名 为学号 统一导入账号,用户名 为学号
3 上机安排 时间: 时间: – 周二上午 10:30-11:30 12:00-13:30 – 从 9 月 23 日开始 地点:理工配楼 2 层机房 地点:理工配楼 2 层机房
4 预备知识 要求学生具有计算机操作的基本技能, 能够较熟练地使用 Windows 操作系统; 要求学生具有计算机操作的基本技能, 能够较熟练地使用 Windows 操作系统; 能够通过 与教师、助教交流 能够通过 与教师、助教交流 能够使用常用的字处理软件(如: Microsoft Word, Powerpoint )编写实验 报告 能够使用常用的字处理软件(如: Microsoft Word, Powerpoint )编写实验 报告
5 教材 教材 – 《 C 程序设计》第三版,谭浩强,清华大学出 版社, 2006 – 《程序设计基础》第 2 版,吴文虎 著,清华大 学出版社, 2004 参考书目 参考书目 – 《 C++ 大学教程》( 第二版), Harvey M. Deitel , Paul James Deitel ,邱仲潘 等译,电子工业出版社, 2004 – 《 C++ 大学教程》( 第二版), Harvey M. Deitel , Paul James Deitel ,邱仲潘 等译,电子工业出版社, 2004 – 《计算机程序的构造与解释》,裘宗燕 译,机械工业出版社, 2004 – 《计算机算法 -- 设计与分析导论》,英文, Sara Baase, Allen Van Gelder , 高等教育出版社, 2001 – 《数据结构与算法 --C++ 版》(第三版), Adam Drozdek ,郑 岩等译,清华大学出版社, 2006 – 《数据结构算法与应用 -C++ 语言描述》, Sartaj Sahni 著,汪 诗林等译,机械工业出版社, 2004
6 成绩评定 平时成绩、期中考试 平时成绩、期中考试 – 共占 40 % – 平时成绩包括出勤、作业、课堂回答问题、 大作业等 期末成绩 期末成绩 –60 % – 笔试 + 上机
7 Computer Programming 程序 (Computer Program) 程序 (Computer Program) – 一组指令,控制计算机每一步的动作 编程语言 编程语言 – 一组定义计算机程序的语法规则 编程 (Computer Programming) 编程 (Computer Programming) – 编写、测试、调试 / 排除问题、维护计算机 程序源代码的过程
8 目标 学习利用计算机解决问题的基本能力 学习利用计算机解决问题的基本能力 – 分析问题 – 设计算法 – 编写程序 学习使用 C/C++ 编程语言 学习使用 C/C++ 编程语言
9 程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试 教学目标
10 教学重点 程序设计的基本概念,基本方法; 在 C 语言的环境下,学会如何针对问题进 行分析,构建数学模型,寻找算法并编程 实现; 有条有理有根有据的编程实践; 养成良好的编程风格与习惯; 重在思维方法的学习,鼓励创新。
11 四、指导思想 1. 教学上要突破传统观念和传统模式,以培 养高素质有创造精神的人才为这门课的教 学目标。 2. 强化实践 程序设计是高强度的脑力劳动,实践性极 强,不是听会的、也不是看会的,而是练 会的。要让学生充分上机动手编程。这可 能与以往的教学安排最大的不同之处。
12 3. 突出重点 重点放在思路、算法、编程构思和程序实现上 ; 语句只是表达工具,强调抱西瓜,不拣芝麻 ; 重在训练利用计算机编程手段分析问题和解决问 题的能力。 4. 养成良好的编程习惯 强调可读性 ; 变量要加注释; 程序构思要有说明; 学会如何调试程序 ; 尽可能优化 ; 对运行结果要做正确与否的分析。
13 5. 考试方法 笔试与上机解题相结合 上机解题,自动测试 不计失败,只计成功 6. 学习方法 动手动脑,在理论指导下实践 注重学习思路,总结思路 倡导:做学问,要又学又问 倡导: “ 自学、动手、应用、上网 ” 倡导:实践出真知。在编写大量程序之后,才 能感到运用自如。 7. 学习心态 “ 自立、自信、自尊、自强 ” 要有战胜困难的勇气和信心
14 五、教学内容安排 1. 概论:程序设计的基本概念与基本方法; 怎样才能学好这门基础课 2. 程序的基本结构、 C 语言基础 3. 编程关键:逻辑思维与问题求解。人是 怎样让计算机帮助自己解题的 4. 数据的组织方式一:数组 5. 模块化:函数与函数调用
15 6. 分治思想:递归算法及其实现 7. 逻辑指代与物理指代:指针 8. 数据的组织方式:文件,数据的永久存 储与重复使用
练习、上机考试系统