“计算思维”的实践和思考(上海交通大学姚天昉)
Download
Report
Transcript “计算思维”的实践和思考(上海交通大学姚天昉)
在程序设计课程中引入“计算
思维”的实践和思考
上海交通大学计算机系
姚天昉
报告大纲
引言
教学实践案例
一些问题的思考和建议
结论
引言
计算思维的核心思想和目的
计算思维是运用计算机科学的基础概念进行问题求解、
系统设计、以及人类行为理解等涵盖计算机科学广度
的一系列思维活动。
培养学生像拥有阅读、写作和算术(3R)基本技能一
样拥有计算思维技能,并能自觉地应用于日常的学习、
研究与将来的工作中。
教学实践的目的和方法
引言
教学实践是检验引入计算思维方法是否正确以及如何
推广的一个十分重要的“试金石”。
观察和评价教学实践的效果并及时总结和完善。
西安会议(C9)和济南会议(大学基础课程报告
论坛)报告的延续
计划、实施、总结和评价。
教学实践案例
引入计算思维的教学目标
程序设计思想方面:
理解计算在解决科学问题中的作用
重视计算作为科学发现的基础工具
探索不同算法在效率和性能方面的影响
理解实用的基本程序设计原则
基本理解不同程序设计语言解决实际问题的可能性
基本理解计算的限制和不可解问题
教学实践案例
程序设计方法方面:
分析和抽象问题
设计和实现针对科学问题的有效的软件解决方案
有效地使用通过函数说明所描述的软件库
理解基本数据结构的使用和功能
编写完成有明确使用目标的程序,并适当地可视化
其结果
阅读和改写已存在的程序
教学实践案例
案例一:上海交通大学《程序设计思想与方法》
概况
时间:2010年9月-2011年1月
课程学时:51(学时)(其中,课堂教学:34(学
时);实践环节:17(学时))
教学语言:英语
教学材料:英语
课程网站:英语(http://202.120.38.156/PTM-Python/)
教学实践案例
学生人数:中国学生 90人;留学生 约20人
年级:一年级第一学期
课堂教学内容
Part I:
Python Programming (20 Lectures)
Introduction to Computer Science
Introduction to Python
Value, Type, Variable, Assignment, and Type
Conversion
教学实践案例
String,
List, Tuple
and Dictionary
Conditional and Loop Statement
Function and Parameters
Recursion
Part II: Introduction to Computer Simulations,
Applications and Data Structures (10 Lectures)
Simulation and Optimization
Introduction to Computational Linguistics
教学实践案例
Data Structure and Application: Traversal
and Search
Part III: Looking at Programming Methodology
(4 Lectures)
Analysis of Algorithm
教学实践环节
小作业(个人作业)
a.输出格式变换(数据输出变换问题)
b.字符串匹配(模式匹配问题)
教学实践案例
d. 进制转换(数据转换问题)
e. 背包问题(递归问题)
大作业(小组作业-3-4人)
利用初步的计算语言学知识,设计和开发一个具
有交互界面的汉语句子分词系统(分词问题open问题)
计算语言学领域
训练语料和测试语料来自同一网站(上海世博会
教学实践案例
官方网站)
验收方式:实验报告;系统性能测试;答辩。
案例二:南方科技大学《计算思维导论》(
Python程序设计部分)
概况
时间:2011年4月-5月
课程学时:24(学时)(其中,课堂教学:12(学
时);实践环节:10(学时);考试:2(学时))
教学实践案例
教学语言:汉语
教学材料:英语
课程网站:英语(http://202.120.38.156/SUSTCPython/)
学生人数:45人
年级:一年级第一学期
课堂教学内容
Part I:
Python Programming (8 Lectures)
教学实践案例
Introduction to Python
Value, Type, Variable, Assignment, and Type
Conversion
String,
List, Tuple
and Dictionary
Conditional and Loop Statement
Function and Parameters
Recursion
Part II: Introduction to Computer Applications
and Simulations (2 Lectures)
教学实践案例
Digital Audio Processing
Simulation of Physical System
Part III: Looking at Programming Methodology
(2 Lectures)
Analysis of Algorithm
教学实践环节
小作业(个人作业)
设计和开发处理电子音频的函数,并能输出相应的
音频信号和曲线图。附加部分:组合上述函数和所
教学实践案例
开发的新函数,以达到立体声的效果。
大作业(小组作业)
设计和开发理想气体分子碰撞仿真物理系统。根据
不同的初始状态,可以计算分子速度和能量变化,
并采用曲线图和柱状图来表示这种变化情况和它们
之间的关系。
验收方法:检查开发结果和实验报告是否达到基本要
求。奖励有新意、有个性的作业。完成附加部分可得
附加分。
一些问题的思考和建议
计算思维的推行和应用不是仅仅依靠一门课程就
能解决问题。这是一个系统工程。它涉及计算机
学科的各门课程和相应的实践活动以及相互之间
的衔接。
在教学中,要采用潜移默化的方式将这种思维融
入到各个知识点以及知识点之间的关系中,使学
生自觉或不自觉地学会这种思维方式,并能初步
应用这种思维方式。
一些问题的思考和建议
实践环节是对掌握这种思维的一种最好的训练方
法。要认真对待和规划,使学生在实践中认识到
掌握这种思维方式的直接益处。
小班教学(如30-40人)有利于增加教师与学生
互相交流的机会,帮助学生建立程序设计自信心
和增强他们的编程能力。
实践环节可让学生根据自己的能力建议或选择不
同难度的题目,并留出足够的时间让学生进行
一些问题的思考和建议
践(如小作业两周;大作业四周)。
教材问题是摆在我们面前的迫切任务。如果有可
能,可以考虑同时出版一本实践项目(小作业、
大作业)指导书,其中所涉及的问题可以选自不
同的领域。它可供教师教学参考以及学生实践使
用。在教材未出版之前,也可以先出版实践项目
指导书。
结论
通过对上述两个教学实践案例的分析,说明了把
计算思维引入到计算机程序设计类课程不仅必要,
而且可行和有效。
在程序设计课程中采用Python语言,可以降低学
习难度,容易被学生掌握和应用。也受到大部分
学生的肯定。(实际上,在工程中使用Python语
言也不乏实例!)
通过实践环节,可以使学生更容易体验到计算
结论
思维所带来的直接益处。
当前要积极解决教材和实践项目指导书的编撰和
出版问题。
谢 谢!