在线客服

计算机程序设计论文实用13篇

引论:我们为您整理了13篇计算机程序设计论文范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。

计算机程序设计论文

篇1

为了提高VisualBasic程序设计的实用性,增强学生学以致用的能力,需要将该门课程与学生所学专业有机的结合在一起,这样能够使学生的学习兴趣更加浓厚,提高学习热情。以交通运输专业为例,课程开展至图形图像的使用时,可以选取红绿灯变换例题作为学生的操作案例,如图2所示。在这个案例中,与交通专业的专业知识也许还有一定的差距,但这样一个简单的实例足以吸引学生的注意力,控件要求也比较简单,代码结构并不复杂,但是需要提醒学生注意的是需要对于Image3控件需要添加具有3个元素的控件数组,来存储红、黄、绿三种颜色。类似的案例教师可以通过网络搜索或图书资料等多种方法搜集,难度不能太大,如果太复杂,反而会影响学生学习的积极性,以上就是对于非专业学生,将案例教学法应用于理论教学中的一些建议。

篇2

实验对论文作者所授课的广西师范大学物理教育专业4届5个班本科生,其中1997级81人、1999级78人、2000级65人、2001级1班59人、2001级2班55人,选取大学一年级的力学、热学的期考成绩,力热课程开设之后的计算机程序设计课程的段考、期考成绩。利用相关系数法反映计算机程序设计课程成绩与力学、热学课程成绩之间线性关系的密切程度[7,8]。

3实验结果

分析所选取的计算机程序设计课程成绩比例分布,考虑优秀、不及格两端的学生人数相对较少,进行相关分析的误差较大,而良好、中等、及格分数段的学生人数较多,因此将分数S分为优良分数段(S≥80)、中等分数段(70≤S<80)、及格与不及格分数段(S<70)三段,三段中的学生人数相差不大,分别计算计算机程序设计课程成绩全部、优良分数段、中等分数段、及格与不及格分数段与力学、热学课程相对应成绩的相关系数,结果见表1、表2。可以看出,表中所有相关系数均为正值,除个别外主要分布在0.40~0.80之间,绝大部分相关系数均大于0.45,大于0.8的相关系数很少,没有大于0.9的相关系数,说明力学、热学课程成绩对计算机程序设计课程成绩有一定的影响,但影响并不是特别显著,有一定的正相关性,但相关性并不是特别高,计算机程序设计课程成绩还受其它因素的综合影响。

篇3

计算机专业程序设计课程实践教学主要包括上机实验、综合练习、课程设计、软件开发实训等几个方面。上机实验是最基本的实践教学,由任课教师根据理论教学的具体进度,设置一些简单的实验,要求学生在规定时间内完成,通过这些实验加强学生对理论知识的理解和掌握。综合练习一般在经历了一定的学习阶段之后,任课教师根据现阶段学生的学习情况,结合日常生活、工作中面临的实际问题,设置一些难度较小的综合性练习题,要求学生在规定的时间内进行调查分析,然后应用所学知识解决问题。综合练习主要侧重某一方面具体知识的应用。课程设计是在本门课程学习完毕后,任课老师根据教学大纲的要求,结合课程的特点和实际应用,设置一些难度适中、综合性强的课题,要求学生按要求完成课题任务。课程设计主要考查学生对知识综合运用的能力,培养学生利用所学知识来分析问题、解决问题的能力。软件开发实训则是通过实际软件项目来提高学生的职业综合技能。计算机程序设计实践教学都采取由浅入深的原则进行,其过程为:上机实验综合练习课程设计软件开发实训。

2计算机专业程序设计课程实践教学的重要性

2.1加强实践教学是实现计算机专业程序设计课程教学目标的要求计算机程序设计课程的主要目的是培养学生的程序基本开发能力、程序代码编写能力和程序调试应用能力,重点培养学生的算法应用分析能力和数据综合处理能力。其主要任务是通过日常教学,使学生掌握程序设计的一般方法和程序设计的具体过程,掌握计算机程序设计语言的语言特征,具备程序设计师的基础应用能力。在教学过程中,任课教师应以人才培养为目标,侧重编程综合应用能力的培养,通过具体的实践教学来提高学生的职业技能。

2.2实践教学是提高程序设计课程教学质量的重要手段实践教学是培养学生动手能力的重要手段,是提高学生的动手能力和职业技能最有效的方式,是对学生理论知识掌握程度的检验。“知识来源于实践”,“实践是检验真理的唯一标准”,计算机程序设计课程的理论知识应通过编程实践体现,通过具体的程序设计案例和实际编程来提高学生对理论知识的掌握,学生

综合编程能力的强弱是检验计算机专业程序设计课程教学质量的基本标准。

3成人教育业程序设计课程实践教学存在的问题

我国成人教育业程序设计课程的实践教学存在问题的体现在下述方面:①实践设施不足,教学条件不完善;②对教学认识不足,实践教学不受重视;③实践教学方法陈旧,考核方式单一。 转贴于

4积极探索,构建合理的程序设计课程实践教学模式

4.1实践教学要符合教学目标的需要计算机专业程序设计课程实践教学必须紧紧围绕专业培养目标、人才培养规格进行。要结合专业特点更新教学内容,调整实践教学内容、方法和手段。实践教学内容的更新,要注重对学生编程综合能力的培养和创新能力的培养,要对已有的实践教学内容进行筛选、整合,改变单一的演示性、验证性实验,增加综合性、设计性、创新性实验,要充分利用计算机课程的教学特征,提高实践教学效果。

4.2以社会就业需求为主导,开展多种形式的实践教学程序设计课程实践教学主要有上机实验、课程章节综合练习、大作业、课程设计、软件项目实训、校外软件基地实习、软件合作企业顶岗实习、校内软件课题研发等。其中实训、实习和研发都是采用“真题真做”。通过上述这些实践过程,学生的程序设计综合应用能力和软件开发能力都能得到良好的锻炼。

4.3程序设计课程实践教学设计一般要求定教学的具体内容。大多数情形下,采用实例教学效果比较明显,通过实例的演练促进学生对知识的掌握。实例式实践教学设计一般应包括教学目标、课时要求、教学组织、教学内容、实践方式、实践总结、成绩评定等几部分内容。在设计实践教学内容的过程中,应做好三个方面工作。一是要结合学生实际情况,尽量体现知识性、实用性,激发学生的灵感和创造欲,使学生对实践内容感兴趣,以充分调动学生的学习积极性和主观能动性,促进学生积极创新,完成实践内容。二是应注重理论教学与实践教学相结合,保证实践教学与理论课教学相适应,加深学生对基本理论、基本知识的理解和掌握。三是保证实践题目难度和工作量适中,学生通过自己的努力,可以在规定时间内完成实践任务,实践方式可以灵活多变。

篇4

为适应新的形势,我院明确了计算机软件人才的定位:培养应用型软件人才。这个培养目标既是从独立学院学生的自身条件出发,又符合当前社会对计算机软件人才的需求。在这个培养目标的指导下,我们在计算机程序设计课程教学上进行了大胆尝试,修订了教学大纲,增加、删除了部分教学内容,并将新的教学模式与教学方法引入计算机基础教学中,取得了较好的效果。

1存在的问题

已往的教学经验表明,学生在学习程序设计类课程时最难的地方不是掌握某种程序设计语言的语法规范,而是掌握程序设计的基本方法。

程序设计语言的语法规范是死的,并且与任何一种自然语言相比,程序设计语言的语法规范更简单规则。因此,只要学生掌握好了程序设计的基本方法,再花费一定的时间掌握某一种程序设计语言的语法规范,就能用该程序设计语言设计程序,甚至达到精通水平。

具体而言,目前教学中存在的主要问题有:教学内容与教材组织过于陈旧;教学目标没有反映新形势的需要。其典型表现在:程序设计方法强调不够,抽象思维能力培养不足;某些程序设计中重要的概念讲授力度不足,如库与接口、UML建模以及目前流行的软件开发方法等,学生在实际的软件开发中无法满足企业的需要。

2构建程序设计基础培养四阶段课程体系

大多数独立学院的本科计算机软件专业现行的课程设计,与普通的一本、二本院校相比相差无几,没有突出独立学院的特点,也没有明确独立学院的培养目标。因此,对独立学院计算机软件专业课程体系进行改革迫在眉睫。我院以“计算机导论与C语言程序设计”为公共基础的程序逻辑训练、以“高级程序设计技术”为核心的程序设计方法培养、以“数据结构”为支持的数据与程序抽象能力培养、以“C++程序设计”贯穿面向对象程序设计新理念,并在大三大四高年级开设了Java、Linux、UML建模等程序设计类选修课程,形成了“基础训练+方法培养+提高能力+拓展层面+实践应用”的程序设计教学新模式[1],在强化程序设计能力培养过程中发挥了重要的作用。

3提出并实施四层次软件人才培养新模式

我院以课程体系为基础,提出并实施了“基础训练+提高能力+拓展层面+实践运用”的四层次软件人才培养模式。

3.1基础训练

程序设计基础训练课程开设在大学一年级,是大学阶段系统认识计算机、应用计算机的入门课程,通过程序设计的词法、语法及使用方法的学习,要求学生掌握、体会计算机解决问题的基本技能。在基础训练中,通过对计算机导论课程的学习,让学生认识并能熟练运用计算机编写程序;通过对C语言程序设计课程的学习,让学生初步掌握程序设计的方法,训练程序设计中的逻辑思维。

3.2能力提高

程序设计能力提高课程开设在二年级,主要从两个方面提高学生的程序设计能力:一是高级程序设计技术课程,重点学习典型的程序设计方法技术,便于学生系统地学习并掌握程序设计方法技术。二是数据结构课程,通过构造性思维的训练,重点突出数据抽象与程序抽象能力的培养,让学生在基础训练阶段之后能更深入地理解程序设计的概念。

3.3层面拓展

主要以市场需求为基础,包括工具类别与应用环境的拓展,以选修课形式开设在三、四年级。在具有良好C程序设计能力基础上,展开其他程序设计工具层面,如开设Java、VC++、VB等程序设计类选修课程,增强学生掌握新工具,举一反三的能力。随着我国经济发展,国外市场份额不断增加,熟悉和使用Unix环境已成为计算机软件专业应当掌握的重要技术,开设Unix环境编程和Linux程序设计等课程,将拓展应用环境,提高学生适应新环境的程序设计能力。

3.4实践应用

自2006年以来,我院就加大了程序设计课程中的实践课时比例,实践课时占到总学时的1/2或1/3,每门实践课都单独安排了实践课老师,指导学生更好地进行实践。在实践课设计中,我们既重视学生理论知识的巩固,又注重其解决实际问题能力的培养,因此,我们把实验自下而上分为知识层、应用层和综合层3个层次。

知识层注重对知识的理解和掌握,数据结构、数据库原理和Java程序设计等理论课增设了相应的课程设计,课程设计的主要内容是:按软件企业先进的项目管理和开发模式,以“项目驱动”进行软件系统开发的实训。应用层重点在于巩固与应用,学生在校期间参加课外兴趣小组或在毕业论文设计中,大部分学生都能使用VC++做系统级深层次应用。综合层则关注综合与创新,学校鼓励学生参加大型的综合性IT比赛,如ITAT、大学生挑战者杯创业大赛等。

3.5创造性思维能力的强化

计算机程序设计能力,对计算机专业学生的知识结构、技能的提高和智力的开发变得越来越重要,技能培养的重要程度决不亚于知识传授。对程序设计能力的提高来讲,编程序不难,编好程序不易。质的飞跃来自量的积累、艰苦的磨炼,所以良好的专业技能和创造性思维培养的关键在于实践。程序设计是高强度的脑力劳动,是创造性的艺术,只有提高了科学思维,学会了程序设计的真本领,才会将知识与技术变成能力,应用自如。

3.5.1案例驱动教学:兴趣引导

针对独立学院学生思维灵活但学习自觉性较差的特点,我们采用案例教学法,避免了传统填鸭式教学方法的呆板,通过实例演示,让学生对所学知识产生兴趣,有了一定的感性认识之后,再提升到理论高度,循序渐进地掌握知识。经过多次教学的探索,总结出重点讲授解题思路、算法设计及编程构思,突出上机训练,在编写程序过程中让学生自己进行探索性的学习,程序设计中的成果能极大地增加学生的成就感、培养学生程序设计的兴趣,并达到更加牢靠地巩固理论知识的目的。好的程序设计案例所采用的程序设计方法教会学生用适当的语言清晰地表达其思考过程。

