C#程序设计在非计算机专业计算机基础教学中的实践与探析

时间:2022-04-09 10:59:47

C#程序设计在非计算机专业计算机基础教学中的实践与探析

摘要:在分析当前高等院校程序设计基础教学现状的基础上,就学生专业知识需求与兴趣向导、程序教学语种的选择与需求进行了讨论,结合对更新教学语种、整合教学手段这一过程中的实践经验,对当前高等院校非计算机专业的程序设计基础课程的改革方向与目标进行思考与分析。

关键词:C#程序设计;基础教学;教学方法;专业导向;兴趣导向

计算机基础教学是高等院校培养计划中一个重要部分。大多数高等院校的非计算机专业本科生的计算机基础课程由计算机文化基础和程序设计两部分组成。从全国高校的非计算机专业程序设计基础课程来看,主要以Visual Basic、FoxPro和C程序设计为主[1]。程序设计作为非计算机专业学生的基础课程,对于其在逻辑思维能力上的锻炼、在工作技能方面的提高有着重要作用[2]。那么,选择学习一门什么样的程序设计语言以及学生今后如何应用所学的知识是众多计算机基础教育工作者长久讨论的话题之一。

1程序设计基础教学现状

笔者走访了多所高校了解到,目前大多数普通高等院校将非计算机专业中的程序设计学习作为必修课程。绝大部分院校的本科生都参加了地方或者全国组织的计算机等级考试。第三军医大学等院校将本科生是否通过在计算机等级二级考试作为获得学位的基本条件之一。可见对于各个院校非计算机专业学生来说,程序设计是非常重要的。

就语言来说,Visual Basic、FoxPro和C是各高校非计算机专业考生中选择比例最大的,几乎各占1/3。经过近10年的风雨历程,计算机信息技术的发展已是突飞猛进。就C语言这一经典语言来说,对于非计算机专业学生,除非将来工作以后经常需要编写底层应用程序,否则C语言就显得不太实用,而在五彩缤纷的图形用户界面已成为主流的今天,再让学生去学习枯燥乏味的控制台应用程序,则不太容易使学生产生兴趣。要编写符合目前主流技术标准的高层应用程序,Visual Basic也显得有些力不从心,Java、C#、C++等语言更多得被挂在这些“90后”学子的嘴边。

2C#程序语言引入程序设计课堂的探析

我们在第三军医大学的计算机基础课程教学中进行了改革试点,选择C#语言作为授课语言基于以下两点原因:

(1) 跟上技术发展,追踪当前热点知识。C#语言是Microsoft为.Net环境开发的一种全新编程工具,集C/C++语言的功能、Java语言面向对象的特征以及Visual Basic语言的易用性为一体,为在.Net环境下计算机应用提供了功能强大、全新、易用的程序设计工具[3]。由于其提供了大量的系统定义类,并有着与Visual Basic非常相似的操作特点,学生可以很方便的建立应用程序。同时,以C#语言主导的.Net框架可以开发控制台应用程序、Windows窗体应用程序、Web应用程序以及Web服务等多种应用程序,可以极大地增强学生的学习兴趣。并可以在基础课程结束以后,根据学生的专业需求以及深层次教育需求扩展C#教学系列内容。

(2) 与专业技术相结合,进一步整合教学资源。随着信息技术的迅猛发展,计算机基础教育与医学知识粘合度要求越来越高,以往经典教学方案在新的信息技术和医学专业知识发展下慢慢出现脱节的状况[4]。以我校医学特色为例,各医学科室、教研室与新技术、新设备相关的软件系统都在逐步朝.Net等方面升级,任教老师的许多开发工作也都逐步转移到.Net、Java等新技术平台上来,.Net具有大量的组件和开发模块,在网络通信、Web技术、影像处理等方面有着特别的优势。使以往的窗口应用程序设计、网络编程、网站建设等各门课程能够成系列地进行汇总。对于各专业学生学习这一技术,既可以使他们很快地融入到专业技术应用上去,也可以确保在学习完这门课后能够编写具有一定应用效果的实用的程序,真正服务于自己的专业。

