APP下载

“计算机科学基础”课程教学模式探索

2012-03-21徐琴珍郭延芬孙庆庆

电气电子教学学报 2012年3期
关键词:计算机科学程序设计学期

徐琴珍,郭延芬,何 峰,孙庆庆,李 娟

(东南大学信息科学与工程学院,江苏 南京 210096)

0 引言

“计算机科学基础”是本科教学中非常重要的基础课程,是一门需要将理论知识和实践验证高度结合的课程。我院的“计算机科学基础”课程的教学内容包含计算机基础知识及C++程序设计两部分[1,2]。在教学过程中,一般注重语法讲价。而语法教学往往被分解为一个个知识点,点与点间缺乏逻辑上的连续性。

计算机语言类的课程,从某一个层面上可以看成是对学生一种编程技能的培训,而学习语法的过程,相当于一个熟悉并使用工具的过程。为使学生能顺利地开展程序设计工作,需要在学习的每一个环节明确该“做什么”,进而思考该“怎么做”。学生的程序设计能力的提高主要依靠上机实践逐步培养,实践教学环节是明确“做什么”和“怎么做”的最直接和最有效的途径。

我院的“计算机科学基础”课程贯穿了二个长学期和一个短学期,课程学时安排如表1所示。配合课程学时的安排,我们设计了结合“做什么”与“怎么做”的教学实施方案。

1 长学期教学

1)我们在课程教学过程中逐步强化学生的计算机语言编程能力。这一环节从学习计算机语言的初期就开始,主要让学生明确“做什么”:编程技能需要连续不断的实战训练,无法速成。我们结合课堂教学的进度,先提出相对简单的程序功能要求,在学生上机实验课环节中,将课堂上学到的C++语言的基本语法点串起来,实现设定的程序功能。通过这样的教学实践相结合的方式,让相对抽象的语法点变得实用。

表1 “计算机科学基础”学时安排

2)培养学生主动学习的习惯,让他们在探索中学会“怎么做”,以完成程序设定的功能。在有了一定语法基础的情况下,再设计复杂度逐步提高的程序功能要求。其内容可略超前于课堂上课进程,使学生在课后完成算法设计的同时,完成下次课堂的预习内容;且可通过实验巩固自学的新知识,并发现自己尚难以单独解决的语法难点。学生在课堂实验讲解中可以带着问题,主动投入课堂学习和课间答疑中。学生可以相对更主动地利用已经学到的语法知识,完成部分程序功能;在现有的知识无法完全解决问题的情况下,也能积极探索新的语法知识。

2 短学期教学

短学期以培养学生对C++编程语言的综合设计和应用能力为主,要求学生能够自由组队完成一个功能比较复杂的具有一定实用性的MFC程序设计题目,以比较粗线条的“做什么”为出发点,逐步细化“做什么”的具体细节,进而明确“怎么做”来完成该题目。短学期的具体程序设计进程按如下三个步骤进行。

1)我们在第二个长学期结束前二周,给出综合程序设计题目,包括程序要实现的基本功能,应用背景的简单说明,可拓展的情况等,让学生明确“做什么”。我们在设计综合程序设计题目时,考虑将程序设计与实际应用紧密结合,增强短学期课程设计的质感和实用性。如心理学常用的反应时检测系统,可用于反映被测试者对某种刺激或某个问题的反应速度和对特定问题的正确表达程度等;再比如,南京地铁查询服务系统和自动阅卷系统等有一定应用背景的及它和生活密切相关的程序设计题目。这些题目都具有很大的灵活性,如心理学反应时测试系统,学生在设计过程中可以自行设定测试的形式:按照不同的顺序给出一些几何图形,让被测人员在观察后按照记忆点击几何图形,记录反应时和正确率,或者将几何图形替换为不同值的数据或不同的色块等;也可以控制测试的难度或等级。

2)学生利用假期进行背景调研,明确该题目的整体框架和流程安排,初步把握应该“怎么做”。我们在两个长学期即将结束时将题目发送给学生,他们可以在给定的题目规模和难度范围内,自由组队,小组员在假期展开背景调研。比如,了解地铁的查询机制,了解地铁各站的周边站点转乘信息,了解心理学反应时的计算和正确率的计算,如何给出测试统计结果等。

3)学生根据假期的背景调研结果,明确项目的初步设计方案和拟达到的效果,并细化组员间的分工。每位组员,通过开题明确了自己该“做什么”,并以此为目标,有针对性的自主学习MFC中需要用到的知识。在程序设计过程中,我们引导学生掌握自主学习MFC关键知识的方法,从而为整个项目的子问题的解决寻求“怎么做”的具体方案。

3 对“做什么”到“怎么做”的评估

课程考核成绩要考虑学生的如下表现:

(1)平时成绩—实验实训表现的记录(是否按时完成了指定的“做什么”的内容),在线学习的效果(养成初步探索“怎么做”的习惯),展示编程作品/提供编程思路的踊跃程度(对探索的“怎么做”进行具体实施)以及上机考核成绩;

(2)上机编程题质量—学生对程序的基本功能完成情况(在明确基本的“做什么”内容的基础上实现“怎么做”),功能是否进行了适当地拓展(自主地延拓“做什么”,并实现“怎么做”),使用是否方便,是否有较详尽说明等(对“做什么”和“怎么做”的精致回顾和效果维护);

(3)完成卷面考核的成绩,对学习过的编程语言的基本语法点是否巩固,是明确“做什么”的基本元素。

4 实施效果

学生在短学期的综合程序设计成果最能够反映我们提出的“做什么”与“怎么做”相结合的教学方案的实施效果。我们将二届学生的程序设计情况作了统计,学生组队的人数一般每组为2~4人,所有小组完成综合程序设计题目的达到97%,基本上能完成指定功能的“做什么”;实现功能延拓的占78%,有的小组在自动阅卷系统中加入了播放节奏舒缓的音乐的功能,有的小组在心理学测试中加入了对测试结果的提醒和非常个性化的安慰,这些都能够反映出学生在短学期的程序设计过程中的一种明快自然的情绪,能够在设计过程中不断地自我提高。此外,这些与实际贴合的设计题目也让学生在学习编程语言的同时,对本专业以外的研究领域(比如心理学,城市规划设计,图像处理等)有了一定程度的了解,很好地拓展了知识面。

[1]沈军,朱敏,徐冬梅,翟玉庆.大学计算机基础[M].北京:高等教育出版社

[2]吴乃陵,况迎辉.C++程序设计[M].北京:高等教育出版社

猜你喜欢

计算机科学程序设计学期
新的学期 新的尝试
期末冲刺高二上学期期末模拟卷
Privacy Preserving Solution for the Asynchronous Localization of Underwater Sensor Networks
基于Visual Studio Code的C语言程序设计实践教学探索
探讨计算机科学与技术跨越式发展
从细节入手,谈PLC程序设计技巧
浅谈计算机科学与技术的现代化运用
八年级(上学期)期末测试题(D)
重庆第二师范学院计算机科学与技术专业简介
高职高专院校C语言程序设计教学改革探索