3.5.2指导―大运动量实践―反馈训练:加强创造性思维培养

数据结构[2]的学习过程,是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解,习惯算法构造思维方法。针对数据结构技术性与综合性较突出的特点,我们提出并实施了“指导―大运动量实践―反馈训练”教学法。通过作业练习、课程实习、课程设计3个环节实现实践过程,前者偏重于对课程内容的理解,后者侧重于软件设计综合训练,促进了专业学生逻辑抽象能力和创新能力的培养。

3.5.3项目训练:提高应用能力

通过“项目训练”[3]方法,我们提出课程设计规范要求,突出关键技术要点,贯穿基本技能训练主线,精心设计综合性实验,体现加强实践能力培养的重要思路。数据结构课程设计时进行软件开发综合训练的第一门课,通过选用具有一定实用性的综合题目,采用学生个人进行和小组合作的方式,通过问题分析、总体结构设计、用户界面设计、程序设计基本技能和技术的一系列过程,培养学生动手实践、合作研究、协作开发大型软件项目的能力,培养学生采用软件工程正规方法进行设计与实现,为专业技能训练奠定了基础。“项目训练”方式将学生引入具体的项目研发,使学生有更多的主动学习机会,培养了科研能力。

3.5.4提高学生的兴趣与创新能力

竞赛等多种活动为学生提供了展现程序设计能力的舞台,激发了学生学习的主动性。我们已连续3年开展全校“电脑文化节”、“网页设计大赛”、“Flash竞赛”、“计算机知识竞赛”;学生参加省级、国家级数学建模比赛,6人次获国家级奖励,20人次获得省级奖励;学生在程序设计大赛中取得优异成绩,获得多项奖励,3人次获ITAT国家级奖,多人次获省大学生挑战杯一等奖。

4结语

计算机课程改革势在必行,特别是对于独立学院来说,更是迫在眉睫。改革的成功与否将直接关系到学生以后的就业。在进行计算机课程改革的基础上,我们针对软件人才的培养,提出程序设计教学的新模式和以设计为中心的能力培养新方法。作为一种有益的尝试,新的课程体系通过一种有趣的、面目可亲的方式向学生说明了创造性思维能力在程序设计中起到的重要作用。

参考文献:

[1] 翟玉庆,邓建明. 计算机科学研究型人才培养模式的探讨与实践[J]. 计算机教育,2005(1):31-33.

[2] 耿国华. 数据结构[M]. 北京:高等教育出版社,2007.

[3] 王志英,宁洪,戴葵. 强化计算机专业实践教学[C]//第七届全国计算机系系主任论坛论文集. 北京:高等教育出版社, 2004:37.

Reform of Computer Courses and Training of Software Personnel in Independent Colleges

LIU Ya, TAN Qian-mao, ZHOU Li

篇5

Teaching Reform in Computer Program Curriculum

Wu Wenyun,Deng Yaming

(Hunan Biological and Electromechanical Polytechnic,Changsha410127)

Abstract:How to do a good job teaching computer program is the teachers embarrassing question.In this paper the author many years teaching experience,teaching on the characteristics of computer programs, teaching problems,reform needs of teaching and teaching methods to make plain the reform of areas for reference.

Keywords:Computer language;Logic;Abstract;Process;Object

一、计算机程序课程教学的特点

计算机语言具有很强的理论性、抽象性,学生学习起来难度大,很难激起他们的学习积极性;并且计算机语言发展速度非常快,种类繁多,并且都有各自的适用范围。基于各个学校的实际情况,课堂教学内容也远远滞后于计算机发展速度,只能将那些具有代表性的语言(面向过程程序设计语言如c语言、面向对象程序设计语言如C++等)引入到教学课堂。因此,搞好计算机程序课程教学难度很大,如何上好计算机语言课程也是大家都在探求的问题。

二、目前计算机程序课程教学中存在的问题

(一)教学方法存在有问题

在计算机程序的教学过程中,传统的教法是按照教材编排的顺序讲授,即先介绍一条条语句及语言的语法规则,然后做适当的练习和实训。这种传统的教学方法存在以下几方面的问题:

1.堆积的语法规则和语句学生很难在短时间内消化;

2.学生不能明确课程的学习目标和方向;

3.按步就班的教学顺序会导致学生的厌学情绪;

4.达不到预期的教学效果。

(二)计算机程序课程教学中存在的客观问题

实际中的语言程序课程教学又存在几大棘手问题:

1.众多的语言规则让初学者望而生畏;

2.灵活多变的使用方法又令人捉摸不透;

3.课堂讲授时间非常短暂,所学知识得不到及时巩固;

4.学生不好的学习态度:学习思维、行为懒惰。

基于以上存在的问题,计算机程序课程教学改革势在必行。我们在教学中应该有的放矢,不断探索新的教学理念和方法。

三、教学改革方法

(一)突破传统的思维方法,根据市场人才培养需求确定课程目标体系

1.认知目标:通过项目实践,掌握程序、程序设计的基本概念、程序设计思路与方法;

2.能力目标:小组合作或独立操作,简洁明快,易于识别,寓意准确,内涵丰富,特征明显,编写精细的应用程序;

3.情感态度目标:培养学生的学习情趣,通过观察,实践,感受成就感,设计感,空间感,体验程序设计的乐趣。

(二)精心选取教学内容

课程教学内容可以模拟一个软件公司的设计部门,以一个普通的设计人员在工作中所遇到的实际问题为主线,将客户的要求转化为实际的任务,要求学生解决。整个教学过程共模拟若干个工作场景,设计教学过程于工作(生产)过程中的职场环境,将课程教学内容和要求都融入到这些案例中。

(三)认真设计并精心组织实施教学过程

本课程基于案例模拟真实公司环境的情景下,以项目案例驱动学生动手操作,进而对项目中的知识点进行总结。具体内容包括:

1.实训项目:可根据课程教学需要来确定

2.实训目标:掌握模块结构设计、面向对象程序设计及程序设计风格,掌握程序基本结构设计及实现方法。

3.基本做法

a参与人员:全体学生(分组)

b实训地点:教室+专业机房

c实训途径:设计+上机操作

4.实施步骤

策划:情景引出―明确任务―教师引导分析任务,设计讨论具体的解决方案。(由于学生初学,对代码设计的掌握还没有达到游刃有余的状态,所以前期以教师引导,帮助设计解决方案为主。后期可减少策划时间,将实施时间延长,让学生自由发挥)

实施:事前要求学生分组设计模块流程图,设计实施方案,动手设计代码,完成项目,巩固知识点。(巡查学生的掌握程度,对实施过程中出现的问题进行辅导)

总结:小组互评设计的优劣

a紧扣实训目标,总结达标程度。

b思考与互动:你学会了这个实训项目,对你的毕业论文/设计,职业资格证书考试有什么帮助?

(5)课程评价

a教学效果考试方式

平时成绩:考察学生的学习态度(20%)

学生自评:紧扣实训目标,总结项目达标程度(20%)

老师评价:理论考试和实训评价(60%)

b教学效果评价:

i组织学生参加软件水平考试的合格率

ii毕业生在相关行业就业情况:毕业生就业信息反馈获取数据

四、教学改革过程中应该注意的问题

(一)注重学生计算机思维的培养

在讲课中,应集中精力对章节的知识结构进行详细阐述、对所要解决的实际问题进行深入剖析,不应花太多的时间放在对语句语法的过多讲解。当遇到实际编程时,需积极引导学生把“要想干什么”的问题,直接转化为“要解决什么”的问题。当问题确定以后,必须选择正确的算法。当然,计算机编程中的算法和数学中的算法存在很大区别,需要教师对学生们的计算机思维进行长期而有针对性的训练和培养。

(二)启发式教学激发学习主动性

计算机语言教学的关键是培养学生的编程思维,我们可以大胆采用启发式教学,引导学生尽快明确编程思路,掌握基本编程方法。在课堂上,可以尝试让学生自己去编程实现,教师只扮演“打字员”的角色,直接把内容输入到语言环境中,一边输入一边和大家交流,如果实在有困难,教师停下来再加以详细分析,直到程序编译、运行和显示出正确结果。启发式教学很容易让学生掌握程序设计的完整过程,也可以大大提高我们授课的效率。

(三)抓住重点、化解难点

讲授重点内容时,应放慢速度、加重语气,从而吸引学生的注意力。当遇到难点时,善于化解,把问题逐渐细化,所有小问题解决了,难点自然就解决了。

(四)强化实践

计算机语言的实践就是上机编程,是培养学生综合运用相关知识解决问题的重要途径,也是我们了解教学反馈信息的直接渠道。只有亲自动手、亲自实践,才能真正体会到语言编程的乐趣,才能发现自己的智慧闪光点。通过上机练习也可以进一步加深对理论知识的掌握,也将有利于培养学生的创造思维、独立分析问题和解决问题的能力以及培养学生实际编程的能力。需要强调一点,实验内容安排上应由浅入深,开始时给出引导性实例,后期提出问题,让学生分组自主发挥,教师抽空进行总结讲解,这样更能激发他们自主学习的主动性和积极性。

(五)搞好总结

课堂教学以后,授课教师特别年青教师多写写教学心得体会,多回忆回忆课堂情况,多和授课对象交流反馈,成功的有哪些,不足的有哪些,以后就能做到有的放矢,扬长避短,更好更快地提高我们教学能力和业务素质。

总之,要教好计算机程序课程,不能按照单一的“黑板―书本”教学模式,应大胆进行课程教学改革,采用丰富多彩、满足学生需要的教学模式,精心设计并认真把握各个教学环节。只有如此,教学质量才会有本质的提升。

参考文献:

[1]吴振峰.信息技术基础,北京理工大学出版社,2001,9

[2]彭邵东.信息技术教育研究,湖南师范大学出版社,2002,6

篇6

文章编号:1004-4914(2014)08-252-02

引言

计算机基础课程是非计算机专业本科生必修的公共基础课,在公共基础教育平台和学生的基础教育中占有重要的地位。计算机基础教育课程包括《大学计算机基础》课程和《计算机程序设计基础》课程。为加强计算机基础教育的针对性,更好地服务于专业学习,建立了“1+X”的课程体系。《大学计算机基础》是“1+X”课程体系中的“1”,其教学内容丰富、受众面广、教学成效显著;《计算机程序设计基础》是“1+X”课程体系中的“X”,根据不同专业需求,开设不同的程序设计语言。然而如何能使不同专业的学生更好地学习和接受计算机能力,将“课程服务专业”的思想引入到教学当中,是教学改革的重点也是难点。

一、课程服务专业思想的引入

计算机基础教学的目标是为非计算机专业学生提供计算机知识、能力与素质方面的教育,培养非计算机专业的本科生掌握一定的计算机基础知识、技术与方法,能够利用计算机进行学习、工作和生活,适应信息化社会的发展,并在此基础上,培养学生利用计算机解决本专业领域中问题的意识与能力。

进入21世纪以来,互联网技术的发展和应用深度渗透到生活的各个领域,各个专业对信息处理的终生需求和计算机网络应用的终生需求,使得计算机基础教育的范围不断扩大,与之相对应的是如何将这些需求反映到计算机基础教育的课程中。

1.充分考虑各专业差别,开展计算机基础教学。根据各专业的不同需求和学生的自身发展需求以及国家信息化的要求,笔者所在的黑龙江科技大学为不同专业的学生开设了《计算机程序设计基础(VB)》课程和《计算机程序设计基础(C)》课程。例如,对电子信息类专业,开设《计算机程序设计基础(C)》课程;对信息管理类专业,开设《计算机程序设计基础(VB)》课程。

2.理念先进,服务人才培养定位,教学目标明确。以我校应用型人才培养为目标,在教学过程中,始终坚持“以学生为主体、以教师为主导”的教学理念,提倡“自主、合作、探究、创新”,不断改革教学方法和手段,鼓励学生进行研究式学习、自主式学习、资源式学习和协作式学习,注重对学生四个方面的能力培养:通过计算机、网络及信息技术基本原理、基本知识的讲授,掌握计算机分析问题、解决问题的基本方法,培养学生对计算机的认知能力;通过计算机数据处理、多媒体技术及程序设计知识的讲解,培养学生应用计算机解决问题的能力;通过熟练掌握与运用计算机与网络技术,有效地表达思想,掌握基于信息技术的团队协作方式,接受信息社会道德规范的约束,并自觉承担相应的社会责任,培养学生依托信息技术的共处能力;通过对信息的获取、分析、评价和吸收,培养学生的自我学习能力。