3我校采用C#语种教学的实践经验

从2008年开始,第三军医大学将生物医学工程五年制本科学员的计算机基础程序设计课程改为C#程序设计,我们在原课程设计基础上,从三个方面进行教学改革实践。

3.1倡导实例化教学,融入PBL方法[5],紧扣专业与兴趣

在课堂教学上,根据教学组成员运用C#从事软件开发的实际经验,精挑细选了100多个短小精致的教学实例,这些实例在知识面覆盖、技巧性、趣味性和实用性等方面力求做到完美的统一,加有详细的注释,教学过程中大部分知识点都围绕着实例分析而展开讨论。为强化其学习兴趣,辅以病例统计、数据筛选、医院挂号等实际问题作为学生实训要求,以解决问题的态度学习循环语句、条件语句、文件基础等重要的程序设计概念。让学生明确学习的目标,深信程序设计对于以后的专业发展有良好的帮助作用,并在潜移默化中培养其运用信息技术解决实际问题和逻辑思维的能力。

例如,数据库操作概述作为计算机基础课程程序设计部分的了解性学习,有4个学时,由于数据库数据存储本身比较抽象,对于医学专业学生的学习应该突出实用性,重点向学生建立一个直观的应用概念,便于以后专业应用上的扩展学习。所以,在课程设计上可以以一个大实例为主线,以若干小实例为每个小知识点的连接带。课堂学习就是围绕着如何实现这个大实例为目的。首先以图文方式介绍附属医院正在运行的医院信息系统(Hospital Information System,HIS)中前台药品查询功能,并以此功能的实现贯穿于本次课的学习始终。以引导性方式询问学生在纸上记录药品清单应当怎样建表?若是在纸质的药品清单表上你会怎样快速的查找需要的药品?从而建立数据库结构、索引等数据库概念,将数据库应用的意义直观化。针对非计算机专业学生的知识特点,归纳出数据库编程工作的4部分:建立数据库、连接数据库、读写数据库、数据处理。

(1) 建立数据库:将前面引导性的问题实例化,现场与同学一起在Access等小型数据库上建立数据表结构并填充数据。在此过程中熟悉数据库结构中的主要元素,介绍主流数据库产品,强调对不同的数据库要举一反三。

(2) 连接数据库:以套路化的套接关键字方法现场演示如何连接Access数据库,介绍套接关键字中各个部分的意义。其他数据库的连接套接字简单提一下即可,强调需要时独立查找。

(3) 读写数据库:紧跟连接数据库的学习,学习如何把数据表中的数据导入程序中,并以各种方式显示出来。

(4) 数据处理:将读出的全部内容请同学用以往学习的循环、数组知识进行筛选处理。并对比性介绍SQL语句的筛选语法,比较其在数据库编程的优劣性。

在学习以上四部分的过程中,贯穿着精确查找、模糊查找、药品统计、药品归类等小实例,通过对读取的数据采用循环、数组知识解决方法与SQL语言解决方法的对比,在复习以往知识的基础上加深对数据库知识的印象。由于一开始以图文并茂的形式介绍HIS系统中药品查询的意义和使用情况,并适当延伸数据库在个人物品管理、好友管理、论文管理、医学实验数据管理中的意义,通过实用性来提高学习兴趣。最后,请同学们整合前面所学知识并可在课后查询资料,思考如何将课堂上所学习的各个独立模块构建成复杂的药品查询系统。

3.2坚持理论实训1U1授课模式,强化实践能力

倡导实例教学、PBL教学、精心准备典型实例和引导学生学习兴趣的根本目的在于使学生掌握并能运用所学知识。因此,在C#教学中,我们总体上坚持一次理论一次实训的授课模式,在较短的时间内,将所学理论知识迅速强化,并让学生在实践中加深认识和扩展学习。

