“程序设计基础”课程教学实施方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“程序设计基础”课程教学实施方案
摘要:“程序设计基础”是计算机科学与技术专业的核心课程之一。在教育部高等学校计算机科学与技术教学指导委员会统一组织下,作者针对程序设计基础课程的培养目标和教学实施中普遍存在的问题,提出了课程教学实施方案。本文介绍了该实施方案的总体框架,并围绕教学内容组织、重点与难点问题、实践环节等方面的内容分析了课程实施的要点,对在不同类型计算机人才培养中课程实施的不同侧重点进行了说明。
关键词:程序设计基础;计算机科学与技术专业;核心课程;课程教学;教学实施
“程序设计基础”是计算机科学与技术专业的核心课程之一,主要讲授程序设计语言的基本知识和程序设计方法,使学生了解高级程序设计语言的结构,掌握程序设计的思想和方法,以及基本的程序设计过程和技巧,具备初步的分析问题和利用计算机求解问题的能力。
程序设计基础是一门教学难度较大的课程。作为程序设计入门课程,本课程是学生深入接触计算机学科领域知识的第一门课程,因而,学生往往难以理解程序设计的思维方式,对教学内容似懂非懂,而掌握良好的程序设计方法则更加困难;在课程教学实施中还存在着学生基础差异大的问题,教师很难把握教学进度与教学内容深度;本课程的主要目标是让学生掌握程序设计的方法和技能,即培养学生程序设计的能力,而如何通过切实可行的编程训练来提高学生的程序设计能力,是许多从事这门课程教学工作的教师非常关心的问题。
近年来,许多高校的任课教师为了提高课程教学质量,在教学内容、实践体系、教学方法和教学手段等方面进行了积极的改革,取得了一些成效。特别是,一些学校在程序设计基础精品课程的建设方面积累了丰富的经验。为了很好地整理和总结这些经验,根据教育部高等学校计算机科学与技术教学指导委员会的统一部署,由浙江大学计算机科学与技术学院何钦铭教授、哈尔滨工业大学计算机科学与技术学院苏小红教授、北京工业大学计算机学院叶乃文副教授和浙江大学城市学院颜晖教授等高校的相关教师组成课题组,结合各校在本课程长期教学改革中所取得的实践经验,共同研究程序设计基础课程教学实施方案,供承担本课程教学任务的广大教师参考。
目前,程序设计基础课程实施方案已由高等教育出版社出版。该实施方案以过程型程序设计语言为基准,分析程序设计入门课程的教学实施方法。其特点主要是:(1)针对性——重点针对教学过程中普遍存在的问题和疑惑;(2)全面性——从教学内容设计、教学要点、实践体系建设等方面给出指导性意见;(3)分类性——充分考虑不同层次、不同类型学校培养人才的差异性。
本文介绍了该实施方案的总体框架,并围绕教学内容组织、重点和难点问题、实践环节等方面的内容分析课程实施的要点,最后说明在不同类型计算机人才培养中课程实施的不同侧重点。
一、课程定位与教学实施方案总体框架
1.课程的定位
程序设计基础课程主要涉及学科方法论中的设计形态的内容,设计能力的培养是核心,加强实践是培养设计能力的重要途径。
在教学基本内容上,本课程包含了过程型高级程序设计语言的基本内容,以及程序设计方法学、数据结构与算法基础等方面的初步内容。经过本课程的学习,使学生理解计算机学科问题求解的基本特点、过程型高级程序设计语言的构成和特点,以及数据表达、流程控制、算法和程序设计等方面的知识,掌握程序设计和软件开发的基本思想、方法和技巧。
在课程能力培养目标上,从提出问题、设计算法、选定数据表示方式,到编写代码、测试和调试程序,以及分析结果的整个程序设计过程中,培养学生抽象问题、设计与选择解决方案的能力,以及用程序设计语言实现方案并进行测试和评价的能力。
2.教学实施方案的总体框架
根据本课程教学实施过程中存在的问题,以及课程自身的定位,课题组在设计教学实施方案时,重点考虑以下两方面的问题:
(1)教学内容的组织与传授。如何合理地组织教学内容,使之较好地反映课程教学的重点和学生对程序设计方法的认知规律;如何解决教学内容中的难点和重点问题,使学生能更好地理解相应知识点。
(2)程序设计能力的培养。如何建立良好的编程能力实践训练体系,使大多数学生能得到基本的编程能力训练,同时基础较好的学生能得到更加深入的训练机会。
目前,已经完成的教学实施方案具体包括以下9个方面的内容:
(1)基本描述。课程名称、课程性质、预备知识要求和基本学时(含授课、实
验和选学的课程设计)。
(2)教学定位与要求。基础知识要求、能力培养要求、实践教学要求、作业要求和授课要求。
(3)内容矩阵。两级知识点和相应的讲授、实验学时,其中必修部分10个一级知识点,40个二级知识点;选学部分1个一级知识点,8个二级知识点。
(4)内容大纲。针对内容矩阵中的11个一级知识点,分别给出基本学时、教学要求、教学内容、难点和重点。
(5)讲授中要注意的问题。教学内容的组织方式、教学策略、重点和难点的解决思路,以及教师应具备的背景知识。
(6)教材建设中要注意的问题。知识体系及内容组织方式,示例、习题与上机实验题的要求等。
(7)课程实验。基础实验和综合实验的内容、要求和实施建议,并针对科学型、工程型与应用型专业给出了2个综合实验的实例。
(8)课程设计。实施建议和具体的应用示例。
(9)课程考核的基本要求。笔试和机考的考核重点和题型,以及总评成绩的组成建议。
其中,(1)、(2)是对课程的基本描述和整体定位;(3)、(4)、(5)、(6)涉及课程教学内容的组织与传授方法;(7)、(8)、(9)涉及程序设计能力的培养方法。
二、教学内容的组织方式
程序设计基础教学内容的组织方式主要有两种:以语言知识为主线、以程序设计为主线。目前普遍采用的方式是前者,经过一些高校多年的探索实践,以程序设计为主线的组织方式也取得了成功的经验。
以语言知识为主线的方式主要根据语言的表达功能,同时考虑程序设计的学习进程,以完整的语言表达模块为基础来组织教学内容。程序设计语言的核心是两大表达功能:数据表达和控制表达。为了实现用有限的语法表达客观世界中各式各样的数据类型,过程式程序设计语言在提供标准数据类型的同时,提供了构造数据类型的手段,比如数组、结构、指针等;在控制表达方面,则提供了语句级控制(如分支、循环)和模块级控制(如函数)。