《C#高级程序设计》(精选8篇)
《C#高级程序设计》 篇1
1.引言
CDIO代表构思 (Conceive) 、 设计 (Design) 、 实现 (Implement) 和运作 (Operate) , 是当今国际高等工程教育的最新人才培养理念[1]。 它以项目任务为载体, 集中体现为“基于项目的教育和学习” (Project based education and learning) 和“做中学 (Learn by doing) 原则, 培养学生分析和解决工程实际问题的能力。 在教学方法上形成以教师为主导、学生为主体的教学模式, 通过项目实践引导学生自主学习, 培养学生的学习能力、沟通交流能力和团队合作能力。
C#语言是微软公司专门为.NET平台的应用而开发的一种简单、安全、面向对象程序设计语言, 它吸收了C++、Java等语言的优点, 是目前使用最广泛的程序设计语言之一。 《C#高级程序设计》是B/S结构下软件开发的一门核心课程。 该课程理论综合性高、应用实践性强, 主要培养学生的实践开发技能。在实际教学中, 由于理论与实践教学分离、实践内容缺乏整体设计等因素, 教学效果一直不理想, 学生独立分析解决问题的能力、团队合作精神等没有得到有效的培养和锻炼, 难以满足创新型人才培养的要求。 针对教学的不足, 将CDIO教学理念引入该门课程的教学, 采用基于CDIO理念下的任务驱动及项目案例教学, 对提高该门课程教学质量具有重要的意义。
2.《C#高级程序设计 》课程教学现状
《C#高级程序设计 》是一门集知识和技能于一体, 逻辑分析和实践操作都很强的课程, 而在目前的教学组织实施中主要存在以下几个问题:
2.1教学观念陈旧, 教学方法单一。
《C#高级程序设计 》课程涉及的概念抽象, 教学内容繁杂、学时较少。 教学中教师普遍采用多媒体课件进行教学, 这种模式下虽然课堂信息量大, 讲授内容多, 但教师的教学观念并未发生根本转变, 仍然以教师为中心, 讲授为主。 课堂显得空洞、呆板、学生仍处于被动地位, 不利于调动学生的学习主动性, 学生分析问题、解决问题的能力得不到培养。
2.2教学案例零碎, 连贯性不强。
教师通常以选取的教材为中心, 按照教材的章节顺序讲授课程内容, 理论内容较多, 案例较少。 课堂教学中案例的演示多数是对讲授的理论知识进行验证, 采用的案例是根据教学中各知识点进行设计, 案例相互独立, 联系较少, 无法体现工程项目的完整过程, 致使学生对知识结构无法融会贯通。
2.3理论与实践分离, 结合不紧密。
目前解决理论学习与实践操作结合的问题通常采用 “三明治”式教学法, 以“学习—实践—学习”的方式将理论学习和实践操作交替进行, 这种方式虽然一定程度上解决了理论和实践之间的结合问题, 但实践操作住住比较零散, 难以解决工程项目之间的关系和完整性问题。
3.基于CDIO理念的教学改革实践
3.1更新教学理念, 丰富教学方法。
针对该课程实践性强、工程化的特点, 引入CDIO的教学理念, 采用基于CDIO理念的任务驱动及项目案例教学, 有利于调动学生的学习主动性, 培养学生的实际动手能力、创新能力及团队合作精神。
任务驱动教学法。 该方法首先让学生明确自己的任务, 提出问题, 主动探究学习, 教师围绕“问题”讲授知识点, 配合演示实例帮助理解, 最后指导学生把知识运用到“任务”中。 这种教学方法体现了以学生为主体, 围绕任务展开学习, 有助于学生牢固掌握基础知识。 一般在理论知识教授时运用这种教学方法效果较好。
项目教学法。 在综合项目开发中运用项目教学法是行之有效的, 这种教学法的主要特点是“以项目为主线、教师为主导、学生为主体”。 将班级学生分成三五人一组, 以小组为单位完成一个综合项目设计。 由组长负责组织各项学习活动, 组员共同解决人员分工、提出问题、信息收集、方案设计到项目实施及最终评测过程中的所有问题, 教师在整个过程中作为“顾问”指导。 这种方法有利于培养学生团队合作解决问题等综合能力, 能提高理论水平和实践操作技能。
3.2优化教学案例, 合理安排教学内容。
在教学时数较少的情况下, 合理安排教学内容是必要的。在.NET平台下用C#语言开发的程序主要有控制台应用程序、Windows应用程序和Web应用程序。 控制台应用程序的开发主要是C#基础知识的掌握, 重点放在算法的分析和设计及类与对象的概念及应用。 Windows应用程序开发, 重点讲授可视化编程基础、数据库编程及应用。 对于Web应用程序的开发, 因为开设相关后续课程, 所以只作简单介绍。
在教学组织与实施过程中, 讲解内容要重点突出, 根据教学知识点精选案例, 使这些案例相关, 这样既可以对单个知识点进行讲解和应用、演示、实践, 又可以将单元知识点结合应用, 达到融会贯通的效果。 当所有教学单元内容学习完成后, 这些案例就能组装成一个完整实用的应用程序。
3.3理论与实践有机结合。
围绕C-D-I-O四个阶段以一个综合项目设计 “学生管理信息系统” 中的登录功能设计与实现为例说明构建项目化教学过程。 这个教学过程分构思、设计、实现和运行四个步骤来完成。
3.3.1构思阶段:首先教师提出系统登录过程的设计任务, 然后采用情境教学法和案例教学法引导学生描述常用的软件登录过程并对将要设计的项目进行系统分析, 明确应该如何设计登录界面, 如何进行用户信息验证, 是否使用数据库连接, 在实现登录过程的时候需要做哪些准备?
3.3.2设计阶段:在构思阶段的基础上作需求分析, 进行数据库的设计和界面设计。 需求分析要分析登录的过程, 分析用户的需求, 明确登录过程要具备用户名和密码验证功能。 数据库设计首先要选择一种数据库管理工具, 然后创建数据库和数据表。 界面设计需要使用相应的控件完成。
3.3.3实现阶段:在编写代码实现登录功能之前, 让学生带着问题, 以明确的思路写代码。 如怎么连接数据库, 如何对用户名和密码进行校验, 登录成功如何处理, 登录失败如何处理等。 教师引导学生发现问题, 进而让学生带着问题思考, 带着问题分析和解决, 最后把这个发现问题、分析问题、解决问题的过程变成学生自己的东西。
3.3.4运行阶段:运行程序的主要目的是验证、改进现有的项目设计。 通过输入几组不同的测试数据, 比如用户名不正确的数据、密码不正确的数据、用户名和密码都不正确的数据等发现项目的不足之处并予以改进。 项目按要求实现后, 教师要注重引导学生进一步拓展系统功能, 灵活运用所学知识丰富项目个性化设计。 例如在登录功能中扩展实现限制登录次数、自动登录、注册、修改密码等功能, 这样有利于培养学生的创新意识, 让学有余力的学生有足够的发展空间。
4.结语
通过对基于CDIO理念的项目教学法在 《C#高级程序设计》课程教学应用的不断探索和实践, 与围绕教材以课堂讲授为主, 以教师为主体的传统教学模式相比, 基于CDIO理念的教学模式强调学生的主体地位, 围绕项目案例进行知识点讲解, 有效激发学生的学习兴趣, 提高学生的学习积极性, 同时培养学生的合作能力, 取得较好的教学效果。 不仅提高学生《C#高级程序设计 》课程的教学质量, 对其他程序设计类课程的教学也有借鉴作用。
参考文献
[1]查建中.“论做中学”战略下的CDIO模式[J].高等工程教育研究, 2008 (3) .
[2]何源.任务导向教学在Visual Basic程序设计中的应用[J].人力资源管理 (学术版) , 2009 (3) :269-270.
[3]王刚.CDIO工程教育模式的解读与思考[J].中国高教研究, 2009 (5) :86-87.
[4]陈洁.CDIO工程教育模式在高职软件专业中的实践[J].计算机教育, 2010 (11) :74-77.
[5]吴向荣.《C++程序设计》教学改革实践[J].现代计算机, 2012 (9) :64-66.
《C#高级程序设计》 篇2
优秀:该生在课程实习过程中,能够按照实习任务书的要求,完整的开发记事本及计算器程序,设计过程中能主动查阅资料,独立完成程序开发,软件设计界面良好,功能完整,实习报告内容详细。实习过程中表现突出。
良好:该生在课程实习过程中,能够按照实习任务书的要求,完整的开发记事本及计算器程序,设计过程中能独立完成程序开发,软件设计界面良好,功能完整,实习报告内容详细。实习过程中表现良好。
中等:该生在课程实习过程中,能够按照实习任务书的要求,比较完整的开发记事本及计算器程序,设计过程中能在老师的指导下完成程序开发,功能完整,实习报告内容完整。实习过程中表现一般。
《C#高级程序设计》 篇3
关键词:职业过程,内容重构,开放式
本课程旨在培养学生在Visual Studio.NET集成开发环境下, 以C#语言为开发平台, 进行Windows应用系统开发的能力。通过本课程的学习, 要求学生能够掌握windows程序设计的基本知识与应用, 提高程序设计理念和程序设计能力, 运用所学知识开发C/S结构的windows应用程序。为企事业单位培养计算机软件开发、软件维护、软件测试的高技能实用性人才打下良好的专业基础, 对学生职业岗位能力、职业素质的培养具有十分重要的地位。本文将对《C#高级程序设计》课程的教学内容与教学方法进行设计和探索。
1 现状
目前绝大部分高校仍然采用传统的教学方法, 只注重知识传授, 忽视对学生主动汲取知识能力的培养, 作为学习主体的学生始终处于被动接受状态, 造成学生学习主动性下降。即使有的院校也采用了真实项目驱动、案例教学, 但是学生学完后, 只知道设计类似这样的项目, 如果要做其他项目, 一筹莫展, 不知道如何去分析和设计, 完全没有真实项目开发的能力, 软件公司到学校来招毕业生时, 有大部分学生拿到笔试题目时无从下手。有的甚至还交白卷。教材内容也基本上针对各知识点来编排的, 前后连贯性不强, 没有详细的分析和设计, 没有软件开发的真实流程。由于过去教学方法和教学内容以及考核方式不合理等原因, 导致学生“只见树木, 不见森林”, 学完这门课程后绝大部分学生只能勉强应付选择题, 独立的编程能力几乎为零, 更谈不上职业能力和素质的培养。
2 按照职业岗位需求来重构教学内容
根据软件研发企业、各专业招聘网站和毕业生的市场调研, 得到.NET程序员的岗位能力需求, 从而确定本课程的学习内容, 将内容重构为用户登录 (系统分析与设计, 登录界面设计) 、数据管理 (用户管理, 商品管理, 订单管理) 、主模块 (主界面设计与系统整合, 报表制作, 系统发布) 和系统管理 (数据备份与恢复, 数据导入与导出) 4个大教学情境, 每个大情境又细分子情境。各个学习情境既具有一定的独立性, 又有相关性, 环环相扣。按基于真实项目“WebShop电子商城后台管理系统”开发实践, 学生在完成各情境的开发过程中, 掌握基于C#的Windows应用系统开发技术。
3 教学中采用开放式教学方法
在教学过程中, 融入职业开发的过程, 主要采用情境教学法, 同时结合角色扮演法、设问解答式教学法, 小组学习法。
(1) 情境教学法。将软件开发的流程对应为教学过程。系统调查→情境描述 (是什么) 、需求分析→情境需求 (做什么) 、系统设计→情境分析 (如何做) 、系统实施→情境实现 (跟我做) 、系统评审→课堂点评 (谁最好) 、系统维护创→情境完善 (我要做) 。每个情境的教学按照一个小型项目的开发流程进行教学。当课程结束后, 学生就完成一个完整小项目的分析与设计。
(2) 角色扮演法。要开发一个项目, 需要一个团队协作共同完成, 有多个不同的岗位, 其职责也不同, 有项目经理、需求开发员、系统设计员、开发员、测试员等, 如下图所示。我们将学生分成5~10人一组, 学生可根据自己的兴趣和能力在学习过程中扮演不同角色, 如编程能力强的可扮演程序开发员, 编程能力弱的可做测试员, 组织协调能力强的可做项目经理等。一人也可兼多个角色。过程考核时, 根据学生的表现给成绩, 如发现项目一个缺陷, 测试员就加分, 而对开发员就减分, 各角色必须认真履行自己的职责, 否则会影响项目开发进度, 导致全组人员或个人扣分, 这样学生学习的主动性和积极性大大增加。也培养了学生的团队协作精神。
(3) 设问解答式教学法。在实施情境教学中, 首先给学生呈现各种各样的主题任务来驱动教学, 提出问题, 集中学生的注意力, 促使学生主动思考;再是解决问题, 即让学生带着问题进行学习, 使学生在学习过程中能真正成为软件开发主体, 并用旧知带动新知, 从而达到对新老知识的构建, 学生更易接受。设问解答式教学法能够活跃课堂气氛, 引导学生去发现问题, 探索问题。
(4) 小组学习法。将学习班级分成5~10人一小组, 其中1人为学习组长, 座位固定在一个区域, 课程学习过程中许多活动都以小组形式参加, 如小组内推荐成员回答问题, 小组内推荐考核员对其他组的作品进行评价等。通过“小组学习法”, 形成小组竞争, 易于形成学习合力。同时利于发挥尖子学生的带头作用, 以点带面, 带动全体学生的学习积极性。
4 结语
从我系学生学完该课程后的情况来看, 学生基础扎实, 动手能力强, 在指导老师带领下, 能够很好地完成各项任务, 从到我系来招聘学生的企事业单位反馈信息来看, 学生在实际工作中, 能很好地解决实际问题, 学生综合素质较高, 能很好地适应就业岗位。不少优秀毕业生很快成为了企业的技术骨干或岗位能手。
“C#高级程序设计”课程是实践性很强的重要课程, 研究探索课堂教学内容与教学方法, 可提高教学效率和质量, 加深学生对讲课内容的理解, 激发学生学习兴趣和钻研精神, 规范学生的编程思想, 提高学生的职业能力和素质, 实现与企业岗位无缝对接。
参考文献
C#程序设计课程教学探讨 篇4
一、C#程序设计课程教学中存在的问题及原因
在日常教学过程中, 多数教师会按照教材顺序进行讲解, 根据章节的程序代码示例, 直接进行演示, 学生不需要更不会去主动思考, 去学会解决不同问题的办法, 久而久之就很自然的接受教师写好的现成程序代码, 当自己遇到实际问题需要独立去解决时, 自己头脑里什么都没有, 难以处理。这种现象的出现, 原因有以下几点:
(一) 没有掌握最基本的知识点
随着课程教学的逐步深入, 更多的知识点需要学生去掌握时, 他们就会把学过的基本的语法规则及定义给忘记了。当书写程序时遇到以往的知识点, 就会不断的去翻教材查找, 如简单的变量定义, 循环语句的控制语法等等, 其本质就是对相关基本语法、含义没有真正掌握。
(二) 编写程序在解决问题时和人的思维方式存在不同
如在变量的章节讲解时, 它的值会随着程序的调用而发生改变, 其具体的公式在传统数学概念下是不成立。针对解决日常简单的问题时, 使用程序来完成, 就必须循环处理, 又会发生中断, 就必须要求把整个思考过程程序化。学生在最初学习程序时, 都很难用计算机的方式去解决问题, 同时在学习时又完全依赖教师, 去分析问题解决问题, 自己不独立思考参与到解决问题的过冲中来, 这样就很难让学生养成良好的编程习惯, 自然学习模式单一, 效果很差。
(三) 学习兴趣随着课程推进而逐渐降低
学生在刚开始好奇的心理驱动下学习, 随着难度加大而积极性渐渐削弱。当新鲜感没有的时候, 就会主观的认为比较难, 听不懂, 学不会, 就不去听也不去学了。这样学生就进入一个死循环, 直接导致课程教学不会有什么好的效果。
(四) 教学中理论脱离实践
现在的很多学生在学习时, 都有自己的目的性。主观认为所学的东西对自己的将来没有帮助时, 就显的很消极。平时教学过程中, 仅要求掌握知识点, 按照教材完成程序的书写, 学生很难体会C#在实际系统开发中的优势。
针对以上教学中出现的问题, 就需要任课教师改变自己的教学方法, 探索全新的教学理念, 结合C#在系统开发中的实际应用, 诱发学生学习念头, 去努力学习真正感受编写程序的魅力。
二、针对C#程序设计课程教学的改进措施
(一) 在教学环节中增加实训课时
为了使学生能够牢固地掌握所学的知识, 在解决实际问题的过程中灵活运用, 同时培养良好的团队协作意识, 激发自主创新能力, 这就必须要求学生学习时真正掌握, 不能只停在表面, 而要钻进去。为了使学生真正学会并灵活运用, 在教学上要在实践操作方面的投入更多精力, 要求任课教师形成一个从基本知识讲解到实践动手操作的组合模式。在安排课程教学的学期初, 就要求主讲教师根据教学的具体内容安排, 设计适当的课程阶段性项目, 学期中能结合学生平时学习效果来适时调整, 在学生上机操作的实践过程中对知识点进行灵活运用加深印象。教师在指导实训的过程中, 解答专业知识点的同时更要引导培养学生的自学创新能力。在必要时可依据不同学生的个性化要求进行分组, 实现项目的差异化的开发与制作。这样就能有效增强学生自信, 提高对C#程序设计的兴趣。教师在课堂上的知识点讲解以及实训的项目中的实践应用, 都需要要求任务分工明确, 安排科学合理, 效果检验及时, 这样就能遵循教学进度, 把握学生实际状况, 调整教学方法, 取得良好的教学效果。
(二) 改革整个教学体系
1. 相关联课程的设置
C#程序设计课程的教学应该讲求知识点的循序渐进, 与其紧密关联的课程应该有序的开展[1]。不能在教学中只为了让学生学习一门程序设计课程而去开展教学, 应该让学生有目标有基础去学, 如学生应该理解解决问题的具体算法, 处理问题的业务流程, 关键数据的数据存储及去向等, 这些支撑性课程要优先讲解。如果学生在学习基本语法知识点时, 仅知道定义格式应用一些简单的例子, 那么就很难取得理解运用效果。教师在讲解过程中也会非常吃力, 学生只能认识一些皮毛的东西, 很难深入学习, 当然最后效果将很不理想。所以, 在教学开始前, 其前序课程应该完成, 同样也要告诉学生课程里的知识点将来在那里会用到。这样就不至于, 学生在学习的过程中提出来, 为什么这样做的, 做后有什么好处的问题等。
2. 在课程知识点设定阶段性目标
在课程教学过程中, 要设定的目标[2], 明确我们在此阶段是在干什么, 要达到什么程度。这样学生就能够在逐步掌握知识点的同时, 兴趣和求知欲得到激发。在学生学习的过程中都存在向好的方面努力的倾向, 当看到别的同学顺利实现了某些功能, 自己就更加努力去实现, 不断获得成就感, 形成你追我赶的良性学习气氛。当然在这个过程中也可以联合其他课程, 对各种学生的实践能力进行检验, 如英语、数学等, 促使各课程共同提高。另外更好的培养学生独立的探索能力, 同学们之间良好的经验沟通, 也有利于提高创新能力。
(三) 拓展新的教学方法
1. 引导学生学会发散思维
在C#程序设计课程中, 相关程序代码演示是教学过程中的重要环节, 在C#典型程序演示过程中, 要适时地提问学生, 启发学生去思考, 发挥个人的分析解决问题的能力[3]。就同一问题, 可提问不同的学生, 引导他们讲出自己的想法, 可得到不同的解决方法。再结合课程内容进行对比解析, 附带可穿插旧的知识点, 以达到加强学生记忆的目的。在提问解决问题的过程中要注重循序渐进的引导, 切勿直接告诉学生最终的解决办法, 要让学生从不知道, 到找到解决问题的办法的过程中去思考, 从无到有慢慢转变, 培养起解决问题的思路。从而达到开阔学生视野, 激发潜能, 加强认识新知识点, 稳固已经掌握的知识点的目的。
2. 要适时表扬鼓励
在学习的过程中, 学生是否持续学下去, 取决于其是否取得进步。如果他已经尽力学习, 但是学不会, 自然会深受打击, 从而打消他再坚持学的念头。在教学的过程中, 无论在提问时, 还是学生在问一些显的很简单的问题时, 都要适时捕捉他们取得的进步, 一定要肯定并鼓励他们。让学生保持足够的信心, 集少成多, 逐步提高, 自然就会坚持学习。此过程可不断激发学生的兴趣, 会更用心的去寻求进步, 得到同学的羡慕, 尤其是教师的认可。在教学中要紧抓学生的好胜心, 成就感, 将会取得意想不到的效果。
3. 故意设置错误启发
教学过程中, 程序的编写及演示过程中, 应该把常见的错误给学生故意暴露出来。问题的解决通常情况下是出现了错误, 寻求解决错误的有效方法。学生学习知识本就是要认识错误, 得到如何纠正错误的方法。这样在代码书写及调试时, 制造矛盾, 激发对错误的认识并解惑。在容易出现错误的基本知识点, 无论是新学的还是已经学过的, 都要不失时机的在错误中提高。这样往往可以加深学生的印象, 以后假如出现类似情况, 他们也很快能够找到应对的方法。也可以在处理错误时把错误多样化, 同样的环境, 不同的错误又该如何应对, 就起到了, 举一反三的教学效果。
4. 搭建课程总体项目
C#程序设计课程就必然有自己的真正实用项目。在课程开始就要给同学们规划一个大的项目, 此后知识点的逐一展开就是逐步完成目标的过程。学习的各个章节可设置局部的小项目, 明确目标。要遵循事物发展, 由易到难, 由小到大的规律, 小项目进行排序, 前面完成的就是后面要出现的基础, 依此一环扣一环, 逐层推进最终实现课程的总体项目。不然学生总会在学习中产生顾虑, 到底学了有什么用, 又用到那里。这样学生就会努力的向目标进发, 有针对性的去提高, 否则造成盲目学习, 其效果可想而知。
5. 教学过程让学生有轻松感
教师应该在教学中, 在讲解单调的C#程序时要有足够的幽默感, 这样就能够调动的课堂气氛, 使学生更专注于课程内容。其实教学就是一门独特的语言艺术, 教学就是在教与学的交流中进行的, 就要发挥教师的语言能力, 感染吸引学生, 轻松的完成知识点的讲解。往往有些教师就不注意这点, 只知道埋头讲知识点, 其实已经丧失了教学良机, 也就谈不上提高教学质量了。
(四) 改变传统课程的考核方式[4]
当前多数高校C#程序设计课程在期终考核时都惯用笔试来考核, 即使个别院校也进行机试, 也只不过是仅供参考而已。这样以来就使学生更注重理论的死记硬背, 而不关心实际的应用, 不会用程序解决实际问题也不影响自己的课程成绩。针对这种现象应该削弱笔试的比重, 辅助上机考试来进行考核, 尽量做到试题来源于题库。题库里应有足够的题型及题量, 题目不能直接取至于教材的例题, 一定要作到变化。平时课程课内实训时就要灌输学生以用为主的思想, 注重实际动手能力, 加强学生对知识点的理解和联想, 不断提升学生的自觉领悟性。为了更全面反映学生的学习情况, 也可将平时上机练习作为最终考核的组成部分。
三、结束语:
随着软件技术不断发展, C#项目的广泛应用, C#程序设计课程在高校教学工作就显的尤为重要。这就要求在教学过程中教师的教和学生的学紧密有效的结合, 真正做到知识的学习与掌握并灵活的运用。由于学生对这类课程产生的恐惧或不安, 就促使着我们教师就应该正确面对当前的教学是否需要改善。教师教学中只有发现缺点, 才能切实的去纠正, 努力的去教好, 更高效的完成C#程序设计课程的教学任务。
参考文献
[1]孙伟.程序设计课PTG模式的研究与实践[J].职业, 2011 (36) :104-105
[2]陈卫民.C#程序设计的教学探索[J].湖南城市学院学报, 2011 (6) :99-100
[3]马雪英, 王桂平.以能力为导向的程序设计类课程教学体系[J].计算机教育, 2011 (4) :74-78
《C#程序设计》案例教学与实践 篇5
计算机语言的发展历程经历了由低级到高级, 由结构化程序设计到面向对象程序设计理念的转换。为了提高大学生利用计算机解决工程和科学问题的能力, 目前国内和国际上的大部分高校都开设了相应的程序设计课程。程序设计类课程是一门实践性和应用性极强的课程, 大量的知识需要通过编程实践才能熟练的掌握。当前, C# 程序设计语言是世界上应用最为广泛的面向对象程序设计语言之一, 目前国内很多高校都将该语言作为工科类大学生需要具备的一种程序设计语言能力。在传统的《C# 程序设计》的授课模式中, 教师往往只注重基础理论, 如语法结构及原理的讲解而忽略了实践能力的培养, 结果使得学生对语言类课程失去了学习的兴趣, 或者虽熟练掌握了语言的语法而缺乏解决实际问题的能力。早在20世纪初, 哈佛大学的MBA课程中就采用了案列教学的理念并且取得了巨大的成功。由于案例教学灵活多样, 可以充分调用学生的学习积极性和自主性。因此, 引起了国内众多高校教师的研究和重视。针对这一情况, 为了达到加强培养大学生程序设计能力和解决科学工程问题能力的目的, 结合本人多年教学经验, 在教学中结合传统的教学手段, 并有效的运用案例教学的方法, 可以有效的提高课程的教学质量, 提升学生的程序设计能力。
1 案例教学与实践
针对学生的专业和层次差异, 我校对部分专业的大一新生开设了《C# 程序设计》课程教学 , 由于C# 语言是一种面向程序设计语言 , 它将结构化程序设计方法中的三种基本结构作为局部代码设计的基础。因此需要学生先理解了结构化再深入理解面向对象编程的理念, 在教学中存在一定的难度。然而, 如果教师在教学过程中, 认真研究授课内容, 在详细讲解基本概念和语法的基础上, 如果设计恰当的实际案例, 将传统的教学模式和案例教学手段有效的结合, 则可以起到事半功倍的效果。
在教学实践过程中, 我们认为, 案例教学要与简单的例子教学区分开来。在程序设计语言教学过程中, 为了加强学生对语法能力的运用, 教材往往会配以适当的例题, 解决一些实际问题, 如打印九九乘法表, 牛顿迭代法方程求解等, 这些例子往往只针对某一具体的语法现象进行讲解。可以加强学生对语法的理解, 改善教学效果。但这些例子缺乏知识点的前后贯穿, 并不能有效的提高学生的程序设计能力。我们认为, 案例教学除了具有一定的新颖性和兴趣性外, 还应该具有贯穿教学实践过程的特点。同时, 我们也要注意到, 案例和例子虽然有一定的区别, 但并不能完全的割裂开来, 两者之间存在紧密的联系, 案例教学应该包括例子教学, 是众多例子的有机结合过程。
在程序设计语言的教学实践中, 案例设计的好坏关系到教学效果的高低和教学实践的成败。一个好的案例, 可以充分调动学生学习的积极性和主动性, 启动学生的求知欲和探索问题的动力。因此, 在C#程序设计通过有浅入深的几个相关教学案例, 会大大提高学生的学习效率。这些案例可以是解决一项实际的工程问题, 也可以是一个有趣的小游戏, 五子棋, 黑白棋等。
下文介绍了作者在《C# 程序设计》教学实践中, 设计的一些教学案例, 这些案例在教学实践过程中, 取得了较好的教学效果, 对提高学学生的学习兴趣和编程能力, 起到了积极的作用。
1.1 猜心游戏
猜心游戏是一个有趣的小游戏, 游戏者首先默想一个整数 (要求在设计区间内, 本例为) , 然后在不同的数字卡片中进行有无判断, 最后, 可以根据游戏者的有无判断, 准确的计算出游戏者默想的整数, 具有一定的可玩性和趣味性, 能成分调动学生的探索性和学习的兴趣。游戏界面如图1所示。
设计原理:
计算机内数值都以二进制存储, 字节内由低到高每个二进制位置代表的数值大小是不同的。如: 二进制10001001代表的十进制数的137。
设计步骤:
第1步:数字卡片设计, 如第1张数字卡片, 要求卡片中十进制整数的相应二进制数值的第0位为1, 如图1中卡片所示。第2张数字卡片则列出十进制整数中相应二进制数值的第1位为1的整数, 依次类推。
第2步:顺序切换卡片, 并记录游戏者对卡片的“有”“无”判决的状态。即判断游戏者心中默念数字是否在该卡片中, 并记录判决结果。
第3步:在显示完最后一张卡片后, 根据游戏者对所有卡片“有”“无”状态判决 , 计算所采数值。如 :1001001计算所默想猜数。
知识贯穿:
程序界面的设计与布局, 循环程序设计, 数字筛选, 二进制原理, 位运算等。
1.2 评委打分及案例延伸
设计原理:
评委打分是我们在现实生活中经常遇到的一种排名竞争的方法, 要求记录每个评委的打分, 然后去掉一个最高分和一个最低分, 求和取平均值得到打分。
设计步骤:
第1步:记录每个评委的打分。
第2步:通过打擂法, 找出最大打分、最小打分。
第3步:掉最一个最高分和一个最低分, 计算剩余打分总分并求平均。
第4步:输出最后打分值
知识贯穿:
数组定义和赋值;打擂法求最大数和最小数;数字的输出。
案例延伸:本案列设计较为简单, 在实际设计中, 可以通过该案例中对数值的输入, 延伸至数值的排序, 例如, 学生成绩的录入和排序, 在排序过程中, 怎样保持在分数排序后, 分数与学号或姓名间的对应关系。同时, 可以进一步对数值的平均值, 方差等进行分析以及绘图等。这样通过简单的案例延伸, 启发学生的思维, 增加了案例的设计效果。
1.3 集合升级器设计
设计原理:
某些指定的对象集在一起就成为一个集合, 其中每一个对象称为集合的元素。C# 下集合有数组, Array List (动态数组 ) , Hash Table (哈希表 ) 。为了便于理解这几种集合的优缺点, 设计集合升级器程序。
设计步骤:
第1步:定义数组存储当前课堂对象信息Person[], 人数在上课下课过程中要有增加或减少, 而数组的缺点是不能动态扩展和伸缩。
第2步:继续提出改进方案, 定义动态数组Array List存储课堂对象, 可以动态伸缩。缺点, 伸缩会引起索引值的重新更新, 寻找固定对象不好表达。
第3步:继续提出改进方案, 定义哈希表Hash Table结构存储课堂对象, 哈希表的数据通过键值 (key) 和值 (value) 来组织的。可以通过key定位固定对象。
设计思考:
课堂对象有老师和学生两类对象构成, 在读出集合信息时遇到类型转换问题。能不能限制类型安全机制, 如只能有教师对象或学生对象。需要使用泛型集合机制限定集合类内元素是同一类对象。如果既要包含教师类又要包含学生类怎么解决呢? 通过定义教师类和学生类的父类Person来限定类型, 如泛型集合List<Person>。但是缺点是动态伸缩同样会引起索引值更新, 不好查找固定元素。可以通过泛型集合Dictionary<ID, Person>, 通过key和value两部分遍历访问内部元素。该实例大大加深了C# 下几种集合类型的理解, 为后续编程打好基础。
2 结束语
在《C# 程序设计》教学过程中, 通过恰当的教学案例, 可以使乏味枯燥的基本理论变得趣味生动。结合传统的教学方法和案例教学的手段, 可以有效的提高教学效果。本文通过3个案例, 介绍了在C# 程序教学中, 案例的设计方法和步骤, 丰富了课堂的教学内容, 脱离了为教语法而写代码的旧有模式, 促进了教师对教学方法的改革与创新, 提高了学生的自主学习兴趣。通过几年来, 对我校学生的调查研究表明, 这样的教学方法, 可以大幅度提高学生的C# 程序设计能力, 有效的调动学生学习的主动性, 积极性和探索性。为了充分发挥案例在教学中的作用, 要求教师在实际的教学实践中, 案例的设计要不断的进行探索和改进, 做到与时俱进, 以充分提高教学效果。另外, 文中的常见案例的设计和分析, 也给师生提供了更广阔的设计空间。在教学实践中, 可以根据学生专业, 设计不同的教学案例。这样既充分发挥了教师的指导作用, 又充分调动学生的学习积极性和主观能动性, 可以获得最佳的教学效果。
摘要:在《C#程序设计》的教学实践中, 传统的教学模式不利用培养学生软件系统分析能力和工程设计能力的培养, 为了解决这一问题, 本文提出传统教学方法与案例设计教学相结合的教学方法和实践, 在对C#程序设计基本概念讲解基础上, 通过具体案例的设计方法和过程, 由浅入深的提出案例教学理念。目的在于加深学生面向对象程序设计的理念, 提高学生的学习积极性以及加强学生工程实践能力的培养。
关键词:C#程序设计,案例教学,案例讨论
参考文献
[1]刘秋香, 王云.Visual C#.NET程序设计[M].北京:清华大学出版社, 2012.
[2]马云吉.C++程序设计教学改革[J].计算机教育, 2014 (2) :46-47.
[3]Wing J M.Computational thinking[J].Communications of the ACM, 2006, 49 (3) :33-35.
[4]杨炼, 邹超伟, 毛韶阳.应用型本科院校C++课程教学改革探索[J].计算机教育, 2014 (21) :95-97.
《C#高级程序设计》 篇6
关键词:面向对象程序设计,逆向循环教学法,ISAS教学法,实践教学
《C#面向对象程序设计》是高职软件专业的专业核心课程, 是培养基于.NET技术程序员的主干课程。这门课程的主要任务是使学生掌握C#语言基本语法知识, 了解.NET平台基本结构, 同时学习面向对象编程的基础理论知识。除了详细的基础理论讲解, 还通过丰富的案例开发实践, 使学生初步具备综合应用面向对象理论知识从事应用软件开发的能力, 并具备一定的项目开发的专业技能和基本素质。该课程是一个理论和实践性都很强的综合应用课程, 是学习.NET平台技术其它课程的基础。
1 课程的主要内容
课程的主要内容包括.NET体系结构、C#基础语法、面向对象基础 (主要讲解面向对象基本特征及其实现技术) 、面向对象高级技术 (主要包括委托、事件、接口、多线程等) 、IO技术、异常处理技术、数据库访问技术、网络编程基础等。
2 课程教学中存在的问题
2.1 课程涉及知识面广而深, 课时不足
对于高职层面的学生, 该课程除.NET体系结构、C#基础语法外, 课程内容都具有一定难度。尤其面向对象理论知识从思维方式上颠覆了以往结构化程序设计的基础, 因此在教学过程中存在较普遍的厌学现象, 很多学生缺乏学习兴趣, 学习效果不太理想。另外, 该课程采用的是周4课时设置, 一周4个课时, 一学期76课时的时间, 从教学内容的广度和深度来看都显得太少。
2.2 学生在学习中知识遗忘率高
在教学过程中发现学生对所学知识记忆不清, 对有些东西似曾相识但就是想不起来。C#理论知识点很多, 同时, 要能熟练运用还要记忆很多“类”, 搞清楚理论已经不容易, 要记清楚那么多“类”更是困难。
2.3 实践教学方法需要创新
该课程是一门实践性很强的课程, 即使是理论性很强的面向对象基础部分都需要大量的实践做支撑。因此, 实践教学在该课程中的地位非常突出, 目前主要采用1:1比例, 即每周两课时理论课, 两课时实践课。但是, 即使做到了理论和实践课时1:1, 实践课时量仍显不足。首先, 前面已经提到该课程总课时量已经不足, 其次, 像这样一门需要大量实践支撑理论学习的课程, 仅靠课堂进行实践远远不够。
2.4 教学内容与最新技术同步
这是一个普遍存在的问题。由于软件技术发展非常快, 编程技术更新速度也非常快。C#从出现到现在已经经历多个版本, 每个新版本都会引入很多非常好的技术。但是, 纵观现在市面上多数高职的教材, 课程内容基本是最初出现时的东西, 很多新的好的东西没有涉及。也许这里考虑的是高职的层次以及仅仅是入门的情况, 但如何把新的好的技术尽快融入到教学中, 对提高学生能力, 使学生早日成为市场急需人才非常重要。
2.5 注重知识的灌输忽略能力培养
在教学过程中, 注重理论知识的灌输, 对于学生的动手能力培养不足。虽然有50%的课时用于实践练习, 但一般都是针对上次理论课所学知识的实践。这样的实践课过于片面, 研究者仅仅只是希望通过实践课程加深学生对理论知识的理解。但是, 编程是一门综合性和工程性非常强的课程, 一个知识点需要与多个其他知识点结合才真正体现它的价值, 另外, 大部分编程知识只有真正在工程实践中进行反复应用才能理解其真实价值。
3 有效教学方法与实践
改进教学方法和教学手段是改善上述问题的主要途径, 在多年教学实践中研究者进行了许多有益尝试。
3.1 兴趣是先导
教育心理学指出兴趣是人对客观事物的选择性态度, 表现为人力求认识和获得某种事物并力求参与相应活动。兴趣是通过情绪反应来影响一个人的行为积极性, 凡是从事自己感兴趣的学习和工作, 人就会觉得心情舒畅和愉快, 效率也就高;相反, 如果从事自己不感兴趣的事, 则可能心理动力不足, 缺乏激情, 效率也就低。由此可见, 在教学中培养学生的学习兴趣的重要性。通过成立课余兴趣小组、项目工作室、组织学生参加各种竞赛、请业界专家讲座等各种方法, 调动学生主观积极性, 努力提高学生学习兴趣。
3.2 合理运用多种教学方法
(1) 逆向循环教学法。
采用逆向循环教学法作为主要教学模型。传统教学是以课堂为中心, 教师为主体, 教学方法一般是先理论后实验实习, 这种以课堂为中心的教学不利于学生主体地位的落实和学习积极性的调动, 不利于学生主体活泼地健康发展。面向对象大师Betrand Mayer从软件认知规律出发, 提出了逆向教学的思想, 这种教学法与传统的程序设计课程的教授次序完全相反。传统的次序是自下而上的:从程序的建造单元开始, 例如变量与赋值, 接着是控制语句和数据结构, 再进入模块设计与构造大程序的技术。Meyer认为, 这种途径能让学生对程序的基本元素有一个很好的实际理解。但是它并非总是能教授系统建造的概念, 而这点是一个软件工程师要想在专业上成功所必须掌握的。
逆向教学的原则是:学生先作为用户来使用一些工具或部件来建造他们自己的应用系统, 然后逐步揭开这些工具或部件的面纱看看它们是怎么做的, 并改一改, 做一些扩展。Meyer指出, 这样这并非就忽略了讲授标准的低层的概念和技能, 因为最后学生需要能掌握一个程序所需要的所有东西, 从大画面到小细节。不同的是概念的顺序, 特别是对架构技能的强调, 是在自底而上的大纲中常被忽略的。
逆向教学法要求选择一个功能和规模都足够大的软件项目, 包括了分析、设计与实现这些方面。并且, 它应该包括复用、理解、学习、修改和运行已存在的软件。这样一个新班可以接手老班的结果并加以发展、改进。
图1是传统教学方法与逆向教学法的比较。
通过对逆向教学法的深入研究, 提出了自己的逆向教学方法模型, 加入了循环概念, 形成了具有自身特色的逆向循环教学方法模型。
(2) ISAS教学法。
逆向循环教学法作为主要教学模型, 主要用于课堂教学。为弥补课堂学时不足, 同时调动学生主观能动性, 引入ISAS教学法作为辅助。ISAS是Information Search and Analysis Skills的缩写, 即信息检索与分析技能, ISAS的教学过程是“学习→实践→提高”的过程, 以任务驱动教学, 先提出课程相关的实际问题, 将学生分组, 然后以团队的形式去寻求解决方案。ISAS具体教学过程大致分六个阶段:选题→分组→搜索信息→分析信息→演讲→答辩→评分。通过ISAS教学使学生具有以下能力:搜索和获取信息的能力、分析和解决问题的能力、团队协作能力、自主学习能力、语言表达能力、沟通交际能力、文档综合能力。
选择因课堂学时不足不会讲解但又非常重要的内容, 作为任务布置给学生自主组合的学习小组, 要求学生在规定时间内完成信息检索、自学, 并组织各小组对自学收获进行宣讲, 对优胜者给予奖励。这种方法可以极大提高学生自主学习积极性, 同时对培养学生综合能力很有帮助。
(3) 项目工作室。
程序设计是实践性非常强的课程, 课堂上的实践只是为了检验学生对当堂课内容掌握情况, 希望学生能综合利用所学解决实际问题仅靠课堂这点实践远远不够。专业教师在课外开设项目工作室, 引入实际软件项目, 组织有兴趣的学生进行开发, 这样可以极大提高学生参与积极性, 同时对提高学生利用所学知识分析和解决问题的能力作用极大。另外, 项目工作室的学生作品是可以传承的, 上届学生的作品可以传给下届, 这样可以让后来者学习往届生的技术和经验, 不断加深对所学知识的理解。
3.3 多种教辅手段并用提升教学效果
教学过程中采用多种教学手段并举, 以提高学生学习兴趣。
(1) 电化教学。
利用各种计算机及辅助设备进行教学, 包括大型投影仪、计算机、麦克风以及多媒体教学软件, 教师将所有授课内容都制作成多媒体课件。通过多媒体教学软件教师可以控制学生机进行屏幕广播、文件发放和接收, 及时了解学生的学习情况与动态。
(2) 开展课外知识竞赛活动。
通过形式多样、丰富多彩的学生竞赛活动, 促进学生主动学习课程有关知识, 加深学生对知识的理解和掌握, 提高学生的学习兴趣。
(3) 引入慕课课程。
给学生介绍优秀的慕课网站, 鼓励学生自主学习。
(4) 利用公共资源平台建立课程资源。
在公共资源平台 (如世界大学城) 上建立课程资源网站, 为学生学习提供丰富资源。
4 结语
21世纪需要高素质人才, 这对高职教育提出更高要求。因此, 要转变“以教师为中心、以课堂为中心、以书嘣为中心”的落伍观念, 树立“以教育为主线, 以学生为主体, 以实践为手段、以信息化为依靠”新型教学观, 充分调动每一位学生的主观能动性, 激发学生潜能, 为社会培养德才兼备的人才。
参考文献
[1]张良, 周长胜.实验教学在计算机基础教学中的改革与实践[J].高教论坛, 2008 (3) :88-89.
[2]王世安.基于工作过程的高职项目课程考核方法研究[J].职业教育研究, 2011 (4) :161-162.
《C#高级程序设计》 篇7
面向对象程序设计语言C#综合了VB简单的可视化操作和C++的高运行效率, 以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
现在各大高校都开始了各种形式的C#程序设计课程, 由于C#的独特性, 传统的教学方式与方法明显不能满足C#教学的需求, 笔者根据近几年C#教学的经验, 在C#教学上做了一些研究, 供大家参考。
2、教学内容
教学内容的选取对面向对象程序设计语言C#的教学是非常重要的, 因为它决定了教学的质量。由于C#的独特性, 在教学内容的选取上面, 采用分阶段教学的方式, 将C#的学习分为两个阶段, 第一阶段为基础知识学习阶段, 第二阶段为系统设计阶段, 课程采用4节课为一个单元的方式, 每周8节课, 总课时为128节。具体课时和内容安排如下表所示:
3、教学方法与手段
针对教学的不同内容, 设计不同的教学方法。
在第一阶段, 因为是介绍C#的基础知识, 所以采用任务驱动式教学, 每一基础知识都对应一个小的任务。第二阶段, 采用项目教学方法, 在项目中讲解相关的知识点。
在C#教学过程中, 积极采用多种现代化的教学手段是提高教学质量的有效途径, 主要的教学手段有:
(1) 设计生动的教学多媒体课件。生动的课件可以营造轻松活泼的课堂气氛, 将抽象化的问题融入到学生熟悉的生活情境, 并通过动画演示等手段, 让学生通过对熟悉事物的认知来理解理论知识。
(2) 充分利用机房控制软件。由于C#教学都是采用一人一台电脑的方式教学, 所以要充分利用机房控制软件的互动功能, 让学生和老师能进行交互教学。
(3) 互联网交互学习。将课堂的教学延伸到课外, 可以建立一个C#学习QQ群, 教师与同学可以在课外进行交流, 学生之间也可以随时进行交流。还有就是建立C#学习的网站, 将学习的相关资料都放在上面, 方便学生查找资料, 自我学习。
4、考核方式
考核只是一种手段, 不是目的, 考核就是要检验一下学生的掌握情况, 针对C#教学的特殊性, 我们采用过程化考核方式, 学生的最后成绩主要由平时的程序完成情况来决定, 即总成绩=平时表现+任务完成成绩+阶段项目一成绩+阶段项目二成绩+课程设计成绩。这样, 学生改变了考试前"临时抱佛脚"的心态, 重视实验、重视平时表现。事实证明, 这种考核结果很大程度上解决了"高分低能"的问题。可以说C#成绩高的学生, 也是真正理解C#编程的学生。
5、结束语
C#作为一门面向对象编程语言, 具有很强的特殊性, 因此在教学中不能按照传统的方式进行教学, 需要不停进行教学改革, 摸索适合学生的一种模式, 这样才能真正让学生学得轻松, 教师教的轻松。
摘要:在面向对象程序设计语言C#的教学过程中, 如何选取教学内容, 采用何种教学方法和手段是非常重要的, 本文结合学生学习程序语言的特点, 根据本学院的教学情况, 对C#教学进行探讨, 交流了教学经验。
关键词:C#教学,面向对象,教学方法
参考文献
[1]谭恒松.C#程序设计与开发[M].北京:清华大学出版社, 2010.
[2]沈蕴梅.《C#程序设计》教学改革之初探[J].科技信息, 2009, (33)
C#程序设计的教学探讨与分析 篇8
1 C#程序设计教学现状
C#程序设计是我校计算机信息管理、计算机应用、计算机网络、计算机软件、物联网等专业开设的一门重要的专业基础课程,开课时间安排在一年级第二学期,课时少(64课时),任务重。作为高职院校计算机专业的学生们,他们刚开始并不知道为什么要学习《C#程序设计》这门课,不知道C#能做什么,甚至有些学生把该课程当成Office或Photoshop软件那样去学,照葫芦画瓢。《C#程序设计》课程的一些理论知识、语法基础吸引不了他们的兴趣,实践课上他们基本都是照搬照抄老师的代码,学习能力不强,主动性不够积极,动力也不足,如何能让学生明白学习C#的目的,让学生自主的学习,积极的学习,是C#程序设计教学改革的关键[1]。
2 制定课程标准、完善教学内容
根据高职教学“以需定岗、以岗定能”[2]的特点,我们要培养“高知识”、“高技能”型人才,而做到这些就需要我们提高教学质量,准确把握该课程的课程性质,制定课程标准,完善教学内容,掌握教学任务,清楚教学目标,讲解教学重点,把握教学难点,介绍应用领域等对提高教学质量都有非常重要的作用。而完善教学内容是重中之重,把握好课程标准中制定的内容和项目,及时更新教学内容,保证教学内容与实际需要相适应,能让学生明白学习这门课程的重要性,能更好的让学生学到更多更实际的知识,可以更好的培养学生的动手能力,才能更方便快捷的提高他们的实践操作能力。《C#程序设计》作为计算机相关专业一门重要的专业基础课程,它是以后学习面向对象程序设计和Web动态网站设计的基础。通过对C#程序设计的学习,学生分析问题的能力,解决问题的能力,实践动手能力,都能得到很大提高,并且为用人单位提供了需要的人才!
3 改革教学方法、创新教学手段
3.1 新生目标不明确、入门难,导致学习兴趣不高
刚入学的新生,对计算机基础掌握的还不是太牢,对编程更是没有概念,加上我校有部分专业是中招对口招生班级,没有经过高中的学习,基础比较差,几乎没有高中数学的基础,更没有编程的概念。这些学生大多也是学习不积极不主动,在大一上学期,他们开设《C语言程序设计》,该课程要求他们通过C语言省二级考试,学期初学生总把C#认为是C语言,没有弄清楚C语言和C#的巨大差别,加上有的学生C语言学得很吃力,成绩不理想,甚至他们一提到编程就恐惧,根本没有从C语言考级失败的阴影中走出,不敢或不想动手编写程序,导致入门难。怎么让学生快速入门,让他们对C#感兴趣,是改革的第一步。
为了让学生能快速入门,灵活掌握C#语法,能编写简单的控制台小程序和Windows窗体应用程序,教学中我们使用多媒体教学,采用项目驱动式教学方法,在课前提出项目任务需求,让学生自己先预习课本相关知识点,上网查询相关的知识,课上带学生一起分析任务,并引入新知识点,加以讲解分析,实践课上演示和督促学生完成任务,最后做项目总结,提高学生的兴趣,加强学生实际动手能力。选择典型、针对性强、贴近生活的项目案例,把相关的知识点融合到项目中,引导学生自己动手编程,帮学生克服动手编程的恐惧心理,做到举一反三,为以后编程类课程打下基础。
3.2 精心制作课件、精选案例分解、编写关键代码
对C#课程来说,必须多给学生动手编写代码的时间,相应的课堂讲授的时间就要缩短,更要求教师必须精心制作课件,合理的设计教学情境,而不是死板的播放幻灯片,可以通过幻灯片来演示知识点,但必须把知识点贯穿在实际案例中,让学生更加深刻的理解所学的知识点。课堂上,如果把大段的程序代码发给学生,再给学生讲解程序功能,这样只会将学生带入思维定势,导致学生在实践课上一味的等待老师的代码,从而缺乏思考。教师可以把程序对应到现实生活的实例中,然后讲解编程思路,启发学生发散思维的能力,引导学生随着教师的思路一同完成程序的编写,并把程序中关键的部分让学生独立完成。
3.3 利用各种教学广播软件,实现分屏教学
由于该课程64课时都在电子教室完成,在教师讲解知识点和编写代码的过程中,可以利用Lan Star教学广播系统或E-Learing电子教室软件,通过广播式教学,让学生的注意力全部集中在课堂上,能很好的提高教学效果。教师可以通过教学广播软件把提前准备好的问题分发到每位学生的电脑桌面,让学生按要求自己动手做案例,起到举一反三的效果,同时作业做好的学生可以通过教学广播软件进行电子举手,教师可以根据做好的学生比率控制上课的进度,了解学生对该案例及知识点的掌握程度,教师可以从举手的学生中抽取学生的作品,展示给其他同学看,分享多位学生的作品,分析其中的方法和编程思路,比较各种方法的优劣,启发学生一题多解的思维模式,教师应每次抽取不同的学生作品来评讲,尽量给每位学生平等的机会,让每位学生都有机会展现自我,展示自己的作品,找到每个作品的优点,加以表扬,从而提高他们学习的积极性和主动性。有问题的学生也可以通过该软件电子举手或发送信息至教师机询问,教师可以及时辅导,更好的提高学生的综合素质。
3.4 实行分组教学,加强团队合作意识
在第一次课上,教师可以根据座次或学号给学生分成几组,每组人数在4到6人为宜,各小组选一位小组负责人,该小组负责人主要负责督促组内成员按时、按质、按量完成作业,并在规定的时间内上交作业,辅助教师帮助组内其他成员解决编程过程中遇见的各种问题,这样可以帮助老师解决多位学生同时提问而不能及时解答的问题。若碰到小组负责人也不懂的问题,可以向教师询问,并且让学生在课上就以小组的形式学习,能更好的适应以后的项目开发工作,能加强团队合作意识,提高团队合作能力。
3.5 利用网络媒介,实现师生课后互动交流
由于课时有限,课上学生编程的速度不一致,仅利用课堂上64课时的时间想学好C#是不可能的,所以更要充分利用课后时间,教师可以布置一些相关课后习题,也可以建立QQ群、博客等,通过这些网络工具,为学生提供远程在线指导,随时解决学生学习过程中遇到的所有疑难问题,教师甚至可以通过远程协助[3]功能,远程登录学生的电脑,为学生解决编程中的各项问题,让学生学习不再局限于有限的课堂教学。
4 实践和考核评价方法
4.1 通过实训,提高实践能力
所谓实训,就是该班级在一周时间内,停止所有课程的学习,只进行该课程的项目训练,按前面上课的名单分组,要求每个小组独立完成一个项目,每个小组的项目不能相同,组内成员的任务由小组负责人细分,每个人单独完成项目中的一个小模块。这样可以锻炼学生独立动手的能力,每个学生的任务都不一样,学生就不会把希望寄托在其他同学身上,而是自己开动脑筋思考,完成相关任务。这样不仅培养了学生独立开发的精神,加强了团队合作意识,还提高了学生的主动性,从而提高了学生的实战技能。
4.2 注重过程,完善考核评价方法
考核是评价学生的一个重要方面,其目的是对学生掌握的知识点与操作技能进行评价,从而对教学效果进行评估。对于《C#程序设计》这门课程,根据企业需要,学校应该培养动手能力强的程序开发和设计人员,所以不能用传统单一的笔试进行考核。在该课程的考核中,应注重程序设计能力考核和平时的过程考核,在这样的考核目标下,要求学生平时多动脑动手,通过项目实践,才有可能取得好成绩。因此,把考试分为平时的过程考核和期末的上机考核,从而制定考核评价[4]方法,即:总成绩=平时过程考核成绩(30%)+期末上机考核成绩(70%)。这种考核形式能较真实反映学生程序设计能力。
平时过程考核:通过对平时学生课堂表现,出勤情况,迟到早退情况,每次小情境项目完成情况,课堂程序讨论情况,课堂作业上交情况,课后作业完成情况等相结合给出平时成绩。期末上机考核:要求学生对知识点有深刻的理解和掌握,完成客观选择题,然后完成上机操作编程题,考核的是学生分析问题、解决问题的能力,提出算法、编写程序的能力。实践证明,对C#的考试形式和内容的改革,有助于培养学生的能力,在教学中强化学生实践能力,突出软件开发能力的培养,从而提高了学生的学习兴趣,提高了教学效果。
5 总结
总之,对我校《C#程序设计》的教学思路可以概括为:教学内容具体化、教学手段创新化、采取任务驱动式项目教学法,以学生为主体,以就业为导向,强化实践教学,提高学生动手能力。在《C#程序设计》课程的教学中,根据岗位需求,确定教学内容,改革旧的教学模式,不断探索切合实际的教学方法和手段,提高学生综合素质,更好的为软件开发行业服务。
摘要:该文根据我校高职高专学生的特点和实际情况,结合《C#程序设计》课程的教学现状,从教学内容、教学手段、教学方法、教学实践和考核评价等方面,探究《C#程序设计》的教学规律,摸索出一套适合高职高专的教学模式。
【《C#高级程序设计》】推荐阅读:
C#从入门到精通程序设计高级编程实例视频教程附带源码12-23
c语言高级程序设计01-14
中高级PHP程序员应该掌握哪些技术06-18
C#程序语言07-26
《C#程序设计》课程07-09
高校C#程序设计09-22
山东省高级人民法院公布了四起适用速裁程序审理的典型案例01-14
高级灰设计经典案例09-07
职位描述(高级创意设计师)12-15