程序设计教学论文范文

时间:2023-10-30 14:21:08

程序设计教学论文

程序设计教学论文篇1

1.提高学生职业竞争力的重要途径。通过创新实践教学综合改革,使学生有更好的条件学习和实践,全面提升学生职业素养,从而具备比较过硬的专业创新实践能力,在社会人才需要中具备较强的职业竞争力,适应飞速发展的社会。

2.有利于学生提前进入企业岗位角色,校企对接有效缩小学校与社会的距离。本着先进性和实用性优化程序设计类专业课程体系,采用“2+1”模式,即将程序设计类专业核心课程设置在前两年完成,学生在第五学期主要进行企业顶岗实习的同时,完成辅助课程的学习任务,第六学期进行校外毕业实习,部分学生在企业完成毕业设计,使学生提前适应企业岗位需要,并通过学校教师和企业技术人员的共同指导,更快地提升专业技能。

3.有助于营造职业氛围,提高学生的学习兴趣。程序设计类课程体系中职业核心课程选择典型工作任务,按照基于工作过程进行课程改革,将企业真实项目引入教学中,教学方式采用“教、学、做、评”一体化,创新实践工作室使学生在业余时间进行实践项目训练,在教师的指导下对企业进行技术支持,完成企业项目。

二、增强创新实践能力的程序设计类专业教学改革实践

通过分析目前国内程序设计类专业学生创新实践能力现状存在的问题、企业用人需求与学校教育存在的问题,总结学习其他高职高专院校增强创新实践能力的程序设计类专业教学先进经验和工作方法,探索实践增强创新实践能力的程序设计类专业教学综合改革。

1.本着先进性和实用性优化程序设计类专业课程体系,采用“2+1”模式。课程内容的选择要既先进又实用,将程序设计类专业核心课程设置在前两年完成,学生在第五学期主要进行企业顶岗实习的同时,完成辅助课程的学习任务,第六学期进行校外毕业实习,部分学生在企业完成毕业设计,使学生提前适应企业岗位需要,并通过学校教师和企业技术人员的共同指导,更快地提升学生专业技能。这种“2+1”模式不同于普通学校实施的方法,“2+1”模式的实施使学生在顶岗实习的同时完成辅助课程的学习,学生便于及时与企业技术人员、学校专业教师沟通,及时提升专业技能。这与有些院校开展的前两年纯学习、最后一年纯顶岗实习相比,具有明显的优势。以顶岗实习项目为载体,创造真实的企业实战平台,增强创新实践能力的程序设计类专业课程体系改革立足软件业,例如移动互联网应用开发专业,形成了“一线四平台”的工学结合人才培养模式。“一线”是以岗位职业能力培养为主线,着重培养移动嵌入式软件开发能力、移动网站开发能力和软件测试及运行维护能力。“四平台”指课程实践平台、项目实训平台、企业实战平台和创新创业平台。搭建“教、学、做、评”一体化课程教学实践平台,实现学和做的融合、理论与实践的融合。模拟软件公司工作环境,借鉴软件项目管理经验,引入企业真实项目,创建专业项目实训平台。

2.进行基于工作过程的程序设计类专业课程体系的职业核心课程教学改革。按照基于工作过程进行课程教学改革,选择典型工作任务,理论与实践一体化。以工作过程为导向进行课程设计和开发,充分体现职业性、实践性和开放性的要求,根据行业企业发展需要和完成职业岗位实际工作任务所需要的知识、能力、素质要求,选取教学内容,让学生在工作之前就知道自己该学些什么、做些什么和怎样去做,为学生可持续发展奠定良好的基础。例如,基于工作过程的《JavaEE应用开发》课程设计主要包括:课程定位、工作任务及职业能力、课程目标、教学组织、教学内容与能力要求、教学手段、教学方法以及评价与考核等几个方面。基于工作过程的课程设计和开发过程:首先对岗位进行分析,在工作任务分析的基础上,根据能力复杂程度整合典型工作任务形成综合能力领域,根据认知及职业成长规律递进重构行动领域转换为课程,即学习领域。然后根据课程面对的工作任务和职业能力要求,确定课程的教学目标。其次是确定教学情境,在教学实施过程中,根据完整思维及职业特征分解学习领域为主题学习单元,在JavaEE应用开发课程开发中,按照软件工程的要求及实际开发流程,将真实的Web应用系统开发贯穿于整个教学过程中,本课程以“在线答疑系统”作为教学项目。再次是确定教学方法和手段,综合采用了项目导向、任务驱动、案例分析、多媒体演示等教学方法,将“在实践中学习、在学习中实践、理论与实践教学一体化”的思想贯穿在整个教学过程中。

3.教学方式采用“教、学、做、评”一体化。采用工学结合的教学模式,教学过程全部在一体化实训室中完成。模拟企业工作环境,组织学生分组学习、讨论,由学生分别扮演企业项目组中的不同角色,由项目经理根据组员完成系统规定的情况对组员打分,锻炼学生工作环境的适应能力和管理能力,培养团队协作精神。开展学生作品评析活动,从而融“教、学、做、评”为一体,融学校、企业为一体。

4.实施过程性考核作为程序设计类专业核心课程的考核成绩。考核方式以实操的熟练程度、任务的运行情况、项目的完成质量进行综合考评。根据课程的性质,程序设计类课程注重对学生实践动手能力的考核,加大过程性评价成绩所占的比例,从知识、技能、态度三方面对学生进行评价考核,成绩比例为:学习态度10%,团队合作10%,阶段项目50%,创新项目20%,报告文档10%。

5.利用创新实践工作室平台,开展创新实践活动。为了能有效利用业余时间提升程序设计类专业学生的创新实践能力,我们创建了大学生创新实践工作室。工作室以教师为支柱,以学生为主体,以培养学生的创新实践能力为目的,根据专业培养目标和学生兴趣爱好,组成学习实践小组,灵活合理地组织开展学习和创新实践活动,通过专题讲座、交流讨论、项目实践、经验总结、职业规划及头脑风暴等形式,对创新实践工作室学生进行重点培养和拔高,让这部分学生参与到真实的项目开发过程中,提高技术应用水平,增加项目开发经验。工作室学习小组每学期之初制订学习计划和实践项目,在教师的指导和团队的合作下,对企业进行技术支持,完成企业项目,保证学习实践的连续和深入,同时结合系部和学校组织的技能大赛,形成一个良好的学习实践氛围,带动其他学生参与专业实践的积极性。通过创新实践工作室,搭建一条学生与教师交流、学习的桥梁;激发程序设计类各专业学生的创新意识、创新能力、动手能力,扩宽思维方式,提高大学生科技创新和工程实践能力;增强了学生的就业竞争力,提高了学生的高质量就业率。