二、课程服务专业思想的实施

根据我们多年在计算机基础教育改革实践过程中积累的经验,改革的核心在于“以学生为主体,以教师为主导”和为专业服务的“计算机应用能力培养”的教学模式和方法。我校计算机基础教育与学生专业结合的做法是在教学手段和模式富有建设性成效的基础上积极主动思考,结合了我校办学的主导思想和特色并有了创新性发展。从几年的实践过程看,做法日渐科学,效果积极显著。

具体做法:“积累、实践、服务”相结合。

1.及时与专业负责人进行沟通,与专业对接。第一学期开学前,通过与学生所在院系教学负责人、专业建设负责人沟通等方式,实现课程内容与专业需要的对接,重新定位,按照专业需求调整教学内容,使课程内容满足专业培养目标的需要。即每学期在制定计算机基础课程授课计划时,请专业负责人或骨干教师参与,根据各专业需要提出合理的意见和建议,充分了解各专业学生对计算机应用技能的需求,从而对课程内容及时做出调整和修订。

2.提高课程组教师的计算机能力培训。课程组的教师积极参与实习、实训、毕业设计和实践锻炼等环节,不断提高自身的实践水平,实现教学水平与专业能力培养的需要对接。同时,课程组的多名教师通过到企业挂职锻炼及时了解社会对计算机能力的实际需要,也了解到学生将来的就业趋势,在提高自身能力的同时,也保持了计算机教育的实用性和先进性,为培养学生的计算机能力作出了充分的准备。

3.为学校各专业的大四学生,进行毕业论文排版指导,发挥服务作用。随着用人单位对大学毕业生计算机能力的要求有增无减,计算机水平高低已经成为衡量大学生业务素质与能力的突出标志之一。因此,我校计算机基础教育“课程服务专业”的理念和做法既符合教育部对普通本科院校提出的“应用型本科教育”的内涵所指,也符合我校的三大教育理念。作为我校的特色项目,必定对于促进学生终身学习和主动应用计算机起到积极的推动作用。

4.根据专业需要重新整合教学内容,探索为专业课服务的途径与方法。在计算机教学过程中,我们打破了原有的学科体系,按照学生能力培养体系重新组织教学内容和教学方法,将相关的理论课程重新整合、重组。如在讲计算机程序设计时,重点针对专业的实际问题进行程序分析。新体系淡化了基础课与专业课的界线,实际了知识整合、交叉安排,加强了针对性和实用性,目的是更好地为学生专业技能培养服务。

5.加大实践教学环节,提升学生实际操作能力,为专业服务奠定基础。计算机基础教学建立了相对独立的实践教学环节,加大了实践教学在教学计划中所占的比例,强调实践与实习,实验的目的不是为了验证理论,而是为了培养学生的技术应用和实际动手能力。同时,在授课计划中还安排了多项相对独立、逐步提升的阶段性技能与综合性实验与训练,不断提高学生的实践操作能力。

6.课程组教师需要了解相关专业课教学重点,积极主动地为专业课服务。课程组教师通过与相关专业负责(下转第255页)(上接第252页)人及骨干教师的沟通,以及与专业课教师之间相互听课,及时地了解了专业急需用计算机解决的相关知识与问题,在备课和授课过程中都会将此部分内容作为重点进行讲解,为今后学生利用计算机解决专业知识打下了坚实的基础。

比如,会计专业是研究企业在一定的营业周期内如何确认收入和资产的学问。会计师除了准备财务报表以及记录企业交易行为外,更重要的是能够参与企业间的合并、质量管理、信息技术在财务方面的应用、税务战略以及很多企业的管理决策活动。因此一个现代高水平的会计人才,不仅仅要会收钱,会记账,会审计,更应该利用会计这个工具,学会管理,具备多方面的能力。美国一个权威职业评估机构分析得出:Computer literacy是会计专业人才应具备的重要能力之一。同时,现代信息技术对会计工作也有着重大的影响作用,会计实务的重点将由原来的编制凭证、记账、结账、编制报表等转向收集信息、存储信息、加工信息、传递信息、查询信息等。因此,面对会计专业的学生进行《大学计算机基础》授课时,也要考虑以上因素,只有这样才能在提高学生学习兴趣的同时,增强学生的计算机会计能力。

7.开发了自主学习,课程服务专业的网站。为了提高学生的自主学习能力,课程组开发了计算机基础系列课程网站,网站中包括了课程的大纲、授课计划、课件、习题、名师视频等资料,方便了学生资料的获取。同时,网站还重点设置了“专业学习模块”,针对不同的专业,根据各个专业对计算机能力的需要设置了不同的模拟试题,极大地调动了学生的学习主动性,激发了学生的学习兴趣。

8.适应专业特点,精心设计案例。案例式教学方法的实施是提高计算机基础课程教学质量的有效途径之一。为了更好地做到课程服务专业,需要授课教师在案例设计之前需要与专业知识进行对接,对案例进行反复斟酌、思考与设计,好的案例可以帮助学生更好地记忆基本概念,理解所学知识,掌握基本技能。

如在对会计专业进行案例设计时,要尽可能将具有专业特色的案例融入教学过程中。在安排案例教学时有意识穿插更具会计专业特色的实例,在学习Word时,可以设计“财务报表”、“月份财务分析表”、“资产负债表”等案例,使学生在练习了表格排版的同时,了解了财务报表、财务分析表及资产负债表应包含的基本信息,与会计专业基础课有了更好的结合。

在讲解Excel时,可以重点与财务相关的公式与函数。在讲授PPT时,可以利用PPT内容提示向导、母版的改造、PPT中表格和图表的插入等操作,制作财务报告幻灯片,向股东和投资人介绍公司的财务状况等。通过这些有针对性的、与专业知识相结合的案例讲解,并结合布置一些有挑战性或应用性或有乐趣的任务、习题,使学生对计算机基础课的学习兴趣大大提高。

三、结论

实践证明,课程服务专业思想在高校公共计算机基础课程中的引入与实施,使得教师能够更加有针对性地进行教学与授课,使得原本枯燥的知识和课堂变得更加生动和引人入胜,充分调动了学生的学习积极性和主动性,激发了学生的学习兴趣,为学生今后利用计算机解决专业实际问题奠定了夯实的基础。

[本文为:1.黑龙江科技大学高层次引进人才科研启动基金(06-122);2.黑龙江省高等教育教学改革项目]

参考文献:

[1] 金蓉,庄红,黄德生.面向能力培养的高校非计算机专业计算机基础教学改革与实践.计算机教育[J],2010(1)

[2] 韩雪.浅析服务专业能力培养的高职《计算机基础》教学.科技信息[J],2011(6)

篇7

大学的主要任务是培养人才,特别是培养创新人才。培养创新人才的基本途径与方法有课程教学、参与科学研究与项目开发、对外学术交流等。然而传统本科课程教学多注重传授学科的系统理论等专业知识,不重视对知识产生原因、方法的介绍,如忽视思考解决学科基本问题的具体过程等,这会造成课程教学传授知识与科学研究相脱节,导致学生的知识结构产生缺陷,不利于他们将来从事创新等研究工作。为配合计算机图形学课程的教学改革,根据计算机图形学课程的特点,笔者提出一种面向科学思维的教学新方法,它能有效弥补传统本科课程教学的不足。

1 面向科学思维教学方法的基本要求

常见典型的教学方法有:结构主义的教学方法、建构主义的教学方法、问题(任务)驱动教学方法等。这3种方法各有其优缺点,一个好的教学方法最好能全面综合这3种方法的优点。面向科学思维的教学方法要求把思考问题的方法、系统分析与综合的方法、科学研究的工作方法、查找资料与抽象的方法等知识产生的方法引入课程教学中,有效讲解学科专业知识是根据发展需求、通过研究各种问题产生的;专业理论体系或与其学科结构是由多项研究成果形成的,这些知识是科学研究与科学思维产生的结果。

结构主义、建构主义与面向科学思维教学方法的异同点见表1。

2 确立计算机图形学课程的教学内容与教学模式

2.1 传统计算机图形学课程教学改革的原因

2013年以前,国内外传统计算机图形学课程教学以讲授图形标准(显卡驱动与显示图形等子程序的集合)或CAD为主。这种CAD与计算机图形学(即图形标准)学科的划分有问题,它只便于图形标准的硬件实现,却因基本概念不全导致这两者均不能独立讲清三维真实感图形的自动生成原理以及计算机程序设计的基本规律,更不能总结计算机图形学的研发成果与发展规律,不能满足计算机图形学学科建设发展需求。

2.2 用系统分析与综合的方法确立计算机图形学课程的教学内容

2.2.1 系统分析:从理论上确立实现计算机图形学课程目标的发展路线图

本课程目标是用计算机程序自动生成类似人眼观察世界获得的观察图像(亦为学科研究的基本问题,它适合作为建构主义教学方法要求的教学环境需求问题)。为此至少要完成3个子任务:①掌握三维图形的生成原理;②掌握生成三维动画等图形的程序设计;③理顺新课程教学内容与图形标准、CAD的相互关系。

1)第一个任务的实现方法。

照相机生成照片遵循光线传播生成三维图形这一物理原理,计算机生成所有三维图形(包括光线跟踪算法、辐射度算法、投影、多边形填充、纹理映射、阴影算法、图像融合算法与二维直线的生成等)也应遵循该原理。这是本课程知识理论体系的完备性与一致性的基本要求,它决定了计算机图形学的学种性质与教学定位。

2)第二个任务的实现方法。

用辐射度和光线跟踪算法生成的三维真实感图形等程序,是一类典型的显示图形的计算机仿真应用程序。故计算机图形学的编程实现既遵循计算机仿真的基本原理,也遵循计算机程序设计的基本规律。

计算机仿真遵循系统(决定被仿真对象的范围与其行为特性)、建模(用数学模型描述仿真实验对象)、仿真算法(计算机通过执行该仿真算法,进行仿真实验)与评估(检验仿真实验的结果是否与应用需求保持一致)这一基本原理。

计算机程序设计应遵循计算理论可计算性的实现前提对程序设计的规范要求:①待解问题被模型与系统形式化方法所描述;②这种描述要转换成算法;③算法要有合理的复杂度。

这里,形式化描述指用数学符号、逻辑符号与流程图描述并要求保持逻辑上的一致性。系统的概念被本文定义为软件系统:它按解决问题的系统流程要求,编程实现数个模型描述数据与命令的输入、存储管理、运算处理、输出显示4个过程,能直接达到自动运行软件的设定目标并具有完整动态结构的综合程序。软件系统的概念是国内传统计算机核心课程教学缺失的重要概念。

故三维图形学的教学内容,主要用3组数学模型描述可视物体、灯光、照相机物理模型的物理特性(如用几何模型、材质模型与纹理模型描述可视物体;用光线几何模型、颜色模型、照明模型、辐射度算法和光线跟踪算法等描述点光源;根据类照相机的观察参数,用阴影算法、图像融合等算法描述照相机模型;对光线跟踪算法,应重构照相机模型);在物理仿真、数学建模与软件系统概念的指引下,编程构建三维图形软件系统,实现三维图形的自动显示。物体运动与变形、灯光变幻、照相机运动可形成计算机动画。计算机游戏是用人机交互的操作方式并通过实时动画与声音有效描述具有智能行为能力的人(或动物)的多种社会实践活动。

3)第三个任务的实现方法。

计算机动画包含了传统图形标准与CAD的原理,所以在课程最后,可讲解图形标准OpenGL的原理与编程使用方法。同时图形标准是游戏软件的基石,是现代计算机应用不可缺少的基本配置。

2.2.2 系统综合:介绍图形学的基本原理与动画软件的实现方法

这要求教师先查找资料、汇集前人发表解决以上问题的不同论文与教材(解决课程教学问题的先决条件),挑选材料编写课程讲义,详细介绍完成该任务所需的基本原理与实现方法,讲义试用成熟后再编著出版教材。

教材按以下思路组织:用二维图形学构建软件系统概念的教学,用三维图形学构建三维图形数学建模的教学(直接用三维图形构建软件系统概念的教学,会导致课程教学内容的复杂化)。在每章的开头,均提出应思考并解决哪些问题才能达到本章的教学要求,加强训练读者思考问题的习惯。

学完本课程,学生要能胜任计算机动画软件的设计与编程实现等任务。

