C#程序设计教学问题的探讨

2023-01-16

《C#程序设计》是一门重要的编程类专业课。C#语言是针对网络技术应用而开发的语言, 是NET平台开发网络应用程序的首先语言, 广泛的应用于软件开发项目中。在传统的教学过程中, 一般是根据教学大纲的要求, 选定一本教材, 按照教材内容按部就班的讲。这种教学思路, 对传统课程的教学没问题, 但对一个应用性很强且技术不断更新课程而言, 教学效果往往不理想, 主要表现在两个方面: (1) 学生对C#理解比较片面, 没有系统掌握, 不能解决实际问题, 与实际应用距离较大。 (2) 教师觉得学时较短 (一般为60学时左右) , 很多知识点讲解比较仓促, 同时, 教材上很多内容往往落后于当前使用的, 积重难返, 导致学生兴趣下降, 学习主动性不强, 最后, 考试造成大面积不及格。为此, 本文提出以下两方面改革建议。

1 学习兴趣与主动性

C#是一种现代的面向对象语言, 涉及的内容比较多, 仅靠课堂教学无法达到教学要求, 必须让学生在课后多看, 多做。为此, 教师必须采取一些手段不断激发学生求知兴趣, 让学生始终如一的保持学习主动性, 具体方法如下: (1) 采用对比法强化C#在微软解决方案中重要地位, 引发学生的兴趣。过去, C和C++已经成为商业软件开发领域中使用最广泛的语言。它们一方面为程序员提供了灵活操作, 另一方面也牺牲了一定的效率。由于C/C++语言的复杂性, 程序设计员期望有一种新的语言, 能在功能与效率之间找到一个更为理想的权衡点。新语言一方面需要和最新的网络标准保持同步并能和已有的应用程序整合, 另一方面在必要的时候, 能够进行底层的编程。C#正是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序, Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域[1]。从C#历史地位出发, 让学生从总体上感觉C#的作用和地位。 (2) 针对C#在实际项目中应用情况, 分别从C/S和B/S两种程序设计模式来说明。在C/S方面, 目前开发C/S程序的语言很多, 有V B、V C、P B、DELPHI、C#等。由于微软方案在桌面的统治地位, 用C#进行编程代表当前C/S模式编程方向之一。系统开发方面, 传统的C/S结构的开发对开发者提出了较高的要求, 整个开发过程比较复杂, 而C#则简化了这个过程;系统升级方面, C/S结构中若有某一模块发生改变, 可能要关联到其它模块的变动, 使系统升级的成本较大, 而最新C#部署方案可使升级成本降低;在安全性上, 框架系统通过在C#形成的托管代码上强制实施安全限制来防止其他代码误用或破坏代码和数据, 因而C#对安全性有更多的保障。在B/S方面, A s p.n e t是建立在C L R上的应用程序框架并在服务器端构建功能强大的web应用程序。与以往web开发模式相比, 它具有一些显著的优点:Asp.net利用提前绑定, 即时编译, 本地优化和缓存服务来提高性能;Asp.net被设计成可伸缩的, 能为集群和多处理器环境服务;框架的类库、消息以及数据访问解决方案, 都可以无缝集成到web。而C#作为Asp.net推荐编程语言, 具有良好发展前景。

在教学的过程中, 不断地把以上两点贯穿始终, 强化C#在微软解决方案中的重要地位, 培养学生浓厚的兴趣, 是掌握C#的关键之处。

2 教学内容改革

培养学生使用.NET平台开发网络应用程序的能力是C#教学的主要目标, 基于这一原则, 我们对教学内容进行了创新性的改革。根据C#的特点, 将教学内容分为两大部分:语法部分和技术部分。前者内容相对比较固定, 选取一本现成的教材即可, 后者内容变化比较快, 但我们可以在第一时间在其官方网站上找到更新内容, 这样可以保持与时代同步。具体网址和内容搜索则作为学生课后作业, 由学生自己来完成, 这样一来, 每届学生总能了解到最新的技术, 使得教与学有机的结合在一起, 学生觉得现在学的正是目前正在用的, 学习兴趣和主动性大大提高。在具体教学方面, 要突出以下几点: (1) 强调C#工具实质。C#语法的种种规定, 是对解决实际问题的一种抽象, 不是一种人为的束缚, 它是为我们服务的, 仅仅是一个工具, 从根本上消除学生的畏难心理。 (2) 采用类比的教学方法。我们用学生最熟悉的一元二次方程求根问题作为主线, 比较手工计算和采用C#编程的差异。在比较过程中, 不断将一元二次方程求根问题深化, 先将顺序、循环和选择三种结构贯穿于问题之中, 在此基础上, 再引入面向对象的概念, 把一元二次方程程序设计问题写成类的形式, 体现封装、继承和多态性的概念。 (3) 大程序设计模式。以往在计算机语言教学中, 整个教材只面对单个程序和语法细节, 因而学生一般只能掌握简单的程序设计, 对大程序的设计缺乏思路, 而实际应用中的往往面对都是大程序。如果不能掌握, 学生就会觉得学和用之间差距大, 进而兴趣下降, 影响教学效果。C#面向对象的特性在本质上便于设计大程序, 但面向对象方法在程序设计中所起的作用是有限的, 而规范设计大程序开发过程就要依靠框架, 然而基于Java的框架是非常多的, 相比之下, 基于.NET的框架就比较少[2]。经过调研, 我们选用采用开源协议的NBear。通过使用这个基于.NET的框架, 学生可以掌握大程序的设计思路, 具有较强的实战能力, 从而缩短于市场上流行软件的距离感。 (4) 程序部署。程序部署是整个程序提交给用户使用的最后环节, 其目的可以通过最低程度的用户交互来安装和运行应用程序[3]。一般情况下, 教材上很少涉及这部分内容。我们主要从三个方面讲解部署中三个主要问题: (1) 更新应用程序的困难。 (2) 对用户的计算机的影响。 (3) 安全权限。在C#应用程序的部署上, 我们采用Click Once部署技术, 该技术可创建自行更新的基于Windows的应用程序, 较好地解决以上三个问题。在讲解过程中, 要结合Click Once部署的工作过程, 这样效果较好。

3 结语

《C#程序设计》的教学, 应该从总体上让学生把握C#的体系结构, 不应拘泥于基本语法。教学的目的是让学生掌握“道”, 而不是“术”, 全面培养学生独立思考和应用能力, 这完全符合素质教育的要求。

摘要:本文针对C#语言教学过程中存在的不足进行了分析, 提出培养学生学习兴趣和提高学习主动性的方法, 并对教学内容进行了创新性的改革。

关键词:C#语言,教学,主动性,改革

参考文献

[1] 新浪科技.C#软件开发语言简介[Html].http://tech.sina.com.cn/c/2001-10-08/6248.html.

[2] 施游, 徐锋, 陈邵继.ASP.NET2.0电子商务网战开发实战[M].人民邮电出版社, 2007:14~16.

[3] MSDN开发中.ClickOnce部署[Html].http://msdn.microsoft.com/zh-cn/library/142dbbz4 (VS.80) .aspx.

上一篇:关于大学生学业自豪感及其研究的综述下一篇:探索钢琴演奏中的音乐性