6.校企合作开展创新实践活动。由企业专家来学校开展周末软件实训班、与企业联合举办软件开发知识竞赛、企业专家为学生授课等一系列形式,使学生较早掌握当前较流行的编程技术,为学生的程序设计拓宽思路,提高其创新思维的能力,从而提高其职业实践能力。

三、改革效果

通过增强创新实践能力的程序设计类专业教学改革与实践,通过比较科学的、行之有效的操作方法及规范的管理办法,提高了学生的创新实践能力。

1.毕业生就业率得以提高。通过增强创新实践能力的程序设计类专业教学改革与实践,为学生择业和企事业选人创造了条件,学生整体就业得到了提高。

2.就业质量得以提高。学生创新实践能力的增强,使学生在毕业时,职业技能比较好,更容易进入职业角色,大大缩短了毕业生试用期和职工的培训时间,学生更容易进入层次较高的单位就业,毕业生中有三分之一在二年级结束时就被多家企业录用。

3.提高学生的实践能力。学生在各项创新实践活动中,有了不断前进的动力和学习的目标,学习的劲头更足,通过创新实践教学改革,为学生提供了一个实实在在的职业创新实践环境,使学生有机会与实际工作环境进行“零距离”接触,为学生创造了更多的现场实践机会,使学生的实践能力有了很大的提高,对学生和企事业单位来说是双赢的好事。

4.指导教师的实践能力得以提高。通过创新实践教学改革,学生实践能力的提高也迫使教师要不断提高自己的业务,以胜任本专业的教学工作。

程序设计教学论文篇2

在《网络程序设计》中,套接字socket是非常重要的概念,教材上的解释是:套接字是两个通信通道上的端节点。看到这个解释,学生还是不能明白套接字的内涵。为了使学生更好地理解,通常采用如下比喻。既然套接字是作为通信的末端,那么可以使用“电话系统”与“邮局系统”这两个同学们熟悉的事物进行类比。可以把支持虚电路服务的信道看作电话线,套接字就类似于一个电话。同样,可以把提供数据报服务的通信看作邮局系统,套接字看作信箱。

(2)基于TCP套接字编程模型

面向连接的网络通信的建立有多个步骤,要使用多个函数。为了便于理解,可以将其比喻为“打电话”这个过程。要建立基于TCP的C-S(客户-服务器)通信,首先双方进程必须各自创建一个端点,也就是调用socket函数创建套接字,正如打电话之前,双方必须都拥有一台电话机一样。Socket是面向模型设计的,针对C-S通信双方提供不同的socket系统调用。客户随机申请一个socket号,这类似想打电话的人可以在任何一台入网的电话上呼叫。服务器拥有全局公认的socket,调用bind函数将套接字地址和所创建的套接字句柄联系起来,任何客户都可以向它发出连接请求和信息请求,这就类似于被呼叫方的电话号码告知了呼叫方。客户端调用connect函数发出连接请求,就好比拨打对方的电话。而服务端有可能在完成当前请求之前又发生多个服务请求,为了很好的处理这个问题,服务器调用listen函数将所有的服务请求放在一个请求队列中排队,并尽快处理这些请求[2],这就如被呼叫方在开启呼叫等待的功能,不错过任何呼叫请求。服务器端执行accept函数等待来自某一客户端的实际连接请求,实现与客户进程连接,这就如被呼叫方拿起电话,双方可以正式通话。最后,客户端与服务端完成数据传输后调用close函数关闭套接字,撤销连接。这就好比打电话双方通话结束后,挂掉电话。

(3)基于UDP的通信机制

用“邮局系统通信”来类比这一种通信机制是非常恰当的。基于UDP通信是面向非连接的,无法保证数据以正确的顺序到达。这就类似我们先后寄出两封信给对方,不能确保第一封信一定会比第二封信先到达对方手上。而在通信过程中,服务端和客户端双方首先都需要绑定IP地址和端口号,这就好比寄信之前,对方的通信地址我们是要已知的。而客户端发送信息以及服务端回应的时候,调用sendto函数来实现,需要指明对方的地址。这如同在寄信的时候,需在信封上要注明对方的地址信息。

(4)协议端口

在讲解“协议端口”时,学生总是不能理解为什么在网络通信的时候要指明端口号,为了解决这个问题,同样采取比喻教学法。大多数操作系统是支持多进程的,目的主机到底把收到的数据包送给哪个进程呢?就好比我们去银行办理业务,银行的业务有多种,有多个服务窗口。我们要成功地办理业务,必须知道对应的窗口号。同理,当你的主机开启多个服务时,如FTP、WWW、E-Mail多个服务,当接收到传送过来的数据包时,主机要准确的把数据包传送给相应的进程,这就需要数据传输的双方进程开启端口,这样数据包将会有标识有源端口,确保接收方顺利地将数据包传送至这个端口。

(5)带外数据

通常数据是按顺序传输的,然而套接字API概念性的提供了一些使用程序,从而可以使得一串数据无阻的先于普通的数据到达接收端。这就是所谓的发送带外数据。这就好比大家排队在银行依次办理业务,有个强盗拿着枪走入银行,越过整个队伍走到柜员面前。这个就可看作为带外数据。这个强盗能越过整个队伍,是因为枪标识他的特殊性,给了他凌驾于众人的权力。

(6)结语

网络程序设计课程知识面广、概念抽象难懂,要取得好的教学效果,必须打破传统的教学方法,灵活多变,不断创新。在授课的过程中,大量采取比喻教学法,结果表明,学生更好的掌握知识点,教学效率显著提升。只要认真探索,我们就可以把专业性很强的概念、原理与学生熟悉的事物相类比,使抽象的概念变得生动,易于理解,易于接受[3]。这样学生才会更有兴趣,学习的积极性更高。

程序设计教学论文篇3

论文摘要:成人教育是我国高等教育办学模式的一种创新体制,计算机程序设计课程是成人教育计算机教学中的必修课程,其主要目的是培养学生的程序设计能力和算法分析应用能力。本文从教学实际出发,针对当前成人教育计算机专业程序设计课程的实践教学进行了探索和研究,并提出一些建议。

1计算机专业程序设计课程实践教学的主要范畴

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

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

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

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

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

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

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

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

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

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

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

4.4改变实践教学的考核方式学习程序设计课程的真正目的在于应用,是为了能正确编写出应用程序。因此,程序设计课程的考核要理论考核与实践操作考核并重,各占1/2,并要求理论考核与实践考核分离,只有理论考核和实践操作考核均合格后,整个课程成绩考核才算合格。实践教学考核主要考核学生综合运用所学知识解决实际问题的能力,不仅要考查学生的知识理解程度和基本操作技能,也要考查学生认知能力、动手能力、知识转化能力、再学习能力和创造能力,任课教师可以通过学生平时的学习情况和期末实践测验给出一个比较合理的综合成绩。这样,不仅可以对学生的学习情况给出一个客观的评价,还可以鼓励学生平时认真学习。