2.3 归纳计算机图形学的学科结构

以上教学充分展示:由物理模型(化学模型、生物模型、社会发展需求模型等)数学模型(数据模型是数学模型的一种简单特例,其编程操作主要是数据的存储与检索,以实现数据库软件。根据数学模型“曲高和寡”的原理得知,数据库软件是应用软件中应用面最广的一类软件;或用离散数学的方法、判断规则与判据或可编程实现的自然语言与功能等描述解决问题的过程与步骤;或用通信协议描述数据通信过程要遵循的规则、约定等要求,这是网络通信编程的基础)软件的系统功能与结构用算法语言实现程序编码并形成算法软件测试评估等过程所确立程序设计的基本规律。程序设计这一规律,能被雷达的设计与制造过程所佐证,如通过物理实验确立雷达原理用数学模型描述雷达的工作过程设计雷达系统的功能与结构用电子技术制造雷达设备做好的雷达要通过测试评估才能交付使用等。

由此能用理论(物理原理、建模、软件系统、仿真、程序设计)、工具(OpenGL、Direct3D、着色语言、ACIS、WebGL、OpenCL、3D游戏引擎等)与应用(显示图形的应用程序,如3D动画或CAD、地理信息系统(空间复杂性高而时间复杂性低)、游戏与虚拟现实系统(时间复杂性高而空间复杂性低))3个学科形态描述计算机图形学的学科结构。

2.4 用科学研究的工作方法确立计算机图形学课程的教学模式

(1)选题(发现问题):找任务、了解用户需求、检索阅读资料并提出问题。自由选题要确立研究问题的科学性、目标性、创新性和可行性,并找准课题的申报渠道。提出问题是对任务深入思考或科学研究的前提。如计算机图形学的学科属性与教学内容是否成熟,是此前国际计算机图形学教育界多年关注的教学疑难问题。

(2)分析问题:真实照片由照相机、可视物体与灯光3个主要因素决定,由此确立解决问题的方法。

(3)寻找解决问题的方法(提出假说):首先用二维图形建立软件系统的概念;然后建立描述照相机、可视物体、灯光物理模型物理特性所需的数学模型,构建仿真光线在计算机场景与照相机模型中传播,生成三维动画图形。

(4)做实验解决问题(找寻证据支持假说):针对建立的数学模型,选择数据结构,设计算法,编写程序源代码并调试测试程序,构建三维图形软件系统,实现图形的自动显示。

(5)取得新成果(查新验证):改进学科的系统理论与基本方法,发表研究论文,推广该研究成果或论证申报新开发项目,推动学科建设向前发展。当我们解决好计算机图形学的教学问题时,就为撰写本文并申报计算机图形学国家规划教材奠定了基础。

由此构建程序设计教学的完整过程,并把程序设计拓展成科学研究工作方法的一种形式与组成部分。

该教学模式不仅把教学与科学研究两个不同性质的学术过程结合在一起,还说明围绕课程教学思考问题的训练属于科学研究领域思维活动的一种基本形式。

3 在课程教学过程中合理安排思考问题的训练

教师在重点介绍、讲解每个专题前,要考虑如何训练学生根据学科的发展需求思考问题,这些问题是任务驱动教学法中各种问题的来源。

3.1 用二维图形学构建软件系统概念的教学

专题1:线段图形的描述与生成。基本问题:如何用数学的语言与方式(如描述函数)描述各种线段图形的几何形状,以形成各种线段图形的几何模型?如何形成矢量汉字等子图形高效率的描述方法?如何把这种描述函数转换成算法,并根据其描述数据生成这些基本图形?

专题2:实面积图形的描述与生成。基本问题:用什么方法描述实面积图形的几何形状,以形成各种实面积多边形的几何模型?如何利用显示设备的绘图功能生成实面积图形?如何实现直线图形边缘的反走样显示?

专题3:图形的基本运算。基本问题:图形运算的目的是什么?如何用几何变换矩阵的方式描述图形几何模型的几何变换?若用实面积多边形的布尔运算构建新的复杂图形的几何模型,则布尔运算的数学基础是什么?如何实现其布尔运算?

专题4:图形的观察运算。基本问题:如何把输入到计算机中的图形几何模型描述数据,转换成显示设备坐标系中的图形几何模型描述数据?并调用图形的生成算法显示各种图形的几何形状?

专题5:图形数据与命令的输入。基本问题:能用哪些方法把图形模型描述数据与命令高效率地输入到计算机中?如何利用输入设备的数据输入功能与显示设备的图形显示功能,编程实现图形数据的交互输入?如何规划应用程序中的人机交互设计问题?

专题6:图形的数据结构。基本问题:图形数学模型的种类与复杂、复合图形的构建方法,这些对保存图形几何模型的描述数据提出了哪些动态管理上的要求?如何设计相应图形的数据结构,才能有效地保存、管理存储于计算机中的各种图形描述数据(命令)?如何把图形显示区中的图形描述数据编译转换成多种显示设备能识别并运行的显示指令代码,以实现图形的显示?为编程实现各种图形的自动显示,需要确定编程处理图形数据的基本流程和程序的功能与结构,以形成软件系统的概念。

3.2 用三维图形学构建数学建模的教学

专题7:照相机模型的建立与三维几何图形的显示。基本问题:如何用数学模型,特别是用矩阵的方法,描述照相机拍摄(投影显示)三维直线图形的物理过程?

专题8:平面物体几何模型的构建与图形显示。基本问题:如何用直线与平面函数描述平面物体的几何形状?如何记录这种描述所形成的几何模型数据?如何构建形状复杂的平面几何物体?如何显示平面物体的几何形状与表面?

专题9:曲面物体几何模型的构建基础与线框模型图形显示。基本问题:用什么方法描述曲面物体的几何形状并构建其几何模型?如何显示曲面物体的几何形状?

专题10:灯光模型的建立与光照物体的图形显示。基本问题:如何用数学模型的方法描述灯光的物理特性?如何描述在灯光照射条件下几何物体的可视物理特性?如何显示光照效果的曲面物体的表面与几何形状?如何更有效地描述光线传播的物理特性与变化规律?

学生按照这一思路进行选题,可考虑为实现像照片一样自然景观(如白光的薄膜干涉等现象)的图像显示,需研究哪些问题等,并发表其研究成果。课程教学内容成熟完整后,才便于界定计算机图形学的学科内涵。

4 分析计算机专业主要课程的基本特点,提炼计算科学的学科结构

4.1 计算机教学此前无计算科学学科结构概念的原因分析

现有权威资料和维基百科、百度百科表明,此前国内外计算机教学均无计算科学学科结构这一重要概念。以下3点是导致这一现象存在的重要原因。

4.1.1 对计算工具的分类作用认识不足

尽管人们知道计算机是一种计算工具,计算机有广泛的应用,计算机科学有自己的一套理论根据,但仅用“理论、工具与应用”很难全面概括计算科学的研究全貌与多项用途。事实上,计算机的系统工具对总结计算科学的学科结构非常重要。

计算机系统是一个能对编程实现的数学模型与逻辑模型,进行自动解算与推理的通用计算工具。这决定了程序设计在编程使用计算机上的重要性。

操作系统是对计算机的各种硬件资源与软件资源进行程序管理,使计算机正常运行的系统工具软件。同时,它能对用户程序(命令)的输入、存储管理与自动运行提供服务(包括对通信进程进行有效监管控制),并用人机交互与图形界面的方式记载这种用户程序与命令操作的运行结果。

编译系统是用高级语言编程必备的系统工具软件,它可以把用户用高级语言编写的程序源代码、编译转换成计算机能识别并自动执行的机器语言程序代码。

算法语言是用户为编程使用计算机的各种计算功能,用类自然语言的方式与计算机相互交流思想的符号表达工具。

这些计算工具本身没有直接解决数学计算与逻辑推理等应用问题,该任务由编程解决。

这类计算工具是在实际应用过程中总结、提炼的结果,工具本身一般不直接解决最终的应用问题,这是工具的第一个特点。它的第二个特点是工具的制造具有递归性,即可用简单工具制造复杂工具。它的第三个特点是专业复杂工具的制造方法与技术具有封闭性与隐蔽性,但这不影响他人对工具的操作使用;且其隐蔽、封闭性是工具使用方便、高效的主要原因。

软件系统与计算工具等概念的形成,是用抽象的方法(从众多事物中总结提炼出具有共同本质的特征、而舍弃其非本质的特征等内容)处理形成的结果。

4.1.2 传统课程没有讲清计算机仿真的原理与计算机程序设计的基本规律

传统计算科学的核心课程(计算机导论、计算机原理与系统结构、算法语言与数据结构、编译系统与操作系统、软件工程、离散数学、数据库和计算机网络)从未讲清计算机程序设计的基本规律与计算机仿真的基本原理。学生往往通过课后大量的编程训练,积累对计算机程序设计与计算机仿真的认识。这种程序设计经验式教学培养模型,无助于学生总结并提炼计算科学的学科结构。相反,人们在算法语言与数据结构课程的教学上存在一些模糊认识。例如,算法语言是用一组语法规则与功能约定的一种符号标记系统,它让人们掌握语言的符号约定、功能、特性以及用算法语句描述给定的数学计算与数据处理、逻辑判断等――即其教学主要是完成程序的编码训练,由此形成算法;也为研制该语言的编译系统做铺垫。然而部分算法语言的教科书,只有一些算法验证性应用实例,并把它们等同于计算机程序设计教学,这无助于初学者全面正确地掌握计算机程序设计的基本规律,因为学习算法语言后,他们还是没有数据结构的概念。

数据结构是研究用程序编码的方式,在计算机中有效实现多种类型数据的存储组织(形成线性、非线性、网状结构形式以及静态或动态结构形式的数据存储方法)、存储管理、排序检索与编程效率等任务的一门专业基础课程。数据结构课程有很多计算复杂性的案例,是培训人们掌握编程技巧的一种有效方法。因为编写程序所采用的数据结构往往决定了算法的编码实现方法,更重要的是,CPU是根据保存在内存各处程序代码的逻辑次序、通过逐条读取其指令代码来完成用户指定应用程序(或命令)的执行。如何规划、设计、调度与管理内存的使用,这与数据的调度与管理原理类似,是数据结构讨论的问题之一(常在操作系统课程中介绍解决该问题的方法。数据结构问题本质上属计算机内存的动态、合理使用与管理问题)。而该课程中所谓抽象数据类型,是指在指定的数据集上定义对该数据元素进行多种加工等编程操作方法。这个数据集以及对其数据元素的加工方法(数据集与其加工方法均能递归定义),应来源于人们用数学的方法描述解决实际应用问题这一过程,该主次关系不能颠倒。没有这些数据结构与程序编码等基础训练,初学者很难规划好一个软件的系统功能与结构。

由于传统的算法语言与数据结构课程教学无数学建模(它决定了解决多种应用问题算法的来源)与软件系统的概念,故传统的算法语言与数据结构课程没有讲清程序设计的基本规律。

4.1.3 传统计算机课程存在教学问题

首先,传统计算机图形学课程存在教学问题,现已被本教学改革有效化解。

其次,软件工程课程存在教学效果空洞抽象等困惑。若把新的计算机图形学课程作为软件工程课程的教学实习对象,可以有效解决该教学困惑。由于新的计算机图形学课程可以讲清程序设计的基本规律与计算机仿真的基本原理,这使软件工程课程的教学从理论上能达到软件全生命周期设计的教学目的。

第三,计算机导论与计算机基础课程存在教学困惑。计算机导论应对计算学科发展的全貌作整体介绍,并理顺计算学科与其他学科之间的关系,引导读者根据自己的需求有效选择学习不同的计算机专业知识。由于此前计算机课程存在以上问题,导致历次获国家级奖励的计算机教学改革成果以通过有效载体进入课程教学,致使计算机课程教学体系仍然不够成熟。这往往是行业外人士选修计算机课程的迷惑。因为自牛顿时代以来,用数学的语言描述自然科学取得的新进展,是各自然学科之间相互交流学术思想与成果的通用方法;然而目前其他自然科学工作者学习计算机后,却无法顺利地用计算工具的方法来表达其各自学科建设研究成果的数学模型等。这种计算机课程教学不便于计算机教育与其他自然科学教育进行对等有效的学术交流,并导致计算机基础课程教学出现危机。另计算机教学无计算科学学科结构的概念,即人们没有评判计算机导论教材好坏的客观标准。计算机图形学教学改革取得的新成果――发现计算科学学科结构的客观存在,为重构计算机导论与计算机基础课程提供了重要借鉴。