以3.1中列举的数据库操作概述的教学方法为例。在理论课堂上通过实例化教学、融入PBL方法以及力求紧扣专业与兴趣归根到底是要求学生通过自己的实践去掌握所学知识。因此,在4个学时的学习时间分配里,课堂理论教学2个学时,剩余2个学时用于学生自主实训练习。在布置实训作业时,可以依据学生理论学习的反馈情况,以3~5个小实例为要求,由学生自己思考如何去做,老师可以对学生的疑惑进行引导性回答。也可以将理论课上学习的简单药品查询系统改编为论文查询系统。以题目、作者、内容、时间为查询关键字,提供精确或者模糊的查询功能。在这一过程中,老师只是从旁引导学生思考解决问题的方法。学生根据理论课上的实例并可通过网络获取帮助的方法自行完成作业。实训作业记入平时成绩。

3.3以实训为主导,拓展学生自主性程序设计

在实训课中,除了必须练习的典型实例,老师应注意抓住空余时间与学生交流,参考PBL教学法的思路,引导学生思考运用所学的知识完成一些带有趣味性的程序[5]。在这一思想指导下,由老师指导,学生自己完成了模仿QQ空间里的文字转动画软件“迤逦文字”、图片加个性水印的“轻松打水印”以及体现出军校特点的“军人资历章排列网站”。这一系列作品得到了大部分学生的欢迎,我们将学生完成的作品下发给全体学习C#语言的学生,就关键性代码进行了讲解,学生提高积极性的同时还额外学习了基于Web的程序设计思想,效果超出了我们教学的预计目标。

例如,教学组成员设计了灰度图像转换成伪彩色图像的实例,核心代码只用了8行语句就能实现所需的功能,实例涵盖了数组、循环、文件基础、位图对象定义等知识点,引起了学生的极大兴趣。以单帧图片处理的实例为基础,引导学生进一步思考彩色B超的工作原理,思考如何处理连续多帧图片的方法。受到这个实例的启发,医学影像专业学生运用差影法原理,自主设计了“水迷宫”试验和临床重症监护软件,在核心期刊发表科研论文2篇,并获得学校本科生创新成果一等奖。这一结果又反过来引发学生的学习兴趣。

4结语

素质教育涵盖创新教育、实用技能教育,我们通过更新程序设计语言这一过程,更重要的是将教学手段、教学资源与学习导向进行重新的梳理和整合。希望在计算机基础教学的过程中不仅仅在学生的综合素质上起到作用,也能在专业发展上有所突破。程序设计基础方面的教学试点目前已进行了一年,在此过程中积累了大量的经验,学生的能动性自主设计也为我们下一步教学提供了更丰富的素材。总之,只有深化教学改革,从学生实际出发,增强学生的兴趣和实际应用水平,才能更好地达到计算机基础教育中程序设计部分的教学目标。

参考文献:

[1] 张建威,张兵兵. 非计算机专业的计算机教学改革与素质教育初探[J]. 药理医学杂志,2008,21(6):744-745.

[2] 刘方,倪飞舟,左翔. 高等医学院校计算机程序设计课程教学探索与实践[J]. 电脑知识与技术,2009,5(5):1277-1278.

[3] 周峰,李德路,王征. Visual C#.NET 2005中文版基础与实践教程[M]. 北京:电子工业出版社,2007:1-2.

[4] 李雯娟,曾照芳,曹中源,等. 医学专业计算机基础教学的现状与改革[J]. 医学教育探索,2008,7(6):585-586.

[5] 展海冰,张运坤,张志刚. 网络环境下计算机类课程PBL的设计与实践[J]. 中国成人教育,2009(11):158.

Practice and Analysis of C# Programming for Non-computer Majors in Computer Base Teaching

QIAO Liang1 ,CHEN Xin2 ,SONG Wen-qiang1

(1. Department of Computer Science, Third Military Medical University, Chongqing 400038, China;

2. Chongqing Zhengda Polytechnic College, Chongqing 400056, China)

Abstract: In the analysis of the current computer base teaching status, this paper discusses what professional knowledge of students needs and interests, with thinking and analysis on the programming language reform in higher education.

Key words: C# Programming; base-teaching; teaching-methods; professional-orientation; interest-orientation

上一篇:学习C语言中的指针类型 下一篇:重视实践教学环节,深化计算机网络课程教学改革