参考文献

程序设计教学论文篇4

关键词:C程序设计;课题研究型教学模式;实例教学模式;实用性程序教学模式;双语教学模式

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)13-3116-02

Study on the Teaching Mode of C Program Design in Agricultural University

LIU Li-qun, WANG Lian-guo, HAN Jun-ying, LIU Cheng-zhong

Abstract: To resolve the flaws of the traditional teaching, by combining the characteristics and advantages of agricultural university, the paper researches the teaching mode of C program design. It discusses new four teaching modes including project study teaching mode, instances teaching mode, practicable program teaching mode and bilingual teaching mode. Its purpose is to resolve the practical teaching problems of C program design in agricultural university, and improve the students’computer program designing ability.

Key words: C program design; project study teaching mode; instances teaching mode; practicable program teaching mode; bilingual teaching mode

1高等农业院校C程序设计教学现状

“C程序设计”是一种被广泛学习、普遍使用的计算机程序设计语言。它的高级语言形式、低级语言功能具有特殊的魅力,是高等农业院校理工科类学生必修的基础课程。目前,高等农业院校C程序设计教学主要存在以下问题[1-3]:1)只为了“学习语言”而学习,注重语言的语法学习,而忽视用软件作为工具去解决实际问题的本质。2)学生的学习兴趣不浓,不能积极主动的投入到学习中,自身的思维能力得不到发挥。3)学生的学习应用能力很差,只能理解例题以及相近似的问题,自己不能独立分析问题解决问题。

2高等农业院校C程序设计课程教学新模式

以上传统教学的弊端是C程序设计课程教学工作中普遍存在的现象,因此在教学中必须结合农业院校的特色采用新的教学模式。

2.1课题研究型教学模式

课题研究型教学模式是指基于网络教学平台,精讲多练,以学生在课题研究中探索式地学习为主,以网站答疑讨论为辅,试题库在线测验为补充的教学模式。1)实行“精讲多练”,教师只作入门性的、重点的、带有启发性的讲授,而不仔细讲授细节,指导学生通过自己看书,在网络教学平台上用多媒体课件或其它各种学习资料进行自学,大部分学时进行上机实验教学,充分利用上机练习等掌握所学的内容。2)调整传统教学内容的先后顺序,在上课前先给每个学生,或若干学生一组,布置一项程序开发课题,该课题力求既结合生产实际,又能涵盖课程教学的要求。教师提出学生自学和开发、研究的进度,设计教学进程,让学生在课题开发的过程中利用在线学习平台学习基础理论和程序开发的思路与方法,学期结束前完成该项目,其成绩记入操作设计分。3)上机教学时,教师跟踪辅导,根据学生上机操作的情况,了解学生对课程学习的进度和深度,为每个学生打平时表现分,记入学生平时成绩库。4)建立计算机基础课程教学网站,网站的主要内容是:在线学习平台、辅导答疑论坛、在线考试试题库。5)参考全国计算机等级考试的题型,设置在线考试试题库,根据安排的教学进度,每个重要学习单元都要求学生利用课余时间进行上机测试,达到熟练掌握基本理论和基本概念。然后,教师组织学生在线考试,现场打在线测验分,并记入平时成绩库。6)网络教学平台的辅导答疑论坛,各教师负责解答学生提出的问题,根据学生在答疑论坛发表见解的次数和见解深度,打答疑讨论分,并记入平时成绩库。7)学生最终的学习成绩由平时成绩、期末成绩和上机考试成绩构成,其中平时成绩又由在线测验分、答疑讨论分、平时表现分、操作设计分按照一定的权重构成。

2.2实例教学模式

针对传统C语言教学的弊端,提倡基于“任务驱动”的“实例教学模式”[4]。以任务驱动的方式,通过实例讲授程序设计的基本概念、基本方法,把重点放在解题思路上。从开始就使学生将注意力集中在所解决的问题领域,从具体实例理解C语言的开发特点和程序总体框架,通过实例本身既学会某一类问题的解决方法和算法设计,又掌握了C语言的基本语法、语句。即在C语言的环境下,针对实际问题进行分析、构建数学模型、设计算法、最后编程实现。

在学习的不同阶段设计不同针对性的实例。1)开始阶段设计的实例是将学生的注意力吸引在C语言的总体功能和程序的总体框架上。2)在学习中间阶段设计针对某些数据类型或应用特点的实例、针对模块分解和组合的实例、针对算法分析与设计的实例等。3)在学习的后期进行综合课程设计,将所学知识融会贯通。

2.3实用性程序教学模式

在教学内容上,增加了如猜数游戏、身高预测、体型判断、洗扑克牌等兼具趣味性和实用性于一体的程序实例,并补充了代码风格、函数封装、流、程序调试、常见错误分析等现代程序设计必备的知识,重视在新形势下的新方法、新规则和新思想的传授,把程序设计领域最新、最有价值的思想和方法渗透到C语言中,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。

2.4双语教学模式

作为程序设计语言,本身的语法表达采用的就是简单而含义明确的英文单词,语言的控制结构、语法关键词、数据类型、函数名称等都是采用英文单词表示。而C的上机操作环境均采用英文信息显示,如英文菜单、操作提示信息和编译错误提示信息等,因此计算机与英语言之间有着密不可分的关系[5]。在C程序设计课程的教学中加入适当的计算机及程序设计方面的英文专业词汇,部分或全部教案采用英文形式,将有助于学生专业英语水平的提高和尽快熟悉、适应以英文信息为基础的软件开发环境。

3结束语

传统的教学观念以C语言语法为主,忽视程序设计能力的培养。结合高等农业院校自身的特色和优势,以创新教育为导向、深化农业院校学生计算机程序设计能力培养的教学体系建设为目标,提出了四种新的教学模式,解决了实际的教学问题,教学效果良好。

参考文献:

[1]王方.C语言教学模式:“简单任务+归纳法”[J].安庆师范学院学报:自然科学版,2011,17(3):112-116.

[2]刘彩虹,郭政,于建海,等.C语言教学探讨[J].信息与电脑,2011(2):113.

[3]王圆妹.非计算机专业C语言教学改革的探讨[J].长江大学学报:自然科学版,2009,6(2):385-386.

[4]韩京宇,朱立华.案例驱动在C语言教学中的研究[J].中国新技术新产品,2008(12):163-164.

程序设计教学论文篇5

Exploration of educational reform of C language programming course

Yao Lixin, Lang Hongtao

(School of Information Technology, Qingdao University of Technology, Jiaozhou, Shandong 266300, China)

Abstract: As a primary course of programming, C language programming is quite difficult for freshmen. In order to deal with it, Qingdao Institute of Technology launched an educational reform project. All the members of this project have conducted continuous exploration and practice during the past few years. The educational team and teaching materials are established. The content and the method of teaching are elaborated. The specific approaches of experimental teaching and reform of examining system are introduced.