最后,计算机网络课程存在不足。如该课程介绍网络通信协议较多,却较少介绍网络通信工具的构建与编程使用方法,以及计算机网络通信程序的编程实现,这不利于初学者承担计算机网络计算的重任。

4.2 借鉴计算机图形学的教改成果。归纳计算科学的学科结构

传统计算机核心课程缺少一门计算机的综合运用课程,以总结并提炼计算机程序设计的基本规律与计算机仿真的基本原理。计算机图形学课程可以很好地承担这一重任。有了计算工具的概念与计算机图形学课程后,可以重新分类、归纳已知计算机的多种应用。

成熟的计算机图形学与传统计算机核心课程的教学,使计算科学理论(即计算机的系统理论和专业知识。它需回答:什么能被工具有效地进行自动计算,用什么方法研究该命题并形成哪些结论、成熟的理论与发展方向;满足何种条件的实物装置能实现计算功能,计算装置如何构造实现并使其正常运行、操作使用;可计算性的实现前提是什么,如何用该计算装置实现这种自动计算,如何保证计算结果的正确性和计算装置运行的安全稳定,该计算装置有多强大的计算能力;计算理论与计算机专业各课程的关系等)、工具(算法语言、编译系统、操作系统、计算机系统)与应用(数据存储与检索,数据计算、仿真、符号变换与推理,数据网络通信,数据获取、输出表达与控制即多媒体)3个学科形态得到完整展现。它们是形成计算机专业多个发展方向(如杀毒与网络防火墙、网络存储与查询、网页设计开发工具与网站建设、网络浏览器,即时通信、流媒体与播放器、人工智能与专家系统、计算机嵌入式应用、计算机在通信与自动控制系统中的应用等)与综合(如3D网络游戏)或研发计算机硬件(计算机系统结构与CPU设计、计算机工程)的基础。

因互联网的应用,计算机网络计算有网络理论(在通信理论的支持下,如何可靠、快速、方便、安全地实现计算机信息描述数据的通信;网络计算的理论基础与基本规则是什么,如何利用网络资源进行有效的传输与计算)、网络工具(计算机与互联网、路由器与交换机、调制解调器、Java、html语言、浏览器、Socket、遵循HLA标准的分布式实时仿真工具RTI、网络游戏引擎)与网络应用(如计算机数据通信与监管、电子商务、社交网站、网络游戏、云计算、信息技术与信息系统、物联网、大数据的应用等)。

图1显示了计算科学的学科结构。由计算机仿真的基本原理与可计算性的实现前提,可论证程序设计教学与计算机仿真教学的一致性。

故计算作为一门学科(招生专业)的根据是:①它有自己独立的研究领域。即什么能被有效地用工具进行自动计算以及可靠、安全、快速地传输?②产生专业知识的方法。科学研究与科学思维是产生(创造)多种学科新知识的主要方法,这是研究生阶段的主要学习任务。③由此形成的理论体系与其学科结构。这是本科生学习阶段应掌握的专业知识。④传授知识的法定机构与办学条件。⑤广泛的应用基础。

篇8

    1程序设计语言教学中存在的问题

    1.1教学课时少

    目前我校计算机专业的学制2+1的模式,学校开设的程序设计语言课程的课时(包括理论课时和实践课时)较少,这就导致实际教学中存在理论课时和实践课时不够的情况,学生只能掌握最基础的程序设计知识,理解书本上现有的一些设计实例,而不能用该程序设计语言进行实际问题的处理。

    1.2学生基础参差不齐,学习程序设计的信心、兴趣不足

    因为学习程序设计需要较强的逻辑思维能力和较扎实的数学功底,而中职学校的学生普遍数学基础较薄弱,导致在学习程序设计时显得力不从心。由于缺乏对计算机本身解题的认识和了解,有些基础较差的学生还对计算机程序产生一种莫名其妙的神秘感和畏惧感,人为的给自己学习程序设计语言设置了一道门槛。学生对程序设计课程的学习兴趣不高,课堂教学中反常行为较多,如卜课睡觉、讲话、玩手机、不配合老师、不交作业等。学生普遍反映难学,提不起学习兴趣,感觉学不到知识或学的知识没用。

    1.3学校对程序课程的重视程度不高

    计算机程序设计课程注重对学生的思维能力的训练,这与图像处理,动画设计等培养学生动手能力的课程不同,不能立竿见影的看到学生的学习成果。这就导致一些领导对这门课程不够重视,从而使部分教师对这类课程的教学参与兴趣不浓厚,甚至有些学校以取消了程序设计语言的课程设置。

    1.4教学方法落后

    中职程序设计语言课程一般采用的教学方法是教师课上讲授加学生实验的形式,学生在上机实验时仅仅是对书本上现有的一些实例进行编辑调试,一旦调试成功就完成任务。这种教学方法实际上只是让学生掌握了一些程序设计的语法知识和调试技巧,而达不到培养学生利用该程序设计语言从一个实际问题人手分析问题、解决问题的能力。

    1.5考核方式较简单不能全面检验学生的学习效果

    目前的考试方式以试卷为主,无法全面检验学生的学习效果,对学生的实践能力考查无法体现学生的真正学习效果。

    2间题分析

    是什么原因造成了以上这些问题那?随着高中教育不断普及,中职生源及综合素质急剧下降。普遍特点是他们基础薄弱,尤其数学和英语,这是学好程序设计的最大障碍。教材不能适应中职教学的要求。现今中职程序设计语言教材存在的普遍问题是实践性教学和实训内容不足,没有体现教材的实用性和职业性,不能保证对学生实践能力的培养,不能体现技术应用型人才的培养要求,缺少中职教育特色。面对这些问题,我们不能望而却步,一味地去埋怨是起不到效果的,要真正想解决问题,最好就要去不断地摸索,寻找解决问题的突破点,探索适合学生发展的教学方法和教学内容,以充分调动他们的学生积极性和主观能动性。

    3解决间题的关键在于教育方法的创新

    古人云:“知之者不如好之者,好之者不如乐之者。”兴趣对学生的学习有着神奇的内驱动作用,能变无效为有效,化低效为高效。充分激发学生的学习兴趣是当前开展素质教育,优化课堂教学,减负提质的最根本、最有效的途径之一。兴趣的产生来源于兴趣源,兴趣源必须由教师来创造,并贯穿于教师授课全过程的各个环节中。针对程序设计这门课程的特点教师可采用以下一些方法提高学生的对本课程的兴趣。

     (1)基于问题的教学。提出问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。

    (2)“项目驱动”教学。在理论教学中采用“项目驱动”教学法,整个课程教学围绕一个“工程项目”进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高,将知识点都溶化到一个个实训项目的程序编写中。

    (3)讨论教学法。在教学过程中,充分发挥学生的积极性与主动性是非常重要的一环。程序设计有一个最大的特点,一题多解。针对这个特点,教师在习题课的教学中,可以采用讨论式教学方法。在此过程中,学生们通过提问、答辩、论证、反驳、判断等激烈的讨论,互相启发、相互协作去分析问题、发现问题、解决问题,总结经验。不仅可以让学生获得课外的知识,同时也利于充分挖掘学生的学习潜力。

      (4)归纳教学法编程语言有很多的定义、概念、语法规则,它们使用灵活、难以记忆,也特别容易出错。如果能够引导学生进行归纳,将会起到事半功倍的效果。编程语言的定义、概念、语法规则有许多相似的地方,例如:for ……to……与do……w hile等命令,有很多语法规则是一样的,对它们进行归纳之后,学生只要记住其中一个,另一个自然就会使用了。

      (5)分组教学法。注重培养团队精神,以“竞”求进上机编程实践是学好程序设计语言的关键。但上机实践过程中如果“各自为战”,或在教师的统一“指挥”下以完成不同题型的任务为实践内容,对于中职学生而言很容易失去上机兴趣,也很难达到上机实践之目的。因此,不妨针对中职学生的特点,适当转变上机实践的形式。以组建团队的形式上机实践,事前分配给每个学习小组不同的实践任务。组长负责本组学生利用课余时间去思考、收集资料,上机时各组先分别完成相应任务,然后相互演示成果,评判优劣,最后再进行任务交换,讨论编程心得。在此过程中教师主要充当协调者的角色,对确有疑难的地方可适当加以指导,主要过程可由学生自行解决,则学习能力强的学生自然会成为教师的助手。

篇9

Abstract In order to improve the non computer professional students of science and engineering teaching quality courses of computer application, this kind of curriculum reform of traditional teaching methods, pay attention to the cultivation process and the ability to adjust the classroom computer room, teaching methods and real-time interaction with the screen broadcast, will lecture and experimental fusion, the teaching and examination fusion, using a variety of means of examination coverage of the whole teaching course, not only to achieve the purpose of motivating students to learn, but also make the classroom lively and lively, good teaching effect.

Keywords computer teaching; examination; reform; ability training

为了鼓励和督促学生通过课程真正掌握计算机程序设计及应用的技能,许多任课教师倾注了大量心血,提出了很多方法和措施,值得我们参考。①②③④笔者认为考试是教学的指挥棒,考试改革和教学改革必须同时进行才能取得好的教学效果。为此,在学院教务部门的支持下,笔者在讲授“Matlab语言及应用”课程中,对课程教学和考试方式进行了改革创新,现就有关教学实践的经历谈一下自己的看法。

1问题分析

1.1 传统思想造成考试方式的固化

“笔试”在时间与空间上的严格性的优势使其成为长期且普遍采用的考试方式。以至于造成很多师生固执的认为“只有笔试才是考试”。另一个原因,由于教师们普遍重视理论教学和熟悉笔试操作流程,使得即使在程序设计和应用类的课程考核中,也往往倾向于采用笔试来考核。⑤实际上,笔试的考核方式在理论性较强的课程,如政治类、原理类等课程中适应性更强。考试内容和考试方式又是教学的指挥棒,采用笔试考试直接导致了日常的教学内容和教学方法也会偏重理论讲授,在实践性较强的科目中客观上会造成实践教学的减弱。计算机程序设计应用类课程就是这样一种实践性很强的课程,它的核心教学目的是培养学生程序设计或者使用专业软件的能力,使学生能够在电脑上独立操作实现专业所需的程序设计或者软件操作,而非演算纸上写出步骤或代码。显然,笔试的考核方式制约了这类课程教学过程,影响了教学效果。考察国外大学的课程考核形式,主要包括了闭卷笔试、开卷笔试、小论文、专题讨论、教师口试、答辩、小组研究项目、资料分析、课堂表现和社会实践笔记等等,他往往根据课程内容确定较为适合的考核方式。⑥这些考核方式都是值得我们参考的。开展考核方式改革的探索将有利于我们客观、合理和综合地评价学生的学习过程和知识掌握程度,进而调整教学思路和实践教学步骤。

1.2 社会环境影响学生的学习目的

当前“急功近利”的社会氛围下,获得学分、取得高分成为学生学习的第一目的,真正熟练掌握专业技能和专业知识被大家严重忽视。一个较为典型的例子就是,在我校本专业免试推荐研究生时,入围的资格是考试成绩,复试内容是专业操作技能和专业素质。在这一环节中,高分学生表现出较差的技能或专业素质的现象非常常见。在日常教学中,学校也往往过分重视分数的价值功能,特别是奖学金、评优等几乎完全看考试分数,使学生产生了“分数高于一切”,“考试分数高的才是好学生”等问题。客观上引导学生以考试成绩为第一,而并不关心是否真正掌握了专业知识和专业技能。

对于理工科学生来讲,上述做法严重削弱了学生参与实践教学的积极性。在类似计算机应用类课程的很多科目中,笔试分数并不能真正检验学生的学习效果,笔试成绩高也不能代表高的实践能力。理论上,切实开展专业教育、职业规划是解决这一问题的基本途径。让学生知道每门课程在未来职业中的用途,这需要由每一位任课教师渗透到所负责的专业课程中,需要结合课程知识点告诉学生本节课的技能在未来的工作或研究中有什么用途。实际教学中,还可通过改变传统教学模式、提高学习兴趣来督促鼓励学生,如本文的方法。

2教考综合改革实践

2.1 考核方式

