| 自动化
课程名称及编号: 程序设计思想与方法(CS901) |
学分 / 学时: 3/48 |
|
主讲教师(姓名、职称): 陈英、陆朝俊、孟桂娥、张冬茉、张同珍、姚莉秀 |
授课语言: 中文 |
|
必修/选修: 必修 |
开课时间: 秋季 |
|
适用专业:自动化、计算机科学与技术、测控技术与仪器、电气工程及其自动化、电子科学与技术、信息工程、信息安全、软件工程、微电子学 |
开课单位:电信学院计算机系 |
|
授课方式: 课堂教学+上机实验+大作业+其他拓展训练 |
考核方式:闭卷期末考试+下半学期大作业+平时上机作业 |
|
先修课程: 无 |
后修课程:C++程序设计,数据结构 |
|
课程简介: (对课程的概括描述) 程序设计思想与方法是自动化专业必修的专业基础课。本课程主要以python语言为媒介,让学生初步了解程序设计的思想与方法,培养编写程序以解决实际问题的能力;让学生了解计算思维的基本概念,初步掌握运用计算机科学中的基本思想去求解问题、设计系统和理解人类行为的技能,以期达到应用计算思维于解决不同学科中问题的目的。 同时这是一门实践能力要求很强的课程,要求学生在作业和上机练习中都要具体编程实现,复杂程序设计和调试过程既能体现出学生对所学知识的掌握,也能很好地磨练学生锲而不舍、坚韧不拔的意志。 |
||
课程培养目标 : 《程序设计思想与方法》以课堂教学为主,辅之以上机实验、合作完成大作业、课程答疑。为提高学生的程序设计能力还提倡学生利用美国官方程序设计竞赛网站(初学者平台-USACO和提高者平台-UVa)进行网上拓展程序训练。通过这些活动,达到对毕业要求的贡献为: 2.6 具有计算机技术应用的基本能力。 9.2.能理解一个多角色团队中每个角色的作用,并能在团队中做好自己承担的角色。 8.1.对于自我探索和学习的必要性有正确的认识 8.2.能够采用合适的方法通过学习发展自身的能力 |
||
教学要求: 通过本课程的学习,锻炼了学生的如下能力: 问题分析能力:能够应用数学和计算机思维和计算机编程技术,识别、分析复杂工程问题,获得有效解决方案。 团队组织能力:能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。 终身学习能力:具有自主学习和终身学习的意识,有不断学习和适应发展的能力。 |
||
撰写者:陈英,姚莉秀 发布时间: 2015年3月 |
||
一、课程性质和教学目标
课程性质:本课程是电院的基础课程,也是自然科学类通识课程。
教学目标:程序设计思想与方法课程的目标,第一是让学生初步了解程序设计的思想与方法,培养编写程序以解决实际问题的能力;第二是让不同专业的学生了解计算思维的基本概念,初步掌握运用计算机科学中的基本思想去求解问题、设计系统和理解人类行为的技能,以期达到应用计算思维于解决不同学科中问题的目的。
本课程包含计算机科学简介;程序设计的基本要素;数据的基本结构;函数的思想与方法;条件判断和循环处理;图形用户界面编程;大数据处理;仿真和优化;计算学简介;数据结构及其应用:算法设计基础等各章节组成。
通过本课程教学,不仅使学生了解程序设计的基本思想,而且可以针对具体的问题,掌握解决问题的实际方法。(毕业要求2.6,8.2)
二、课程教学内容及学时分配
教学内容 |
学时 |
课堂 教学 |
难点 |
大作业及 要求 |
作业 |
1. 计算机科学简介 了解计算机科学、了解Python语言的特点 |
2 |
2 |
Python 程序设计的环境安装 |
|
章节习题
|
2. 程序设计的基本要素 学习程序设计中的值和类型、变量赋值、输入输出等基本知识 |
2 |
2 |
输入输出的操作 |
|
|
3. 数据的基本结构 学习数值、字符串、元组、列表、文件等基本数据类型和结构 |
4 |
4 |
字符串、列表、文件 |
|
|
4. 函数的思想与方法 学习函数的概念和参数传递的方法、变量的作用域、函数的调用过程、函数的返回值,掌握递归函数的设计 |
6 |
6 |
变量的作用域,参数的传递,递归函数 |
|
|
5. 条件判断和循环处理 学习逻辑判断、条件语句和循环语句的规范与使用 |
2 |
2 |
逻辑判断及其应用 |
|
|
6. 图形用户界面编程 学习面向对象的思想,以及简单的图形用户界面编程 |
2 |
2 |
面向对象的思想 |
|
|
7. 数据类型的定义 学习自定义类的规范,类的继承与自定义类的应用 |
4 |
4 |
类的封装与类的继承 |
|
|
8. 大数据处理 学习阵列的表达方法,以及大数据处理的特点和方法 |
2 |
2 |
阵列的嵌套表达方法 |
|
|
9. 仿真和优化内容:学习简单的仿真和优化的方法 |
2 |
2 |
|
用自定义类型,以及函数的设计思想,仿真现实世界的现象或游戏 |
|
10. 计算学简介 简单介绍计算物理学/计算化学/计算生物学/计算经济学 |
2 |
2 |
|
|
|
11. 数据结构及其应用 学习常用的数据结构(队列与栈)的设计与使用,学习大数据上的遍历和搜索的思想与方法 |
2 |
2 |
数据结构的应用 |
|
|
12. 算法设计基础 了解算法设计、算法的正确性和算法的时间和空间的复杂性的基本判别方法 |
2 |
2 |
算法的复杂性判别 |
|
三、教学方法
课程教学以课堂讲学为主,结合课堂讨论、网上问答,作业、大作业等共同实施。使学生们具有计算机技术应用的基本能力。
课程教学主要内容依据是本校教师编写的教材。该教材编写时参考了大量国外名校经典教材,内容编排合理,课后章节练习丰富而层次分明,既有简单的概念练习又有复杂的主题讨论、综合练习,适合本校的学生学习。在参考教材上,推荐了国内外优秀教材,有深有浅,适合具有不同学习基础的同学在不同学习阶段参考学习。这极好地培养了学生的终身学习能力,即同学们能够在不断地摸索过程中找到合适的学习方法来发展自身能力,并且在能培养他们在自动化工程实践中,不断根据需要学习新知识和新技术,掌握正确有效的学习方法;
课后要求学生做二方面的工作:1)授课内容的机上练习,通过感性的认识理解和巩固上课内容,2)章节作业的练习,通过对新知识的应用,加深对内容的理解和进一步掌握。在课堂知识学习的同时,安排每2周一次(2学时)的上机辅导,保证学生在学习期间的问题和难点得到及时的解决。
课后章节作业主要安排与本章节相关的内容作上机实验,培养同学分析问题与解决问题的基本能力。大作业实验题则更注重对知识的综合应用、专业兴趣的培养,以及同学之间的协作能力。以达到“组织管理、表达和人际交往能力,在团队中具有发挥作用的能力和协作能力”。
四、考核及成绩评定方式
考核方式: 考试 + 课后作业 + 大作业
成绩评定方式:期末考试50 % + 大作业30 % + 习题和课堂练习20 %
五、教材及参考书目
教材:
[1] 陆朝俊. 程序设计思想与方法:问题求解中的计算思维. 北京:高等教育出版社,2013:11-6.
参考书目:
[1] Downey, Allen B. Python for Software Design: How to Think Like a Computer Scientist. Cambridge University Press,2009.
[2] Jennifer Campbell,Paul Gries,Jason Montojo,Greg Wilson. Practical Programming:An Introduction to Computer Science Using Python. Pragmatic Bookshelf,2009.
课程组教师名单: 黄林鹏、孟桂娥、姚莉秀、张同珍、王群慧、陈英、陆朝俊、王英林、庄天红、丁宁、朱弘恣
大纲执笔: 陈英,姚莉秀