Key words: C language; programming; educational reform; curriculum development

0 引言

当前,计算机已经成为人们工作、学习和生活中必不可少的工具,整个社会对计算机的高度依赖促使一个崭新的文化形态的形成――计算机文化。随着高等教育从精英教育阶段进入大众教育阶段,教育部高等学校计算机科学与技术教学指导委员会在计算机基础课程教学基本要求中提出了1+X的课程设置方案[1],理工类学生在学习大学计算机基础课程后,接下来就要学习C语言程序设计,C语言程序设计已经成为各高校普遍开设的基础课程。本文总结了我们在教学改革和实践中的一些做法和体会。

C语言功能强大,使用灵活方便,应用面广,可移植性好,兼有高级语言的优点和低级语言的特点[2],这也使得初学者较难学习和掌握,在教学中我们发现,学生往往对编程解决实际问题感到困难,不知从何下手,而一些考试题目往往重视考查语法的细节,而对编程能力考查得不多。对于C语言程序设计的教学,我们从培养学生的兴趣和能力,以及计算机思维能力出发,进行了一系列教学改革的探索与实践。

1 教学师资团队建设

人才培养师资队伍是关键,教学团队的建设是保障教学效果和实施教学改革的基础和支撑[3]。根据本课程的特点和大一学生的基础,学院确定了一支老中青相结合的骨干教师组成本课程教学团队,团队由一位教授、一位副教授、四位讲师和三位助教组成,分别承担理论教学和实验教学任务,这支队伍年龄、职称结构合理,团队中的教师在每学期的教学督导和学生评教中,成绩都在良好以上,从根本上保证了课程的教学质量。

坚持教学团队的凝聚力建设,定期研讨,统一思想。每周教研时间及时交流教学中出现的问题及解决方法,对教学过程进行总结反思,坚持互相听课,集体研究讨论教案、课件制作,对每个实验内容、案例的选用、考核的内容和方式等都经过团队的统一讨论确定。

重视教学团队中教师自身的进修和提高,团队中的多名教师先后参加了国家精品课程师资培训、全国高等学校计算机实验与实践教学研讨会、全国高等院校程序设计精品课程教学专题研讨会等,教师都很珍惜每一次与兄弟院校的教师、专家交流与学习的机会,教师及时把学习体会传达到团队的每一位教师,汲取其他院校的一些好的做法运用到我们的教学实践中,这些做法对促进教师的知识更新、教育理论的学习、教学方法的改进和教学能力的提高起到积极的作用,也保证了课程的教学改革能不断向前推进。

2 教材建设

C语言程序设计作为第一门编程语言课程,目前几乎所有高等学校理工科专业都在大一第一学期开设此课程。C语言简洁、紧凑、灵活,数据类型丰富,功能强大,灵活和复杂对初学者来说是难以掌握的,而原有的一些教材大多是针对计算机相关专业的学生,而且是在学习了一些计算机基础的相关课程后再学习此课程的,起点相对高,内容全面、有一定的深度。但是对本科低年级初学者来说并不适用。鉴于此,我们从2009年开始着手编写教材和实验教材,从我院人才培养目标和学生的实际情况出发,注重实践及应用,试用后于2011年出版,并于2013年修改再版,新版教材已列为十二五规划教材。作为适用本科低年级学生初学程序设计及C语言的教材,以掌握C语言基本语法、培养程序设计思维、提高上机实践能力为目标,旨在以简单明了的语言和简洁实用的例子,阐述C语言的基本语法和程序设计的基本逻辑思路。C语言的语法及使用有很多灵活和复杂的方面,对初学者来说往往难以全面掌握,所以我们只对主要的适合初学者入门的知识点进行讲解,其目的是通过C语言的学习与实践,培养学生程序设计的抽象逻辑思维能力,掌握动手编程上机实践的技能[4]。程序设计的抽象性往往使学生望而生畏。选用简单实用的例题,目的是让学生能尽快入门,并对程序设计产生兴趣,能体会到编程和调试的乐趣。

3 优化教学内容,改革教学方法,丰富教学手段

3.1 优化教学内容

对于课堂教学内容的取舍,教学团队首先从指导思想上达成共识,就是重点是编程的逻辑思维的培养,分析问题、解决问题能力的培养,而不是解释语言本身的语法细节,据此来优化课堂的教学内容。对于编程能力的培养,从具体的问题分析,特别是从贴近学生生活的实例出发,进行类比,转化,进而同化到学习者自身的已知范畴中,这也符合建构主义[5]关于学生是如何学习的理论。对于语法规则,通过实际的调试程序、验证性实验等方法,使学生有更直观的感受,印象也更深刻。我们对教学大纲进行反复讨论修订,通过教学大纲贯彻教学改革的指导思想。

3.2 改革教学方法

在课堂教学中采用任务驱动、案例教学、类比教学等启发式教学方法,从一个具体问题出发,引入要讲的概念和知识点,使得学生掌握解决类似问题的方法,注意启发学生与以前所用的方法进行比较,并在此例的基础上进行扩充,改变条件等,渐进式的展开,不断滚雪球似地拓展,学生比较容易接受,不断与已经掌握的知识进行同化。

针对下次课要讲的内容布置学生预习,每次课前鼓励学生就预习的情况作讲解,可以是预习收获,可以就疑问提问,坚持了教师为主导学生为主体的理念,训练学生自主学习的能力,对于学生自学能掌握的问题不讲或精讲,重点放在难点问题上。

建立小组学习模式,培养学生自主学习、合作学习的能力。让学生自由结合组成学习小组,3-4人为一组,每名同学轮流任组长(每月轮换),负责本小组本课程的学习讨论,上机、作业、考勤等,给每个学生同等的锻炼机会,促进后进学生提高学习的积极性,形成互帮互学共同进步的良好学习风气。

3.3 丰富教学手段

课堂教学中综合使用PPT课件、程序演示和板书等教学手段,语法规则以PPT课件为主,问题分析,算法设计辅助板书,程序验证直接运行,直观看结果,章节的开始有提示,结束有小结。避免了单纯PPT课件教学易使学生疲劳并产生课件依赖的现象,提高学生积极参与课堂教学的积极性,发挥学生学习主体的作用。

加强精品课程网站建设,充分发挥网络教学的作用。本课程已经建成为学院的精品课程,利用校园网的平台,培养学生自主学习的能力。课程网站上有丰富的教学资源,有教学大纲,电子教案,教学课件,教学视频等,实现了网上答疑,还建有论坛社区,方便师生之间的讨论交流。

组织程序设计竞赛,培养学生对程序设计爱好和实际能动性。通过每年选拨优秀学生参加数学建模比赛、ACM程序设计大赛,组织有兴趣的学生积极参与,并加以指导,培养了学生对程序设计的爱好,提高了学生解决实际问题的能力。