为避免学生平时疏于学习、期末恶补考试,使学习效果得到客观、公正评价,更为了鼓励学生真正学好技能,在“Matlab语言及应用”教学中取消原来的期末统一笔试,改为贯穿整个教学过程的全程考核,将考核点设计为作业、小实验、讨论和课程设计等,表现为“考教融合”。在本门课程中,将成绩构成分配为期末程序设计考试成绩占40% ,平时实验成绩占30%,课后作业占20%,课堂讨论占10%的模式。

课堂实验和课后作业部分要求所有学生教学过程中同步完成,属于完成性考核。所有W生都被要求掌握这些基础知识点和技能。讨论部分和程序设计考试阶段是提高的部分,属于提高性考核,学生如果想取得好的成绩,就要在完成基本实验和作业的基础上,认真思考问题,上课积极参与讨论,针对问题提出更优方案,努力掌握软件应用技能,并在期末程序设计考试中顺利完成考题。讨论课的内容包括了如专业数据处理需求、特殊功能实现方法等广泛的扩展性内容,大家讨论给出程序设计方案和步骤,这能考察出学生的基本素质、思维能力和知识熟悉程度。在期末程序设计考试阶段,通常会设计包含了多个教学知识点的专业有关应用型程序设计题目,学生在给定的时间内在教学机房独立完成程序开发。这部分的考核以解决实际问题为考核目标,给了学生更大的学习压力。但由于这部分比重只占总成绩的40%,也没有给学生过多的精神压力。这种考核方式能够充分调动学生积极性,使得学习过程丰满而充实。

2.2 教学方式

为了配合上述考核形式,需要深刻改革授课方式。在讲课风格上,尽量避免空洞的理论讲授,通过给学生提供生动、形象的演示,使他们了解直至理解每一个知识点,在实践中掌握。在上课地点上,抛弃了原有的讲台和黑板,将授课地点从教室改到计算机室,学生每人一台电脑,既能观看教师演示,又能动手实践,还能随时与老师交流。在授课方式上,不再划分讲课学时和实验学时,将授课与实验融合起来,边讲边练边讨论。

具体操作,将每2学时的教学内容划分为4个阶段。第一阶段,采用屏幕广播方式,利用案例教学,为学生讲授基本原理和操作方法(约30分钟),将空洞的理论性的知识点穿插到实践中,让学生看得见;第二阶段,学生独立练习前述教学内容(约30分钟),完成老师的演示内容,通过操作理解知识点;第三阶段,集体讨论,启发式教学,并采用屏幕广播方式,为全体同学重复解释教学难点,讨论知识扩展;第四阶段,布置需在课堂完成的与实验内容和课后思考作业,重点培养学生解决问题的能力,课堂实验需要当堂提交,不能按时完成的或完成不认真的,直接影响成绩评定;课后作业完成时间由学生掌握,按完成水平给出成绩。⑦

上述教学方式使得学生在没有压力的情况下轻松学习,增强学生的学习主动性,使学生觉得“每节课都在学习,每节课都是考试”。

2.3 教学内容

教学大纲要求掌握的教学内容和实践技能,都设计到各个实验中,不鼓励学生死记硬背。因为“纸上得来终觉浅,绝知此事要躬行”。对于基础的命令和方法,学生会在反复训练中掌握,结合专业需求理解,经过大家多次讨论后自然就可以熟练掌握。对于生僻复杂的知识点或模块,更没有死记的必要,教会学生解决问题的办法,要求学生在遇到或用到时,能知道其解决方案并能查找相应资料就行。关于教学内容,重点引入学科专业有关的应用内容和常用热门模块,不但使学生学有所用,还跟踪了知识前沿。

3教学效果分析

多轮的“Matlab语言及应用”教学实践表明,本文提出的教学方法能够充分调动了学生的学习兴趣,所有选课学生都获得了学分,且都取得了良好以上的成绩,70%以上的学生在期末的程序设计考试中都能独立完成程序设计。与授课前相比,学生的编程能力、创新意识以及实践课程的学习主动性等方面均有所提高,两年的授课前与考试后问卷调查的结果表明,学生对程序设计类课程的有好感的比例都是从约30%上升到约70%。编程基础较好的约20%的同学经过本课程的学习后已经能够熟练掌握Matlab语言,在毕业论文和研究生阶段可以自由设计所需专业程序。考察2015、2016两年本专业本科毕业论文中数据处理环节,50%以上学生采用了Matlab软件设计程序,包括自主设计和改造他人程序两种情况。上述教学效果完全达到了本专业本科培养方案中设置本门课程的目的。

4结语

从计算机语言应用类课程教学中存在的问题出发,结合“Matlab语言及应用”课程的教学实践,探索了教学和考试改革的方法,取得了一定的成效,使得学生的素质得到较好发展,编程实践水平普遍提高,提高了学生的学习兴趣。需要指出的是,我们一直采用的是小于20人的小班教学方法。在这种师生比的情况下,教师的教学工作强度是可以承受的,学生发生抄袭现象也是容易被发现并制止的。非常明显,当学生人数增多时,这种教学方案会给任课教师带来很大负担。因此,不断完善教学和考试改革,使教学和考试体制更具科学性、合理性和适用性,以满足优秀人才培养的需求任重道远,我们仍需不断努力。

注释

① 张贞贞,宋连公.非计算机专业计算机基础教学模式探析[J].华北水利水电学院学报:社科版,2009(5):111-113.

② 金蓉,庄红,黄德生.面向能力培养的高校非计算机专业计算机基础教学改革与实践[J].计算机教育,2010(1):145-148.

③ 张居晓.提高高校非计算机专业计算机基础教学质量的策略[J].计算机教育,2011(2):54-57.

④ 吴春明,邹显春,杜云.高校非计算机专业学生计算机创新能力培养模式研究[J].西南师范大学学报:自然科学版,2011(5):240-243.

篇10

这里,摘录来自清华大学不同院系学生的小论文,以展示在大学一年级学生眼中计算机技术与各专业的关系。

周丹彤:

计算机技术在土木工程领域有着十分广泛的应用,在对图形的处理方面发挥了传统人工绘图无法比拟的优越性。计算机辅助设计(Computer Aided Design,CAD)是随着计算机技术和计算机设备的飞速发展而产生的一门新兴学科,是建立在近代计算机软、硬件技术和工程技术基础之上的交叉学科。

计算机程序设计技术在CAD技术的应用与开发方面均有着不可替代的作用。

ADS(AutoCAD Development System)系统能利用C语言的结构化编程手段,使应用程序以外部可执行文件的方式在AutoCAD环境中运行。ADS实际是一组可以用C语言来编写AutoCAD应用程序的头文件和目标文件。ADS应用程序级可以充分利用AutoCAD本身具有的强大功能,同时有拥有C语言运行函数库的全部功能。而从AutoCADR13.0版开始,AutoCAD提供了更为高级的开发工具ARX(AutoCAD Runtime Extension),它以C++为基本开发语言,充分发挥了面向对象变成的诸多优势,使得应用程序运行速度更快,访问和操作图形数据库更为方便。正如C++语言可以兼容C语言一样,在ADS和ARX之间,AutoCAD提供了成为ADSRX的编程手段和程序库,实现了对ARX和ADS程序的兼容。

而最新出现的ObjectARX在建筑结构等各种交互计算与绘图的应用领域发挥着重要的作用。在AutoCADR14.0以后的版本,用户可以利用ObjectARX编程环境,采用面向对象的C++语言来开发ObjectARX应用程序。

使用ObjectARX对AutoCAD进行二次开发,要求开发者必须具备一些基本编程知识,其中包括C或C++知识、面向对象编程概念、Microsoft Visual C++的使用,以及AutoCAD的基本操作方法等。

陈颖:

C语言比其它的程序设计语言应用范围更广。具体到本专业的应用,在单片机中应用最广,其他还用在DSP程序的开发,以及Matlab程序编写上。

在目前以及可预见的未来,单片机发展的主流在于:单片机的真正单片化、低功耗、电源电压允许宽范围波动。单片机的单片化,使得电路设计越来越简单,同时必然使得单片机型号明显增多,对开发应用人员来说,便会针对不同情况选择不同型号的单片机,C语言则使此项工作简单易行。

聂慧饶:

传统的机械制造周期长,精度低,大批量生产,很显然已经不适合21世纪的需求。传统的生产方式已经制约了机械制造技术的发展。而不幸的是,在我国,大部分地区的制造行业仍然使用的是传统的生产模式,这不仅给我国带来了极其严重的环境污染,还造成了大量的资源浪费,与我国的“可持续发展”战略背道而驰。而作为机械人,我们必须担起祖国的大任。

在21世纪,生产必然要求产品开发周期短,产品的精度高,能够满足各种用户的不同要求(即不需要大批量生产)。这其中的每个过程都与软件技术密不可分。计算机辅助设计在产品的设计与开发中有极大的作用。数值模拟在生产过程中的应用也相当广泛。传统的手工生产也正在被后起之秀“机器人”逐步取代,使用机器人可以有效地解决生产过程中的精度问题。

在这里,我的意思并不是每个机械人都必须同时掌握软件开发技术。毕竟,作为机械人,我们只需要在机械制造领域有所作为就够了。但我们还是要学习计算机语言掌握住适当的编程技术,为以后同软件专业的人才共同开发出自己的软件打好基础。虽然当前机械制造领域内已有许多现成的软件,但它们也并非都相当成熟,而且绝大多数不出自我国之手。市场上,何曾见过完全由我国自主开发的大型软件?所以,发展的空间还是很大的。

21世纪有太多的软件技术等我们去开发,有太多的机械制造技术等我们发展。

侯鉴玻:

我是一名来自精仪系的学生,初步了解,程序设计技术在我们系也应用得非常广泛,根本缺不了。因此,下面我简单介绍一下程序设计技术在我们专业的一些应用。

ActiveX控件在程控仪器控制程序设计中的应用。

......

程序设计在机械设计计算中的应用。

......

程序设计在画法几何中的应用。

......

程序设计在水泵轴类零件强度校核的应用。

......

程序设计在机床PLC故障显示的应用。

......

其实,程序设计技术在我们专业的应用还有很多,也正是它的应用使得我们专业很多领域发展的越来越快。通过这次搜集资料,我学到了好多东西,也进一步认识到了程序设计的重要性。程序设计基础这门课非常必要,学好了它,以后我们才能进一步学习程序设计,才能在专业上有所发展和突破。

潘宁:

汽车被称为“轮子上的计算机”,对一辆汽车的先进程度的评价标准,已经逐渐从看其发电机的功率有多大,转变为主要看其芯片的计算能力有多强、汽车软件的功能有多强。现代汽车是以计算机为中心的高度自动化、集成化的控制系统,该系统随着汽车功能的不断增多而日见完善和复杂。

国外有人预计,将来汽车中90%的创新有赖于电子技术,而创新中的大部分将依靠软件来实现。

陈颖:

程序设计在任何一个工科领域都有广泛的应用,而对于强调信息快速传递处理的工业工程专业更是如此。比如在供应链管理方面,工业工程的专业人员需要做到信息共享,这样能将整个供应链,从供应商、生产商到零售商――整合到一起,更快地响应客户需求,降低库存,提高供应链绩效。为了达到这一目标,就要依赖各种高级管理软件。要想更进一步优化这一信息管理系统,取得效率的最大化,就需要设计新的算法做出新的软件。这是一个没有最好只有更好的方向,更是程序设计在工业工程专业的应用中最具有挑战性的方向。

具体说来,程序设计在工业工程专业中的应用可以分为以下几个方面。

1、生产方向

建模与仿真(Modeling and Simulation)

开发语言:C/C++

应用软件:Flexsim,Promodel, Anylogic, MATLAB

其中Flexsim是一个基于C语言程序设计的软件,工业工程系学生一般在大三上学期会学到

应用举例:奥运园区垃圾回收系统仿真,大型超市排队系统仿真

*制造系统实体建模

应用软件:ProE, AutoCAD

*管理信息系统(MIS)和物流信息系统

MS 的access和borland 公司推出的delphi是数据库管理软件,应用于管理信息系统就是MIS.

应用数据库软件:SQL-server,DB2,MSAccess, Oracle

用户界面开发语言:VB,JAVA

应用举例:企业MRP, ERP系统开发与维护

2、物流方向

*物流网络规划

应用软件:使用LINGO,LINDO, MATLAB等解线性规划问题

应用MATLAB, C/C++, JAVA等实现优化算法:如VRP(车辆路径规划问题),TSP(旅行商问题)等优化的开发

3、人因方向

*实验设计

统计软件:SPSS

实验界面设计:基于VB, JAVA