4 加强实验实践教学,适时安排课程设计

4.1 加强实验课的教学,培养学生实际动手能力

为加强实践教学,独立设置了C语言程序设计实验课程,每周2学时实验课,平时实验室开放,学生可以在课余时间进行上机练习。强调理论与实验并重,在实验内容上安排一些基础性的验证型实验,作为必须完成的项目,帮助学生理解掌握基本的知识点,培养学生动手能力。在此基础上布置一些具有一定难度的题目,面对能力较强的学生,提高他们的综合设计能力。

实验课后学生要撰写实验报告,实验报告内容包括以下几个部分:

⑴ 实验内容;

⑵ 算法描述(要求按照规范画出流程图);

⑶ 源程序代码(注意代码风格,必要的注释);

⑷ 测试及运行结果(包括几种算法讨论);

⑸ 调试过程(遇到的问题及解决办法);

⑹ 收获体会。

对于大学低年级的学生,通过编写、调试程序,撰写实验报告,对于培养他们严谨科学的工作作风、锻炼科技论文的写作能力都起到了积极的作用。

实验课程考核为考查,综合实验出勤情况,实验报告情况和完成实验的情况以及期末综合编程的完成情况评定成绩。

4.2 适时安排课程设计,培养学生创新意识

在学完本课程后在相关专业开设C语言程序设计课程设计课程,本课程是实训类课程,时间为一周,通过多名学生合作完成一个相对比较复杂的课题。锻炼学生的分析问题、解决问题的能力,培养学生团队协作精神,使学生了解软件开发流程、代码和文档编写规范,提高编程能力和创新意识。

课程设计的选题很重要,教学团队经过讨论精选出一些具有一定难度但可以通过学生努力完成的课题,并鼓励学生自选题目,提出切合实际应用的课题,写出分析和需求报告,有指导教师共同讨论通过,自选题目有加分奖励。如有的小组就结合学生实际生活,设计学生综合评测系统,解决他们学习生活中的实际问题,提高他们课程设计的兴趣和完成后的成就感。

在课程设计的过程中,按照正规软件开发的流程和步骤,每一个步骤完成都要提交相应的文档,最后完成时提交程序代码和完整的文档。小组成员有明确的分工,以自主设计为主,指导教师检查每个阶段的成果,并及时给予反馈意见,对难点问题通过讨论引导学生自行找到解决的办法。

课程设计课程的考核采用小组答辩的形式,每个课题由一人主要汇报演示讲解,其他成员都要求回答问题,这样既锻炼了学生的表达能力也避免了不自觉学生跟风搭车现象。

5 改革评价体系,面向实践和应用,注重过程评价

改变过去期末笔试的考核方式,全面考察编程能力、调试程序能力,推行考教分离,注重过程考核。最终成绩由平时成绩和期末考试成绩两部分构成。平时成绩由平时测验、出勤情况,作业情况,讨论发言情况等确定,期末考试采用的是无纸化网上考试系统,由系统从题库中随机组卷,以编程题为主,重点考察学生的编程能力和程序调试能力,成绩由系统自动判定。避免了过去那种靠期末突击、死记硬背侥幸过关的现象,保证了考核的客观公平,也对学生的平时学习和课堂管理起到了积极的作用。

6 结束语

程序设计教学论文篇6

论文关键词:任务驱动教学,程序设计,教学探讨,高职教育

1引言

VB程序设计是高职院校计算机专业开设的一门专业基础课,开设这门课程的目的是让学生进行入门级编程教育,方便以后进行更深入地学习计算机编程和设计。VB程序设计的特点是界面友好,采用可视化编程技术,“所见即所得”,适合做界面设计和数据库管理。计算机编程是一件枯燥无味和繁琐的应用技术,如果没有强烈的求知欲望和学习兴趣,编程学习难以开展和深入研究。

高职院校侧重于职业教育,生源素质参差不齐,主要是成绩中等偏下的高中毕业生和中职毕业生。通过对高职学生知识能力架构进行统计和测量分析,数据显示,高职学生普遍存在厌学心理,高考的失足是一个沉重的打击,他们对计算机编程学习有强烈的抵触情绪,没有自学意识。激发学生学习兴趣成为VB程序设计教学的首要任务。高职学生虽厌恶理论和教条,但他们乐于动手实际操作,对简单实验和数据分析非常感兴趣,这种群体教育适合开展任务驱动教学。教学实践表明,在完成一个具体项目并投入实际应用时,学生充满了成就感和自豪感,大大提高了学生的主观能动性。

2任务驱动教学设计

任务驱动教学,是指在学习的过程中,学生在教师的帮助下,紧紧围绕一个共同的任务活动中心,在强烈的问题动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习,并在完成既定任务的同时,引导学生产生一种学习实践活动。它以建构主义教学理论为基础。针对任务驱动教学的特点,对课程进行总体目标、内容的整体设计、项目开发详细设计与流程分析等方面进行设置和分析。

2.1课程的总体目标

依据“因材施教”原则,VB程序设计采用多媒体教室或电子教室教学与实训机房上机实践相结合的授课方式。学生在做中学,在学中做,以及边学边做,重点突出技能培养。在突出技能的同时,还重点讲解解决思路和方法。学生通过学习,达到课程的总体目标:

(1)专业能力:了解可视化编程语言VB的特点;掌握面向对象程序设计的基本概念和方法;掌握程序设计常用算法;掌握VB的编程环境、常用的VB标准控件的基本使用方法;通过实验教学环节,熟练掌握VB可视化界面设计方法及相应编程;能够正确的阅读、分析、调试VB程序;达到能用VB设计简单的应用系统的能力。能够与他人合作组成一个小型的项目开发团队并积极主动的完成自己的工作。

(2)方法能力:培养学生的协调沟通能力、活动组织实施能力、语言表达能力、项目策划能力;具备分析问题、解决问题能力;具备资料检索和阅读能力;能够使用Office工具完成文档编写。

(3)社会能力:学生能够吃苦耐劳、保持严谨细致的工作作风;具备团队协作的能力;能够熟练的进行技术交流;使命感和责任感,强烈的自学意识和自学能力。

2.2课程内容的整体设计

在项目的设置上,把VB程序设计课程设置为9个具体开发项目,每个项目作为一个主题学习单元,项目均实行双线学习制,即课堂上教师指导学生完成一个规定项目,课外学生模仿课堂项目再完成一个自选项目。课程共设置72个学时,36个学时理论,36个学时实际操作和教师指导,每个项目占用8个学时。在课程的最后,设置一个综合项目开发的主题学习单元,与前面的学习单元不同的是,它是一个开放的项目,即需要学生自行组建开发团队,每个开发团队自行构思应用程序的类型和内容,明确软件的功能和效果,并完成应用程序的开发,这个主题学习单元可以综合培养学生的团队协作和组织能力,实现知识技术学习与能力培养一体化的目的。部分项目设置如下表:

具体项目

拟实现的能力目标

须掌握的知识内容

学时

……

……

……

……

5.精简版学生成绩管理系统

自定义类型的使用;掌握文件的打开、关闭和读写操作;文件系统控件的使用

自定义类型;文件的概念;访问顺序文件;访问随机文件;访问二进制文件;文件系统控件;

4学时理论+4学时实践

……

……

……

程序设计教学论文篇7

关键词:归纳式教学法;程序设计;创新教学方法

程序设计课程是计算机专业的核心基础课程。关于程序设计课程的创新教学方法研究是我国高校重点关注的课题之一。本文重点研究了归纳式教学法在程序设计课程中的应用,首先介绍程序设计课程创新教学方法的研究现状,之后阐述归纳式教学法对程序设计课程的重要意义,再提出基于归纳式教学法的程序设计课程的若干创新教学方法,最后作出总结。

1.程序设计课程创新教学方法的国内外研究现状

1.1国内研究现状

国内很多大学都在程序设计课程创新教学方法上作出了有益的尝试。例如,文献[1]提出以多媒体课件为主、以多本参考书为辅,演示的程序实例不少于400个。文献[2]采用“案例牵引、项目驱动、团队合作、引导互动”为特征的“做中学”教学模式,按照企业过程标准实际完成一个产品或系统的完整构建过程训练。文献[3]通过启发式提问讲解编程原理和方法,然后讲解案例源码,再引导学生分组讨论。文献[4]以培养工程师的综合品质和创新能力为目标,将基于问题和项目的设计教育贯穿整个工程教育过程。

以上学校都是围绕课程教学的具体方法来进行创新,而九校联盟(C9)则提出,要把培养学生的“计算思维”能力作为计算机基础教学的核心任务,并围绕这一核心任务加强计算机课程体系和教学内容的研究。

1.2国外研究现状

文献[6]提出计算机教学中应综合运用不同学科的方法,包括计算机学科、教育学、社会学、心理学等。文献[7]认为建立正确的思维模式对于学习编程十分重要。学生必须改变原有的思维模式,否则虽然在学,却不能真正理解编程。文献[8]发现很多学生对推理和创新不感兴趣,只看重结果,他们认为应当让学生了解计算机学科不仅是一门技术,更需要发挥聪明才智和创造力。文献[9]提出了一种新的案例授课方法。在一门课程中,每次给学生留作业都使用同一个案例(或背景),但是随着课程的深入,要求学生运用不同的知识点来解决这个案例中的不同问题。这种方法可以节省学生理解案例内容的时间,让学生把精力集中于如何解决问题。文献[10]介绍了一种辅助编程软件Alice 3,可以帮助学生利用可视化环境学习Java编程技术。

2.归纳式教学法及其对程序设计课程的重要意义

我们认为要想创新教学方法,首先必须更新教学理念。美国的普林斯和菲尔德总结了“归纳式教学法”在高等教育中的应用。我们认为归纳式教学法的原理和方法非常适合于程序设计课程。事实上,前述国内高校所采用的“案例牵引”“启发式提问”“基于问题和项目的教学”等都属于归纳式教学法的范畴,只是没有从理论上阐明归纳式教学法对于程序设计课程的重要意义。

2.1归纳式教学法简述

归纳式教学法包括一系列教育方法,如探究式学习、基于问题/项目/案例的学习、发现式学习和即时教学等。这些方法的共同特点是“以学习者为中心”,让学生在学习中居于主导地位,采用多种手段激发他们主动学习的精神。归纳式教学法的一般做法是:先提出一个问题、项目或案例,由学生组成小组在课内或课外进行讨论和研究,提出解决方案,再评价不同方案的优劣,从而归纳出相对正确和有效的方法。在这一过程中,学生通过解决问题自行建构知识体系,教师主要起指导、推动和提供必要信息的作用。

与归纳式教学法相比,在传统教学中,教师居于教学的主导地位,通常先由教师讲解原理、方法等,再让学生掌握并运用这些原理和方法解决问题,这是一种演绎式教学法。在这一过程中,教师把原理和方法作为一种结论灌输给学生,学生只是被动地接受,并不清楚这些原理和方法是如何得出来的,也不清楚为什么一定要使用这些方法而不能用其他方法,因此学生很难真正理解并掌握它们。

2.2归纳式教学法的重要意义

程序设计不仅是一门技术,更是一种思维方式。文献[12]指出计算机基础教学的核心任务是计算思维能力的培养,而学习程序设计是计算思维能力培养的重要内容。我们认为在程序设计课程中引入归纳式教学法,有助于学生更好地理解和掌握程序设计的基本思想,从而逐步建立起计算思维能力。这主要体现在以下几个方面。

2.2.1培养学生的自主学习能力

归纳式教学法十分强调培养学生的自主学习精神和能力。当遇到问题时,学生应当有能力利用各种资源、采用各种方法积极地解决问题。而自主学习能力对于学好程序设计十分重要。学生只有具备了自主学习能力,才能不断地更新知识和技术,使自己成为一个合格的应用型人才。

传统的教学方法不强调这种能力的培养,学生只要能利用课堂上的原理和方法去解决问题就够了。但是对于程序设计,仅靠课堂上讲授的知识往往不足以解决复杂的实际问题。因此,必须强调对学生自主学习能力的培养。归纳式教学法中的探究式学习、基于问题的学习、发现式学习等都提供了培养学生自主学习能力的有效方法。

2.2.2培养学生的创新精神

归纳式教学法十分注重培养学生的创新精神。针对同一个案例或问题,归纳式教学法不会给出统一的标准答案,而是鼓励学生采用不同方法提出多种解决方案。这种方法非常适合程序设计教学。因为在程序设计中,针对某一问题往往没有唯一的解决方案。学生应根据不同的环境背景,提出一种或几种比较适合的方案。这就要求学生具备足够的创新精神。

传统教学中,仅靠教师在课堂上讲解一个个知识点不利于培养学生的创新精神。而归纳式教学法中的很多方法,如基于案例/项目的学习等,有助于培养学生的创新精神。

2.2.3通过实践提高学习效率

实践对于学好程序设计意义重大。学生只有通过大量的实践才能真正理解并掌握程序设计方法。归纳式教学法就十分强调学生的实践。例如,归纳式教学法中的即时教学法要求学生先独立回答一些问题,教师从中发现学生易犯的错误和存在的问题,然后有针对性地讲解。将这种方法应用到程序设计教学中,可以使学生认识到自己易犯什么错误,并通过改正这些错误而进一步增强对所学知识的理解。

相比之下,在传统教学法中,教师虽然对每个知识点都详细讲解,但学生们却不容易真正掌握。例如,Java中的switch语句只接受几种固定的数据类型,但仅靠学生死记硬背很难记住,相反,让学生上机实践一次,甚至错过一次,学生自然就会记住了。类似现象在程序设计课程教学中很常见。

3.基于归纳式教学法的创新教学方法

归纳式教学法的总体原则适用于程序设计教学,但具体方法不宜照搬。我们在教学实践中以归纳式教学法的基本思想为指导,在完善案例教学、加强学生实践、改革考试方式等方面提出了若干创新教学方法。

3.1完善案例教学

传统教学中,教师先讲解知识点,后讲解案例。学生在学习知识点时,缺少感性认识,往往不知所云,教学效果不好。我们依据归纳式教学法的原理,对案例教学做出了几点改革。

一是将案例提前。每次上课首先提出一个案例,通过讲解这个案例引出将要学习的知识点。这样学生对新知识点会有一个感性认识,了解某一知识点在整个程序中的具体用途和用法,比较容易理解和吸收。二是提供完整的案例。每次讲解案例时,不是仅截取一段程序演示,而是从某一具体的问题或需求出发,讨论如何解决这一问题,再在计算机上演示完整的程序,直至运行、输出结果。这样可以让学生对编程的完整过程有所了解,有助于对程序的理解。三是开设案例讨论课。每月开展一次,预先将案例交给学生分组准备,课堂上每组学生演示自己的程序,然后组织学生讨论,最后教师点评。

3.2加强学生实践

大量的实践对于学好程序设计是至关重要的。教师反复讲解,不如让学生实践一次。但是实践不能仅考虑数量(例如编写多少行代码)。我们提出除了要保证代码量外,还应做到以下几点:

一是尽量提前实践开始时间。学生开始上机实践的时间越早越好。即使学生还没有学习编程方法,也可以先熟悉一下编程环境,熟悉如何建立文件或试着写几行代码等。二是保证实践机会。我们应尽量让学生在需要实践的时候能够实践。教师刚讲解完知识点时立刻让学生实践,这时的效果最好。我们在课堂上总是留出一部分时间让学生分组编写程序,然后选出1-2组演示程序。教师根据演示情况随时予以点评,并针对易犯的错误深入剖析。三是鼓励学生每天做一点编程练习。理论上,学生都知道程序设计必须实践,但实际上并不了解具体的实践方法和步骤。我们提倡学生天天编程、日日练习,这对学生来说是可行的、具体的。在这一过程中,学生逐渐养成编程实践的习惯,并体会到只有经过日积月累的实践,才能提高程序设计的能力。

3.3改进考试方式

在考试方式上,国内教师较多地采用传统的客观题考试方式(如选择题、填空题等),国外教师则尝试采用小组考试。我们认为这两种方式都不适合国内的程序设计教学。在期末考试中,我们采用的仍是单独考试,但仅考编程题和简述题,不考客观题。这种方式更符合程序设计课程的培养目标,即培养应用型的程序设计人才,强调编程能力,而不是死记硬背。学生学习都是以考试为导向的。如果我们考察的是编程能力,学生平时就会更积极地进行编程练习,而不会死记硬背概念和语法。

4.结语

归纳式教学法是与传统的演绎式教学法完全不同的一种教学方法,它不是直接提供结论,而是先提出问题,让学生通过解决问题自己归纳出相对正确的方法。归纳式教学法有助于培养学生的自主学习能力和创新精神,因此十分适合于程序设计教学。

我们依据归纳式教学法的基本原理,在完善案例教学、加强学生实践、改进考试方式等方面提出了若干创新教学方法,取得了较好的教学效果。以Java程序设计相关课程为例,根据调查,77%的学生认为课堂上的程序实例对于他们理解Java“很有帮助”或“有帮助”;85%的学生认为考查编程能力更能体现他们的学习水平。这说明我们的改革方向是正确的,符合学生的需要。

程序设计教学论文篇8

中图分类号:G642

0 引 言

在计算机及相关专业课程中,面向对象程序设计类课程是学生必修的核心课程,在整个培养方案中,面向对象程序设计课程占据着举足轻重的地位。面向对象的程序设计思想从提出到现在,一直是程序开发的主流思想,在未来很长一段时间也将是一种主要的编程思想,是所有计算机软件开发人员必须掌握的关键技术。

根据国家对应用型人才的培养标准,在实践教学过程中应当先明确对应用型人才的基本要求,主要体现在以下几个方面:①具有较强的文化素质,专业基础知识掌握较好,能够掌握计算机学科主干课程的内容;②实践动手能力强,能够快速掌握软件、硬件的使用,充分理解计算机运行机制;③具有很强的分析问题、解决问题的能力;④要掌握一门或多门程序设计类语言,并充分理解程序设计原理,特别是面向对象程序设计的思想。

1 面向对象程序设计类课程在教学中的问题

1.1 教学目标不明确

理论课与实验课泾渭分明,使理论课的知识难以运用到实验课中,造成了难以学以致用、学用脱节的状况,在实验中不能达到巩固理论和检验理论的目的。

面向对象程序设计课程不是单纯的理论讲解,其主要目的是增??学生的程序设计能力。首先需要选用适合的理论课教材,然后配合教材设置实验课内容,使实验课和理论课相辅相成。

1.2 教学内容陈旧

面向对象程序设计课程通常包括编程语言语法、面向对象程序设计、标准类库等内容。课程涵盖的教学内容很多,但存在实际教学课时过少的问题。同时,面向对象语言课程学习难度比较大,包含各种不同需求的应用框架,而传统的教学内容主要偏向基本理论学习,导致学生不能真正掌握面向对象的核心思想,对知识点理解困难,学习热情降低,教学效果不够理想[1]。

移动互联大背景下应用开发的理论与实践教学模式,要求学生既要掌握扎实的计算机理论知识,又要掌握大数据、云计算等新理念、新技术。学生只有结合教学实践,学习运用新技术,提高知识储备,才能提升自己的实践开发能力和项目管理能力。

1.3 程序设计类课程缺乏连贯性和一致性

当前面向对象理论教学中各章节之间的关联性较小,实践操作注重验证性实验,且前后实验没有连贯性和一致性,导致学生不能整体把握面向对象程序设计思想,缺乏对面向对象思想的宏观认识,实践动手能力很难提高,更没有参与大型软件项目的能力。

考虑到近年来,云计算、移动互联网、大数据、人工智能等技术的飞速发展,计算机专业毕业生的就业市场前景广阔。这对高校计算机专业学生培养,尤其是计算机软件开发人员培养来说,既是机遇也是挑战。

2 教学改革的措施和方法

2.1 合理组织教学内容