*虚拟现实

*用户可用性(usability)

从研究内容上看,工业工程关注工程运作的效率、成本、质量等方面问题。

在考虑效率问题时,工业工程涉及到优化,其中包括线性规划、动态规划等等,一般会在运筹学中学到。这些问题如果是小规模的则可以通过手动解决,但大规模的就只能通过算法解决,而算法都是通过程序(一般是通过C++程序设计)实现的。

篇11

程序设计基础这门课程是在学院第一个学期开设,共有56个学时,这门课是学校计算机应用技术专业的一门基础课程。学院对此专业的培养方案的初次岗位定位中有软件开发技术员岗位。根据计算机程序员岗位的职业要求,具体工作流程总共分为五部分:需求分析、系统设计、程序设计、程序调试、交付与维护。不难看出程序设计在其中占有至关重要的地位。程序设计基础课正是来源于此,该门课程是培养程序设计员基本程序设计能力的一门基础课程,在计算机应用技术专业人才培养方案的课程体系中属于专业技术课程中的基础课。

《程序设计基础》是直接面向程序员职业岗位的一门课程,课程的学习目的是使学生掌握结构化程序设计的基本方法,培养程序设计的思维能力,为后续课程《C#程序设计》、《数据结构》、《WEB程序设计》、《面向对象程序设计》等课程的学习奠定基础。

二、课程设计

为了符合学院提出的“走进校门的是大学生,培养出来的是职业人”的育人理念,和计算机应用技术专业要培养具有优势职业品质与技能,面向现代服务业培养管理、服务第一线岗位的高素质技能性职业人的专业目标,《程序设计基础》的课程设计思路是以培养程序设计能力为目标,以实战项目为载体,实现教、学、做一体化。

在教学过程中以案例为先导,学生完成演练为手段。这门课程要达到的品质目标是以能力与知识相结合、以培养全面发展的具有优势品质与技能的高素质应用性职业人为培养目标,培养学生严谨细致、求真务实的工作作风和良好的团队协作精神。技能目标是掌握结构化、模块化程序设计方法与技能、培养自主学习独立思考能力。知识目标是学会C语言的基本语法,掌握基本的算法、能够编写基本的C语言程序。

课程内容的选取依据计算机程序员岗位需求、典型工作任务、行业技术动态发展趋势、高职学生特点,分为理论教学和实践教学,课时分配是1比1,其中实践教学每一个模块都以项目案例为导向,案例大多选自杭电的ACM平台,同时也配备了为了激发学生学习兴趣老师自己创作的案例,比如剪刀石头布游戏,猜数字游戏等。

高职学生属于高考最后批次,文化基础知识相当欠缺,体现在C语言上,英语出错提示看不懂,甚至有学生反映在C语言中的英语语句关键词都不认识,在数学上同样存在基础相当差的问题,成为学习C语言的极大障碍。学生从小接触计算机就在Windows下运行,习惯了用鼠标,而C语言运行在用键盘的命令行界面上,一个字都不能输错,对初学者有一定难度。这门课程的重点是:三大基本语句程序的设计、数组的定义与引用、函数的定义与参数传递;课程的难点:选择与循环的嵌套、函数嵌套与递归调用、指针等。针对学院高职学生的特点,对于重难点的解决方法是从提高学生学习主动性方面突破首先,要激发学生的兴趣,包括两方面的内容:第一兴趣教学,尽量选取学生感兴趣的题目或项目进行教学,如猜数游戏,石头剪刀布游戏等。第二实用教学,解决学生学了有什么用的困惑,尽量选取贴近生活实际的题目,如百元钱兑换方案、谁是骗子等,让学生感受到学后能解决问题的小小成就感。

三、教学实施

教学实施流程分为三个阶段:准备阶段,实施阶段和总结阶段。在准备阶段中,根据课程标准,主讲教师组织任课教师讨论,选择典型的工作任务,制定教学计划。实施阶段以学生为主体,以教师为主导,以职业能力培养为中心,融‘教、学、做’为一体教学。总结阶段主讲教师组织任课教师讨论,提出存在问题,找出解决方案。

针对课程特点,灵活使用“启发式教学”、“趣味教学”“任务驱动”等方法,突出“理论教学构筑学生的知识结构,实践教学构筑学生的职业技能结构”的教学原则。课程教学全面推行“学中练,练中学”教学思路。

接下来以循环结构的第一次课为例来阐述一下教学流程:学生对循环结构没有概念,对while和dowhile语句也不感兴趣,为了提高他们的学习积极性,首先使用五分钟的时间情境导入,选取杭电ACM平台上面的三个案例:猜数字游戏,百钱百鸡问题,谁是骗子,在学生对将要学的知识有了一定的期待后,用十五分钟的时间讲解相关的语法知识,接下来通过解决案例的方式教师给学生示范编程,并且给学生留出一定的时间自己动手实现,最后十分钟进行总结反思。

这门课程的教学评价由三部分组成:其中平时成绩和课内实验成绩分别占20%,期末笔试成绩占60%。

四、教学条件

程序设计课程有一支不论是年龄结构还是职称结构都比较合理的教学团队,每个老师都有自己的优势,有的具有多年的企业编程经验,有的主持多项相关的省级课题,有的对指导学生程序竞赛有丰富的经验。此外课程聘请杭电ACM集训队教练刘老师担任学校ACM集训队特聘教练,刘老师也参与系相关的实习实训活动。

该门课程的教学资源也很丰富,主要包含以下几个部分:教学大纲、授课计划、教材、实验实训项目指导书、多媒体教学课件、网上C语言精品课程、试题库、图书资料等。教材选用谭浩强教授编著的《C语言程序设计》,系周岳松老师自主研发了客观题在线测试软件,该软件分为教师版和学生版,教师版可用于平时随堂测试,学生版可用于学生自主学习,网络资源主要有C语言网等。学院也提供了相应的硬件支持,设有软件开发实训室、大学生程序竞赛实训室等多个实训室。

五、教学效果

校内督导组和校外专家都对《程序设计基础》这门课程给予了充分的肯定,专家评语是以项目为导向,以任务驱动,符合高职教育教学特点,以提高学生的编程能力为宗旨,能较好符合企业对软件人才的需求。

迄今为止,该专业共有一千七百余人修了这门课程,取得了丰硕的成果。我校代表队参加了十届浙江省大学程序设计竞赛,共获32块奖牌,尤其去年今年连续两次获得专科组的特等奖,同时四次获得优秀组织奖。除了ACM竞赛,在蓝桥杯比赛中我系学生也取得了不错的成绩。

通过这门课的学习,锻炼了学生的逻辑思维能力和基本程序设计能力,为以后的工作和创业打下了坚实的基础,2008级计应学生林清瑞,曾经参加ACM竞赛并获得银奖,自主创业,建立了杭州安豆信息技术有限公司,从事手机游戏开发。2003级计应学生黄道笑,自主创立了杭州五角星科技有限公司,从事网站开发。2010年公司销售额超过了200万;2011年被评为杭州市高新技术企业;2012年被评为杭州市雏鹰计划企业。

六、课程特色

这门课程特色:以赛促教,赛教结合。把ACM竞赛平台里面的题目融入到平时的教学过程中,也会把平时表现好的学生充实到竞赛集训队伍里面;教学结合,学以致用,教师指导,学生自主研发一些小游戏,比如石头剪刀布的游戏。

篇12

目前,计算思维是计算机界关注的一个热点。自2010年7月,九校联盟(C9)西安会议提出计算机基础教学的核心任务是计算思维能力的培养以来,国内多所高校围绕计算思维与计算机基础教学改革进行了深入的研究和实践,发表了一些计算思维研究和实践方面的论文。在新的形势下,如何在大学计算机基础教学中,培养学生在各自专业领域中应用计算机和计算思维解决实际问题的能力,对于提高学生的创新能力和信息素养都具有重要的意义。

1 计算思维

计算思维是美国卡内基梅.隆大学计算机系主任周以真(Jeannette M. Wing)教授提出的。周教授认为:计算思维 ( Computational Thinking )是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,其本质是抽象和自动化。

计算思维是数学思维、逻辑思维和工程思维的综合,是与阅读能力、写作能力和算术思维并列的第四种能力,能够提升人类的能力。就像识字、做算术一样,是人人都必须具备的思维方式。

2 VFP程序设计教学现状分析

Visual FoxPro(简称VFP)课程是面向高等学校非计算机专业学生开设的计算机基础教育课程。VFP作为计算机程序设计的一门基础课程,应注重学以致用。学习的重点不只是编写程序,而是学习算法思想与问题求解的思路,增强学生计算思维能力的培养。

但是,从目前VFP程序设计教学,尤其是非计算机专业现状来看,普遍存在以下问题。

2.1 课程学时少

随着计算机技术内容的不断更新,以及信息技术在中小学的普及,在新的形势背景下,计算机基础教学面临着新的挑战。人们对计算机基础教学产生了片面的认识。认为“计算机会用即可”、“计算机即编程”,造成学时被压缩,资源得不到充分的配置和利用。就我校的计算机基础教学改革来看,“大基”的学时由64变成32,时间压缩了一半,学生计算机基础水平有待提高。

VFP的教学课时相对“大基”课时虽然要多些,但对于非计算机专业的学生来说,计算机语言底子更是薄弱,想在短期内掌握一门计算机语言,十分不易。对于授课教师而言,既要完成教学目标,又要学生掌握计算机语言使用方法,并且在教学中形成学生的计算思维能力是非常困难的事情。

2.2 以语言知识为主,偏理论,轻实践

在实际教学中,很多老师以语言知识为主线,详细介绍语法规则等细节内容,上机操作多以验证为主,偏重考试内容而不是编程,这和课程的教学目的是相悖的。导致学生学习积极性不高,感到枯燥,学的不牢,编程能力和分析解决实际问题的能力没有得到提高,更谈不上运用计算机解决专业问题。

3 以培养计算思维为核心的VFP程序设计教学方法

3.1 以计算思维为主线,改进教学内容和教学方法

计算思维养成以计算能力的培养为基础,对教学内容的改革,不是完全改变原有的课程内容,而是内容的再组织与优化,突出核心内容和方法。

教师在上第一节课时可以介绍一个完整的系统,比如学生信息管理系统。在演示过程中告知学生,每项功能可由哪些知识实现,让学生对本门课程有一个系统开发的概念。并了解VFP数据库管理系统在各个领域的应用。学习本门课程的目的,不是为了顺利通过考试,而是能够独立开发一个完整的系统,并能解决自己的专业问题。

在实际的教学中,以培养学生计算思维能力为核心任务,采用“任务驱动”和“案例教学”的方法,针对不同的专业和不同层次的学生设计教学任务。按照“提出问题—分析问题—寻找解决问题的方法—介绍解决问题的方法和知识—方法和知识推广—课后作业和拓展”的教学片段设计思路,对学生进行计算思维的实践。

3.2 注重程序设计思想和算法训练

计算思维的本质是抽象和自动化。在教学过程中,可将相同或相近的知识点整合,设计相应教学任务,让学生了解程序设计思想和程序设计过程。如求解方程、求阶层等任务,可先让学生用数学方法来求解,再引导学生用抽象的计算机语言来实现。

启发学生利用多种技术、多种算法解决同一问题,围绕问题求解和设计能力培养。例如求解“1+2+3+……+100”,可分别考虑用for循环、while循环来实现。采用有趣的案例,比如“猜数游戏”,“幸运7”,“测试体重”等,用多种思路设计与多种编程方法实现。

3.3 以上机实践为重点

VFP是实践操作性很强的一门课程,学生只有亲自动手编写代码,调试程序,才能掌握和理解所学的知识,了解编程的思路和方法,训练思维能力。对此,教学过程中可以考虑以下方法:

3.3.1 设计合理的实验内容

由于实践课时限制,学生练习时间较少,首先要使学生熟练掌握基本的语言知识,具备基本的编程和调试能力,才能逐步引导深入。实验内容包含主要重点内容,难度适中,有一些让学生发挥的余地,在书上能找到所有知识点和类似代码,但又不是完整的照抄,有助培养学生的设计能力。

3.3.2 实验任务具有趣味性和综合性

通过实验任务的趣味性、综合性等来增强实验内容的难度,从而强化计算思维训练。如在“幸运7”游戏案例中,把一些枯燥和不易理解的知识,变成有趣的游戏。不仅让学生理解面向对象程序设计的相关概念,并对应用程序的开发流程有了一个综合的认识。通过拓展知识,让学生实现多位数的幸运数字游戏设计。通过反复训练,以提升学生计算思维能力。