在实践教学的初始阶段和中间阶段,按照学生对事物的普遍认知规律,可以采用从宏观到具体的认识方式,合理组织教学内容。首先,通过一个或多个覆盖知识点广的应用程序,让学生构建对面向对象程序设计课程较完整的认识[1],提高学生学习编程设计的兴趣。然后,把实际应用程序各部分功能的实现原理,合理分解到教学的各章节知识结构中,使学生建立整体概念,然后逐步细化,掌握知识点,由点到面、由浅到深地学习。这种层次化的学习方式,能够满足学生学习课程的兴趣。实践证明,带有目的性的教学,能够有效提高学生的学习效率。在教学的最后阶段,要求学生在掌握全部知识后进行总结,构建宏观的程序设计思维,利用掌握的知识和方法重新思考教学初期提供的完整程序,并鼓励学生动手解决类似问题,以实现对知识的融会贯通,进而提高学生的实践能力。

2.2 激发学生的学习兴趣

兴趣是最好的老师。在实际教学中,只有激发学生主动学习的热情,才能获得更好的教学效果[2]。教师在安排教学内容时,需要注重以下几点。首先,要注重学生对面向对象程序设计类课程的第一印象,在第一堂课上激发学生对该课程的兴趣。比如C++程序设计教学,在第一堂课上教师给学生演示常用的软件程序(QQ、微信、游戏等),让学生认识到这些程序就是将要学习的内容,学习完本课程也能写出如此实用的程序 [1]。其次,在往后的教学中,要避免照本宣科地给学生解释知识要点,特别是比较枯燥、难以理解的知识点,例如继承、多态,可以通过生活中的类似案例来讲解,不仅让学生明白编程语言的思想来源于生活,更能加深学生对知识点的理解。最后,在课程结束前,带领学生重新学习第一堂课的内容,介绍知识点在具体程序中如何运用,使学生明白课堂所学的知识点是构成复杂程序的基本元素。学生在课程学习完成后,要注意归纳总结,深入理解面向对象的核心思想,在实践中不断提升自己的动手能力。

2.3 教学方法改革

在实际教学中,应当以学生自主思考学习为主,教师起指引方向和介绍方法的作用,调动学生积极性,让学生敢于表达自己的见解。教师可以引导学生相互讨论[3],让学生成为课堂的主角。程序设计是一门实践性强的课程,当学生做课程设计遇到错误时,教师要真正给学生讲清楚错误的原因,让学生动手调试,错误能够加深学生对知识点的理解。同时,每做完一个任务,教师就要对学生进行评价,站在学生的角度,帮助学生理清思路。这样,学生不仅可以清楚问题的本质,还能获得更多的自信,增强对程序设计课程的学习兴趣。

2.4 教学手段改革

针对面向对象程序设计课程抽象不易理解的特点,在实践教学中可以采取多媒体的教学方式,有利于学生对知识点的理解。教师借助网络通信工具,通过开设微信和QQ课程学习交流群[4],鼓励学生相互帮助。学生遇到问题,可在交流群中提出,请其他学生回答问题。对有见解、态度端正的学生,可以给予奖励, 以构建良好的学习氛围。课堂时间有限,教师在课余时间可以通过网络通信工具加强与学生的沟通交流,给学生发送课件、参考书、源代码等资料,以弥补课堂课时太少的问题[5]。同时,要注重利用网络资源,例如MOOC、网易云课堂等在线学习资源,鼓励学生自主学习。

2.5 课程评价改革

合理的课程评价是对学生学习效果的客观反映。面向对象程序设计是一门实践性很强的课程,课程评价要采用全面的评价方式,结合学生的课堂表现,对学生的程序设计能力做出评价。针对面向对象程序设计课程的特点,可以根据学生的课堂表现、课程设计和综合程序等几方面综合评价。课堂表现可以在回答问题次数、上课出勤率、课后作业完成等方面对学生进行评价;课程设计考核可以通过参与课程设计次数、课程设计报告质量、实验代码质量等方面考核;综合程序练习可以通过团队成员互评、程序验收答辩、项目综合评价等给学生打分;最后再综合这几方面的分数,给出一个能够真实反映学生程序设计实践水平的分数评价,更好地激发学生的学习热情,实现学生专业技能和学科应用能力的提升。

2.6 面向需求设置实验教学内容

在教学中,首先要注重讲解理论知识,但更要注重将面向对象程序设计中的理论知识与具体程序设计相结合,让学生在实践中强化对理论知识的理解,提高学生分析、解决问题的能力,并培养学生对程序设计的兴趣。

在面向?ο蟪绦蛏杓平萄е校?将配套一个完整的面向需求的实验设计。课程实验设计基于MASON仿真平台,MASON是由George Mason大学用Java开发的离散事件仿真库,全称为Multi-Agent Simulator of Neighborhood[6]。选择MASON平台是因为该平台的设计具有以下优点:①性能高效,MASON的设计思路是为了使软件更小且运行速度更快;②易上手,MASON仿真平台操作简单,官方亦提供了完整的操作文档,即使初次接触面向对象课程的学生也能快速入门,不必花费过多时间了解框架平台的使用方法,可将学习精力集中在程序设计,更好地将课程知识运用到实践操作;③拥有可视化GUI选项,MASON仿真平台提供了GUI接口,方便操作者使用[7]。根据学生反馈,在初次接触面向对象程序设计时,就能自己动手写出带有GUI的程序,更容易提升对面向对象程序设计的兴趣和学习热情。

在教学实验中,参考面向对象程序设计教学内容和MASON平台的特点,笔者设计了配套的课程实验,实验题目见表1。学生在课程初期可以根据兴趣选择一个实验题目,独立完成实验。随着课程不断进行,对实验的程序设计要求由浅入深、层次推进,每个阶段将需求与最新的知识点相结合,既深化了课堂的理论知识,又强化了动手能力和解决问题能力,让学生切身体会到面向对象程序设计的优点。

具体来说,应采用从整体到局部的方式组织教学内容,将课程分为4个层次:①面向对象语言基础;②类与对象,继承与派生;③设计模式;④软件工程理论及大型软件的研发和维护。在教学中将围绕这4个层次的知识体系进行课堂教学和实验设计。随着理论教学的推进,学生在课堂和试验中学到的知识越来越多,实验也将逐步扩展成为一个小型项目,完成对学生程序设计综合能力的训练。

教学实验的设计将采用滚雪球的叠加方式[8],设计思路见图1。实验的设计应该将不同层次的知识点贯穿起来,随着知识层次的深入,将现阶段实验逐步迁移到下一知识层次,并不断对实验提出新的要求和改善目标。表2是其中一个实验的概要设计描述。

在实验课程的实际运行中,还将对实验的管理、考核方式进行改革。实验课程的时间安排将采取分阶段检查的方式,每一阶段在前一阶段已完成的情况下,由教师对当前的阶段性成果进行评估;然后再根据实验选题设置新的需求或对已完成的需求提出修改,让整个实验进度循序渐进,由易到难;最终将综合各个阶段的成果进行综合考核,将实验考核分数作为最后总评成绩的重要参考之一。

3 结 语

上一篇:传热学论文范文 下一篇:案例驱动法论文范文