3.3.3 安排课程设计实验

在程序设计课程的最后环节,安排课程设计。或结合实例,完成一个项目。为学生提供一个全面考查学生水平的机会,对所学知识进行融会贯通。

4 结束语

计算思维的教育,是一种普适教育,对任何类型的学生都需要培养。什么是计算思维,如何去理解它,每一位教师都应该充分地认识到它的重要性。只有改变了教师的意识,才能把计算思维的培养贯彻到自己的教学中,才能培养学生的研究创新能力,提高学生的信息素养。面向计算思维的计算机基础教学改革任重而道远,还需要不断的探索和改革。

参考文献:

[1] 何钦铭.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010(9).

篇13

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)16-0094-02

2012年7月16日,“第一届计算思维与大学计算机课程教学改革研讨会”在西安交通大学召开,中国科学院陈国良院士和多名计算机教学名师、专家以及近三百名在国内高校承担计算机课程教学的教师参加了此次研讨会,大会探讨了如何在大学计算机课程中引入计算思维,如何建立计算思维教学体系以及如何让学生养成用计算思维方式来思考和解决专业问题等内容。

一、计算思维产生的背景及现状

2006年3月,美国卡内基·梅隆大学的华裔女科学家周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of ACM》撰文提出计算思维(Computational Thinking)[1]的概念和详细定义。周以真教授指出计算思维是运用计算机科学的基础概念进行问题求解、系统设计和理解人类的行为,它是涵盖了计算机科学之广泛性的一系列思维活动。

计算思维是随着近十年来美国对计算科学重要性的认识逐渐提高而提出的。近些年来,美国大学计算机基础教育出现了学生对计算机基础课程兴趣逐渐下降,如中途放弃课程或通过抄袭及作弊来完成课程的教育危机。2005年6月,美国总统信息技术咨询委员会(President’s Information Technology Advisory Committee,PITAC)给美国总统提交了报告《计算科学:确保美国竞争力》(Computational Science:Ensuring America’s Competitiveness),[2]报告中陈述21世纪科学上最重要的以及经济上最有前途的前沿研究都有可能通过熟练掌握先进的计算技术和运用计算科学得到解决,计算本身也是一门学科,它可以促进其他学科的发展。计算思维一经提出,美国的教育专家们看到了解决这两者矛盾的希望。2010年周以真教授再次在刊物上发表文章阐述计算思维的基本思想,而近年来美国各大高校都在修订其本科生计算机科学课程的计划,美国麻省理工大学、[3]斯坦福大学[4]和卡内基·梅隆大学[5]等著名高校纷纷设置了面向全校的计算思维的通识课程。除美国外欧洲也开始重视计算思维的培养,2010年8月,英国皇家协会也了以计算思维为出发点的为期18个月的“学校计算教学方法”项目。

中科院自动化所的王飞跃教授率先把计算思维引入国内,王飞跃教授撰文《计算思维与计算文化》,[6]他希望能借“计算思维”的东风将中国传统世故人情的“算计文化”反正成现代科学理性的“计算文化”,以提高民族的整体素质。2010年10月中国科学技术大学的陈国良院士在“第六届大学计算机课程报告论坛”上倡议将计算思维引入大学计算机基础教学后,计算思维得到了国内众多计算机基础教育者和研究者更广泛的重视。中国科学院计算技术研究所李国杰院士、[7]清华大学软件学院孙家广院士[8]和中国科学院计算技术研究所徐志伟总工[9]等多位专家在这方面进行了有效的探索。

二、计算思维与大学程序设计课程

1.大学程序设计课程教学目标

大学程序设计课程是许多高校理工科(包括部分文科)专业的必修公共基础课程之一,《中国高等院校计算机基础教育课程体系(2008)》[10]对“程序设计基础”课程提出的培养目标主要有两个:学习问题求解的思路和方法,理解在计算机上是如何具体实现算法的,这也就意味着大学程序设计课程学习的重点不仅仅是编写程序,而更重要的是学习算法思想与问题求解方法。但是大学程序设计课程传统的教学方法存在诸多的问题。

2.大学程序设计课程存在的问题

(1)教师在课程讲授过程中容易陷入语法和句法的细枝末节中而忽视基本问题求解方法的讲解。

(2)上课时常常是教师先讲解学生后上机实验,学生属于被动学习,整个学习过程中其参与度不高,听课后学生通常按照教师的想法按部就班完成实验。这种教学策略只能提高学生上机实验能力,而学生思维能力的养成没有得到专门的训练。

(3)传统的计算机程序设计课程还存在与专业背景结合不紧密的情况,在教学过程中通常不考虑学生的专业背景,学生在学完课程后常常会感到迷茫,不知道如何用程序设计方法解决自己的专业问题。

3.将计算思维融入课程教学

要想改变目前这种传统教学模式,消除其弊端,需要对程序设计课程的教学内容、教学方法和手段进行改革,融入计算思维培养的教学方法,让学生理解计算环境、问题求解过程中各类构造能力,如对象构造、过程构造和验证构造等,以及通过计算能解决什么问题和使用计算来解决问题的过程、方法和步骤,让学生学会如何通过约简、嵌入、转化和仿真等方法得出能求解一个困难问题的方法,学会利用启发式推理来寻求解答,即在不确定情况下进行规划、学习和调度,同时培养学生以计算思维的方式来分析、理解和解决本专业领域问题。

三、以计算思维为目标的大学程序设计课程培养方法

南京大学(以下简称“我校”)计算机科学与技术系大学计算机基础教学部在2008年教学改革中,对于程序设计课程提出了层次化教改方案,并通过课程设计等方式提高学生解决问题的能力,同时也进行了将专业知识与程序设计课程相结合的尝试性工作,获得了院系和学生的好评,但是在整个过程中尚欠缺对于计算思维能力的显式培养,学生对问题求解的抽象能力、抽象表示、抽象思维以及形式化证明等能力缺乏,由此需要对现有的教学模式和教学评价体系等做相应修改,将计算思维切实融入到程序设计课程中,教会学生如何学习问题求解的思路和方法,并让学生在经由计算思维培养后能更好地解决专业问题。以下分别从改革的主要内容、实施步骤和具体案例来进行说明。

1.主要内容

以计算思维为目标的大学课程设计课程培养方法的主要内容有:

(1)调研我校各专业对于程序设计课程的一般要求和专业要求,探索如何设计以计算思维为主线的教学方法体系。

(2)调研国内外其他高校程序设计课程中计算思维培养的教学情况,学习借鉴成功的经验和方法。

(3)在我校和国内外调研的基础上建立以计算思维为主线的教学方法体系,修订和建设相关的课程资料、案例和实践项目,通过这些有针对性的训练让学生掌握通过计算思维来解决一些实际问题的能力。

(4)建立培养学生以计算思维的思想去理解、抽象本专业领域问题的能力的教学方法,使得学生能够拥有以计算的眼光看待问题的素养,从而能够分析、抽象、分解、解决自己研究领域问题,并具有足够的自学能力去获得完成以上各阶段任务所需的知识和技能。

2.实施步骤

根据主要内容制定了如下的实施步骤:

(1)通过搜集和阅读国内外计算机程序设计课程教学资料和计算思维相关论文、开会研讨和个人总结等方式,对现有程序设计课程教学方法进行改进,围绕计算的本质和让学生以计算的方式思考为中心,完成修改现有课程教材、改进课程教学计划等任务。通过这一阶段的基础工作,能够让教师深刻理解计算思维的本质,建立以计算思维的培养为核心的教学理念,更好地指导程序设计课程的教学。

(2)改进和设计以计算思维方式分析和解决各专业共同面对的研究问题的教学方法。设计教学案例,能够让学生理解从计算思维出发思考,以计算的方式表达、分析和解决问题的整个过程;设计实验项目,让学生尝试使用计算思维来表达和解决一些典型但足够简单的问题,从而加深对计算本质的理解并掌握足够的基础技能。这一阶段教学方法的应用,应使得学生能够掌握实践计算思维的基本技能,并能够让学生在这个计算背景知识的基础上,实现解决问题的各个步骤,而最重要的是,在这个过程中,让学生理解独立于具体实践技术之外的计算思维本质,从而使得学生在转换到另一个具体实践技术背景下时,也能知道应用计算思维解决问题的各个阶段应该做什么,需要获取欠缺的哪些知识,从被动学习变为主动学习。

(3)在针对所教院系应届和往届学生及院系教学相关人员通过调查问卷和座谈等形式收集专业典型案例的基础上,建设利用计算思维解决学生所在专业领域问题的教学方法。通过紧密结合学生的专业背景,提炼此专业的一些典型并能体现计算解决方法优势的问题,使用少部分问题作为计算思维应用的杀手级应用,让学生理解计算思维如何应用到本专业研究中。使用大部分典型问题设计若干实践项目,以指定实践技术手段和不限定实践技术手段并用的形式,通过学生独立完成、小组完成、分组讨论以及完成项目论文等方式,培养学生在本专业领域应用计算思维所需的一系列能力。

3.案例设计

在改进和设计以计算思维方式分析和解决各专业共同面对的或不同专业各自面对的研究问题的教学方法时,设计了许多教学案例、实验作业和课程设计项目,总体来说是以问题驱动的方法先将问题提出,然后再由学生分析和思考如何设计和解决问题并提出不同的方案,再对各种方案进行分析比较后选择优势最明显的一种作为最终的方案。

以讲授高级语言翻译环境为例。以往的教学主要是灌输式的,将流行的翻译环境进行综合介绍:教师首先介绍每个编译器/解释器的菜单项的功能、操作方式和独有的特征等;学生按照教师的介绍选择某一种编译器/解释器进行操作并熟练掌握。

但这种教学方式导致学生对编译器/解释器的理解只流于表面,并没有真正理解编译器/解释器这种计算环境的本质特征,学生换一种编译器/解释器或者遇到特殊问题时就没法很好地利用现成的计算环境。

为此,需要改变学生理解高级语言翻译环境的教学方式。而我们在设计新的教学案例时着重对于学生“思想”和“方法”的培养,让学生深刻理解问题的本质。新的教学方式从高级语言和机器语言的关系入手,具体步骤为:

(1)用一个简单的实现介绍高级语言和机器语言的特征和关系,让学生理解高级语言翻译这种计算环境的必要性和重要性。

(2)引导学生思考如何将高级语言翻译为机器语言,理解解释和编译这两种翻译方式的特征。

(3)接着探索一个高级语言翻译环境需要的功能模块有哪些,让学生分组讨论并设计出基本的功能模块,教师根据学生设计的功能模块进行点评,探讨哪些是合理的功能模块和没有必要的功能模块。

(4)在功能模块基本确定的基础上教师选择至少两种高级语言翻译环境供学生进行观摩评价,让学生学习成熟的翻译环境是如何设计的,并了解翻译环境的高级功能。

(5)在对翻译环境有了本质的理解后学习可自行操作编译器/解释器,并且对于不同的翻译环境也能很快理解并运用。

从教学、实验和课程设计等多个环节中引入计算思维方式培养的案例实施结果来看,利用这种改进的问题构造、问题表示和问题解决的引导性、交互性教学方式,能有效地提高学生的计算思维能力。

计算思维的培养不是一蹴而就的,还需要更多的努力,但是应该看到计算思维是一种可以面向所有人,在任何地方都可以培养的一种思维活动,作为高校教师,应该也可以通过自身对于计算思维认识的提高而激发学生能够在抽象的多个层次上进行主动积极的思维。

参考文献:

[1]Jeannette putational Thinking[J].Communications of the ACM,2006,49(3):33-35.

[2]President’s Information Technology Advisory Committee. Computational Science:Ensuing America’s Competitiveness[EB/OL].http://nitrd.gov/pitac/reports/20050609_computational/computational.pdf.June 2005.

[3]MIT.Introduction to Computer Science and Programming[EB/OL].http://ocw.mit.edu/courses/ electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008.

[4]Stanford.Introduction to Computer Science | Programming Methodology[EB/OL].http://see. stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111.

[5]CMU.Principles of Computation[EB/OL].http://cs.cmu.edu/~tcortina/15-105sp09.

[6]王飞跃.计算思维与计算文化[N].科学时报,2007-10-12.

[7]中国科学院信息领域战略研究组.中国至2050年信息科技发展路线图[M].北京:科学出版社,2009.