时间:2023-03-07 15:21:09
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇计算机程序设计论文范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
1引言
遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。总的说来,遗传算法是按不依赖于问题本身的方式去求解问题。它的目标是搜索这个多维、高度非线性空间以找到具有最优适应值(即最小费用的)的点[1]。
基本遗传算法是一个迭代过程,它模仿生物在自然环境中的遗传和进化机理,反复将选择算子、交叉算子和变异算子作用于种群,最终可得到问题的最优解和近似最优解。
2遗传算法程序设计改进比较
2.1基本遗传算法对TSP问题解的影响
本文研究的遗传算法及改进算法的实现是以C++语言为基础,在Windows2000的版本上运行,其实现程序是在MicrosoftVisualStadio6.0上编写及运行调试的。
1)遗传算法的执行代码
m_Tsp.Initpop();//种群的初始化
for(inti=0;i<m_Tsp.ReturnPop();i++)
m_Tsp.calculatefitness(i);//计算各个个体的适应值
m_Tsp.statistics();//统计最优个体
while(entropy>decen||variance>decvar)//m_Tsp.m_gen<100)
{
//将新种群更迭为旧种群,并进行遗传操作
m_Tsp.alternate();//将新种群付给旧种群
m_Tsp.generation();//对旧种群进行遗传操作,产生新种群
m_Tsp.m_gen++;
m_Tsp.statistics();//对新产生的种群进行统计
}
2)简单的遗传算法与分支定界法对TSP问题求解结果的对比
遗传算法在解决NPC问题的领域内具有寻找最优解的能力。但随着城市个数的增加,已没有精确解,无法确定遗传算法求解的精度有多高。一般情况下,当迭代代数增大时,解的精度可能高,但是时间开销也会增大。因此可以通过改进遗传算法来提高搜索能力,提高解的精度。
2.2初始化时的启发信息对TSP问题解的影响
1)初始化启发信息
在上述实验算法的基础上,对每一个初始化的个体的每五个相邻城市用分支界定法寻找最优子路径,然后执行遗传算法。
2)遗传算法与含有启发信息的遗传算法求解结果的对比
当城市数增至20个时,用分支定界法已经不可能在可以接受的时间内得到精确的解了,只能通过近似算法获得其可接受的解。试验设计中算法的截止条件:固定迭代1000代。表2中的平均最优解为经过多次试验(10次以上)得到的最优解的平均值,最优解的出现时间为最优解出现的平均时间,交叉操作次数为最优解出现时交叉次数的平均值。
表220个城市的TSP问题求解结果数据
算法交叉操作
次数最优解
出现时间平均
最优解
简单遗传算法80244.479.4s1641.8
含初始化启发信息的GA79000.237.4s1398.9
从表2中可以看出,当初始种群时引入启发信息将提高遗传算法的寻优能力。同时缩短了遗传算法的寻优时间和问题的求解精度。
2.3交叉算子对TSP问题解的影响
1)循环贪心交叉算子的核心代码
for(i=1;i<m_Chrom;i++)
{
flag=0;
city=m_newpop[first].chrom[i-1];//确定当前城市
j=0;
while(flag==0&&j<4)
{
sign=adjcity[city][j];//adjcity数组的数据为当前城市按顺序排列的邻接城市
flag=judge(first,i,sign);//判断此邻接城市是否已经存在待形成的个体中
j++;
}
if(flag==0)//如果所有邻接城市皆在待扩展的个体中
{
while(flag==0)
{
sign=(int)rand()/(RAND_MAX/(m_Chrom-1));//随机选择一城市
flag=judge(first,i,sign);
}
}
if(flag==1)
m_newpop[first].chrom[i]=sign;
}
2)问题描述与结果比较
下面笔者用经典的测试遗传算法效率的OliverTSP问题来测试循环贪心交叉算子的解的精度和解效率。OliverTSP问题的30个城市位置坐标如表3所示[2]。
从表4、图1中可以看到,贪心交叉算子大大提高了遗传算法的寻优能力,同时也降低了交叉操作次数。在多次试验中,贪心交叉算子找到的最优解与目前记载的最佳数据的误差率为2.7%。而部分匹配交叉算子找到的最优解与目前记载的最佳数据的误差率高达7%。从而可以得到交叉算子对于遗传算法
2.4并行遗传算法消息传递实现的核心代码
1)主程序代码
//接收各个从程序的最优个体
for(i=0;i<slave;i++)
{
MPI_Recv(Rchrom[i],chrom,MPI_UNSIGNED,MPI_ANY_SOURCE,gen,MPI_COMM_WORLD,&status);
}
//计算接收各个从程序的最优个体的回路距离
for(i=0;i<slave;i++)
{
fitness[i]=0.0;
for(intj=0;j<chrom-1;j++)
fitness[i]=fitness[i]+distance[Rchrom[i][j]][Rchrom[i][j+1]];
fitness[i]=fitness[i]+distance[Rchrom[i][0]][Rchrom[i][chrom-1]];
}
//找到最优的个体并把它记录到文件里
for(i=0;i<slave;i++)
{
if(1/fitness[i]>min)
{
sign=i;
min=1/fitness[i];
}
}
fwrite(&gen,sizeof(int),1,out);
for(i=0;i<chrom;i++)
fwrite(&Rchrom[sign][i],sizeof(unsigned),1,out);
fwrite(&fitness[sign],sizeof(double),1,out);
//每九代向从程序发送一个最优个体
if(gen%9==0)
MPI_Bcast(Rchrom[sign],chrom,MPI_UNSIGNED,0,MPI_COMM_WORLD);
2)从程序代码
//将上一代的最优个体传回主程序
MPI_Send(Rchrom1,chrom,MPI_UNSIGNED,0,gen,MPI_COMM_WORLD);
//每九代接收一个最优个体并将其加入种群中替换掉最差个体
if(gen%9==0)
{
PI_Bcast(Rchrom2,chrom,MPI_UNSIGNED,0,MPI_COMM_WORLD);
Tsp.IndiAlternate(Rchrom2);
}
//进行下一代的计算
Tsp.Aternate();
Tsp.Generation();
Tsp.Statistics();
3)并行遗传算法的性能
笔者在MPI并行环境下,用C++语言实现了一个解决TSP问题的粗粒度模型的并行遗传算法。该程序采用的是主从式的MPI程序设计,通过从硬盘的文件中读取数据来设置染色体长度、种群的规模、交叉概率和变异概率等参数。试验环境为曙光TC1700机,测试的对象是OliverTSP问题的30个城市的TSP问题。
正如在测试串行遗传算法所提到的数据结果,并行遗传算法也没有达到目前所记录的最好解,但是它提高了算法的收敛性,并行遗传算法的收敛趋势如图2所示[4]。
图2遗传算法的收敛过程
3结束语
本文通过对基本遗传算法的不断改进,证明了添加启发信息、改进遗传算子和利用遗传算法固有的并行性都可以提高遗传算法的收敛性,其中对遗传算法交叉算子的改进可以大大提高遗传算法的寻优能力。
参考文献
[1]刘勇、康立山,陈毓屏著.非数值并行算法-遗传算法.北京:科学出版社1995.1
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的相关系数,说明力学、热学课程成绩对计算机程序设计课程成绩有一定的影响,但影响并不是特别显著,有一定的正相关性,但相关性并不是特别高,计算机程序设计课程成绩还受其它因素的综合影响。
一、引言
近年来,随着科技的进步,各行业对计算机技术的应用越来越普及,为适应社会对高层次人才的需求,各高校也在非计算机专业加强了计算机知识的教学,在一些理工科专业中开设了计算机公共基础课程,并进一步提升了程序设计课程的重要性。另外,程序设计课程是高职高专院校计算机专业的专业基础课程之一,它不仅可以培养学生的编程能力,增强学生的逻辑思维能力,还是学生学习好后续专业课程的前提和保障。
为了将学生顺利地领进计算机程序设计语言的大门,为了培养和训练学生的逻辑思维能力和编程的实际动手能,为了取得较好的教学效果和提高教学质量。笔者通过近年来的教学经验,对程序设计课程教学中存在的实际问题做个分析、在教学思路与教学方法上提出一些建议。
二、教学中存在的问题
1、学习目标不明确,兴趣不浓,积极性不高
由于高职院校学生的入学成绩相对较低,学习基础和学习能力相对较差,对知识的渴望程度有限,在没有明确的学习目标指引下,很难学好一门课程。免费论文参考网。在教学中本人发现,有很多学生不清楚学习程序设计语言课程的重要性,认为程序语言设计课程与他未来的工作毫无关系;有些学生认为学习程序设计语言太枯燥,不如学习多媒体或网络的一些课程;有些学生是因为学习程序设计需要较强的逻辑思维能力和一定的数学、英语基础,因而在学习程序设计时显得力不从心,不能掌握应用计算机解题的基本思维方式,对计算机程序设计产生畏惧感,知难而退。
2、教学方式呆板,教学内容陈旧
在教学过程中,有许多教师仍在沿用传统的教学方法,偏重知识的传授,忽视能力的培养。课堂上往往只是知识的传授者、灌输者,以教师作为课堂的中心,以广大学生为讲授对象,教师一边讲解教学内容,一边进行演示,课堂气氛沉闷,师生间缺乏互动沟通,课堂上留给学生练习的时间偏少,忽视了学生的认知主体作用,无法激发学生的积极主动性,所有学生被迫按照老师的讲授速度进行学习,不利于培养思维能力与创造能力,多数理论停留在纸上谈兵的阶段。
教材内容陈旧、枯燥,脱离课程教学目的,脱离实际。有些教师往往把很大的精力甚至是主要精力放在程序设计语言的语法规则和语义上,不自觉地把“程序设计”课变成“程序语言”课,在考查方式上也常常是一张试卷决定该课程的成绩,导致了学生学习精力的偏移教材中的例题和习题大都是立足于程序语言本身的语法规则,与现实生活相差太远,致使部分学生觉得学习编程语言是一件枯燥的事。
3、过于注重理论学习而忽略了编程实践能力
在高职院校中,非计算机专业的程序设计语言课程的课时量往往很少,例如我校安排的理论课时和实践课时加起来总课时为64课时。在教学过程中,很多老师由于受到课时的限制,无法按照正常进度讲授完所需的课程知识,或者无法对知识进行详细展开讲解,只好占用上机时间讲授理论知识,导致学生过度重视课本上的理论细节的东西,忽略问题的整体结构,轻视实验课上的上机操作。
三、提高语言程序设计教学质量的几点思考
1、努力培养学生学习兴趣
对于计算机程序设计语言而言,由于许多学生在进入大学以前并未接触过它,所以,他们会认为计算机语言很深奥、很难学,导致对计算机语言的学习缺乏信心。教师应该采取适当的方式激发学生的积极性和自信心。
“兴趣是最好的老师”, 因为高职学生有基础较弱自律性不强的特点,所以在讲授语言程序设计课时更应该优先考虑如何调动学生的积极性,激发学生的学习兴趣,点燃他们的学习热情。所以在上课伊始应该向学生介绍作为 21世纪的大学生在计算机应用方面的要求,以及计算机应用对于他们今后就业的影响以及工作中的用途。另外,在刚进行计算机语言教学时,不易涉及难度大、不易理解的内容,要突出趣味性、易学性,降低学生对新事物的困难感。可在课堂上当场编写一些小程序、小游戏,并进行演示,以调动学生的兴趣和积极性。
2、采用灵活多变的教学方法
1)实例教学法
教师根据本节课的教学目标,确定本节课的教学目的,然后再精选具有一定代表性的、能涵盖本节课要讲的知识点的案例程序,通过对案例程序的简单讲解引出本节课要讲的语法知识,运用语法反过来分析程序的运行结果,根据程序的执行过程分析程序的功能,根据程序的功能反过来分析编程思路,理解了上述编程思路后,运用这种方法结合原程序结构再来完成一系列类似程序的编写。
下面以本人C语言课程中“for 语句”的教学过程为例,详细阐述一下运用实例教学法如何来实施课堂教学。
①根据本节课在教学大纲中的要求:熟练掌握for语句的使用,利用任务驱动的方式为本节课设定任务。(任务:求1-100之间所有的奇数和)
②精心选择案例程序。
③以案例程序引入本节课的for语句的语法知识,介绍for语句的一般形式,讲解for语句的执行过程。
④通过前面两项的讲解,将所学知识运用到案例中去,画出程序执行的实际过程,从而得出程序运行的结果。
⑤针对案例进行编程思路上的分析,让同学们真正地理解各变量及表达式在for语句中所起的作用,以便于他们今后独立编写程序。
2)比较归纳法
程序设计语言中有很多的定义、概念、语法规则,它们的使用灵活,功能强大,但是难以记忆。教师可以通过比较归纳的方法将这些概念、语法归类,使学生获得的零散知识系统化,对知识理解的更深刻,掌握得更牢固。
下面还是以本人C语言课程为例,在讲解完指针这一章后,及时归纳和总结指针的数据类型是至关重要的。学生们普遍反映这样一个问题,前面的章节学得挺明白的,一到了指针这一章就开始糊涂起来。而指针又是C语言的一个重要概念,也是 C语言的一个重要特色,如果不掌握指针就是没有掌握C的精华。免费论文参考网。所以在教学中一定要提醒学生,在学习本章内容时要多思考、多比较、多上机,应用的时候应十分小心。
3、突出上机实践的重要地位,加强操作环节教学指导
为了锻炼学生解决较大型复杂问题的能力,老师在安排实验课内容时,可以布置一个大题目作为长期任务,再按不同功能模块分解开来,形成一个个短期任务。每次实验课要求学生完成其中一个或几个简单的功能模块,这样,每次实验课就好像一条铁链上的一个个铁环,紧密联系。仅以VF语言课程教学中的“学生信息管理系统”为例,把这个系统作为一个长期任务,然后把这个系统划分为若干个小的模块。免费论文参考网。比如输入输出学生信息、添加学生信息、修改学生信息、查询学生信息等模块。这样,当学生完成每一个功能模块后,便发现原来自己实现的是一个复杂的程序。通过这种方法,一方面可以大大降低学生对大型复杂程序的惧怕心理,另一方面也可以培养学生结构化程序设计方法的思想。
四、结束语
程序设计语言课程作为高职院校学生的计算机基础课程,直接影响到学生的后续课程的学习以及未来就业中的实践能力,所以在为高职院校的学生讲授该课程时,一定要从内因和外因两方面进行深入研究学生的状况,合理利用教学环境中的各种教学资源,注重以兴趣为导向设计教学内容,并且采用有效的教学方法,这样就能够使该门课程的教学质量上一个台阶。
参考文献
[1] 谭浩强.C 程序设计[M] .北京:清华大学出版社, 2004.
[2] 杨延广.对高职程序设计课教学方法的研究与探讨.高教论坛,2006(2).
二、我校的计算机基础教育新旧课程结构的比较
根据高等教育的发展,对我校非计算机专业的计算机基础教学提出了新的要求,相应的课程体系改革为:计算机基础分为大学计算机基础、计算机技术基础和计算机应用基础三个层次,为必修课或选修课。其中:理工类建议选择C语言程序设计、java语言程序设计等,文科类选择VB程序设计、web程序设计等;第四、五学期各专业可根据专业培养需要选择。同时为了使同学们能更好的掌握知识,将《C语言程序设计》《java语言程序设计》《VB程序设计》《web程序设计》《动漫设计》课程分为两个学期完成,称为《C语言程序设计(1)》《C语言程序设计(2)》,其他课程以此类推。
三、教改具体措施以及效果
(一)全程机房教学,增强动手能力
教学方法是为实现教学目标、完成教学任务所采取的措施。传统的三中心(教师、教材、课堂)教学方法既不适应社会发展的需求,也不符合计算机教育的特色,必须改革。我校的《大学计算机基础》由原来的课堂教学,改为全程机房教学,使同学们在边听教师讲解的同时,可以直接上机进行操作,在学习理论知识的同时,可以立刻得到对计算机操作的感性认识。通过三个学期的教改实践,完善了全程机房教学模式,对同学们使用计算机的动手能力有很大的提高。
(二)配套教学软件,提高学习能力
本课程组为《大学计算机基础》课程开发了一个《大学计算机基础辅导练习系统》,该系统分为抽题模块、答题模块、判卷模块,本系统为C/S结构,当管理员在服务器端设置好本次模拟练习的题型比例后,系统自动生成一套模拟试卷;所有的同学们可以在客户端进行答题,当答卷完毕时,由服务器端自动进行判卷并将本次练习的结果反馈给同学们;该系统可以提供给学习本课程的同学们经过教师的指导后,在课堂内外自行进行练习。以便同学们完成练习后,自己可以评判自身的学习程度,并在下一阶段的课内外学习中调整自己的学习状态。本系统已经提供给2005级大一学生进行了初步使用,体现了较好的作用。
(三)开发网络平台,整合教学资源
本课程组在调研了周边各高校的计算机基础教育的情况,开发了一个本校的《计算机基础教育中心教学平台》,在本教学平台上,提供了基础部课程的相关介绍,教学信息的,教学资料的下载等等功能,可以提供给任课教师所任课程重点难点详细介绍。对课堂教学起到了很好的补充作用,方便了同学们在课余时间继续学习计算机基础课程。在本课题的后续时间里,拟设计开发计算机基础教学课程的基于校园网教辅系统,使得同学们可以开展课余时间自由学习。该平台具有以下优点:①发挥以计算机为基础的现代多种媒体的作用,使教学信息组织超文本化。多媒体的超文本特性可实现教学信息最有效的组织与管理。②在培养高级认知能力的场合中,因特网和校园网是协作学习的主要形式,实现了协作式教学。③教学过程的生动性是多媒体计算机的强大魅力之所在。在教学中可以同样重视教与学这两个部分。强调学生的参与意识,教与学成为两个相辅相成的部分。调动学生学习的主动性,培养学生的“发现式”学习能力,使学生不仅学会,而且会学。④在短时间里要获得大量的信息与知识,这在传统的教学模式中是可望不可及的,而以多媒体网络作为传播信息的渠道,使教师与学生、学生与学生之间,可以同时传播大量的信息,大大提高教学效率。
(四)编制多媒体课件,增加课堂吸引力
根据我校计算机基础教学的实际情况,我们重新编制了《大学计算机基础》《计算机程序设计A》《计算机程序设计B》的电子课件,使之更符合我校的实际教学情况,更符合浙江省计算机等级考试的要求。其中《计算机程序设计A》课件获得中国计量学院首届多媒体课件竞赛二等奖。改编后的课件具有以下优点:界面清晰、美观,结构清晰,例题丰富、并附有书本外的课后习题。
(五)出版教辅材料,同步教学改革
根据高等教育中对计算机基础教学提出的新要求,和结合浙江省计算机等级考试的要求,本课题组编制了《C语言程序设计实验与习题指导》面向21世纪高等院校计算机系列规划教材,该教材由“科学出版社”出版,并于2005~2006学年第二学期开始投入我校、浙江工业大学等高校使用;根据我校学生应考浙江省计算机等级考试的需要,本课题组编制了《C语言辅导与讲义》、《VB程序设计辅导与讲义》,并与2005~2006学年第一学期开始投入使用,学生们反映良好。
(六)开发考试系统,改革测试手段
计算机基础课程是一门应用技术学科,主要凭试卷来检测大学生的学习效果,并不能完全反映出学生的实际能力。而且试题类型目前多是测试学生对所学知识是否了解,不是考核学生解决问题的能力,并没有挣脱应试教育的樊笼,严重影响了创新型人才的培养。现在这种考试方法,使得学生为了考试而学习,不能提高学生学习的积极性,不能发挥学生的创造力,这种考试方法与素质教育大相径庭。本课题组开发了《大学计算机基础上机考试系统》,本系统具有抽题功能、答题功能、判卷功能、存储功能、输出功能,对其中的实践部分从以前的“纸上谈兵”改为“上机实战”。其中的判卷功能、存储功能、输出功能也使得该课程实现无纸化考试,该考试系统于2004~2005学年第二学期开始投入使用。新的考核方法给了学生一个发挥才能的空间,变被动的死记硬背为灵活的实践操作,使学生成为知识的主人。
四、实际作用与效果
中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 05-0000-01
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
一、物理学与计算机的密切关系
电子计算机是因解决物理问题的需要而产生的,二次大战期间为了快速计算弹道,被公认为世界第一台电子计算机ENIAC于1946年研制成功,万维网的出现是因欧洲核物理学家们进行学术交流的需要而设计出来的。由此可见,计算机与物理学的关系是非常密切的,物理学的发展促成了计算机的产生与发展,计算机的出现是二十世纪最伟大的科学技术成就之一,它延伸了人们的思维能力,成功地解决了很多物理、数学等方面的难题,没有计算机就不可能准确计算出火箭和卫星的轨道位置、就没有今天的航天成就,计算机应用跨越各个学科,在工业技术、企业管理、情报信息处理、国民教育等领域引起深刻的变革,在今天几乎没有哪一个学科能够离开计算机的应用。
作为孕育计算机诞生与发展的物理学,如果说早期物理学应用计算机主要解决人们的计算速度、强度的技术问题,那么到了今天,计算机已在更深刻的层次上促进物理学的发展,由于在物理学很多领域中能够找到精确解的理论问题已经不多了,剩下的是大量的复杂的非线性问题,对这些问题的分析、预测和求解离开计算机,人们几乎无能为力了。另外一个方面,在计算机出现之前,人们只能够通过真实的实验来验证物理理论的正确性、工程中也往往需要耗费巨额资金做实验来探测某些数据和验证方案的可行性。而今天很多实验可以通过计算机仿真实验来完成,达到与真实的实验完全相同的效果,成本低廉且安全环保,用计算机来进行科学实验是科学技术史上革命性的变化。
物理学与计算机科学互相促进、共同发展的情况对我们今天的物理教学提出了更新更高的要求,物理学的教学内容、教学手段和教学方法必须与时俱进,适应新形势的要求。
二、物理教学中结合计算机教学的一些思考
大学物理课内容很多,结合不同的专业,在保证教学大纲的基本要求的前提下,内容上作一些必要的取舍,针对计算机科学技术和应用等相关专业,教学内容上适应地向专业倾斜,使基础课更好地为专业课服务,明确基础课的服务目标,让学生明了物理课程对后续专业课程的重要性,提高学习的积极性和主动性,以取得良好的学习效果,具体做法以下几方面进行:
(一)精选典型物理问题用计算机编程求解
大学物理课程一般在大一的下学期和大二的上学期进行,而大多数专业的计算机程序设计课程也恰好在此阶段展开,这就为物理课与计算机程序设计课相结合创造了有利条件。根据物理教学的不同阶段,可以精选一些典型的物理问题用计算机编程进行数值求解。例如在力学部分讲抛物运动时,先按教材讲授忽略空气阻力时的运动方程,求出精确解,然后补上空气阻力二次项,方程就变成非线性的了,让学生体验含有空气阻力时实际问题求解的难度,再介绍计算机数值计算的方法与思路,给出编程示范,作为综合习题让学生完成程序设计与调试,并与计算机程序设计课教师协商,程序调试可利用计算机上机课时间完成,通过这种方式,理论联系实际,既培养锻炼了学生解决实际问题的能力,又提高了学生学习物理课和学习计算机程序设计课双方面的积极性。又例如在振动学章节用计算机演示单摆大角度强迫振动的混沌效应;在热力学章节用计算机模拟二维布朗粒子运动;在电磁学章节用计算机编程求解一般位置的电场和磁场分布情况,像载流圆形线圈,根据毕粤--萨伐尔定律和对称性,教材上只给出了求线圈轴线上点的磁感应强度,但对其它位置的磁场分布情况计算就很难了,因此可在课堂上简单介绍计算机积分法,要求学生在此基础上利用计算机完成求解圆形电流非轴线上点的磁场分布情况,巩固和加深对物理定律及其适用范围的理解与把握,学习和体会计算机编程的方法与技巧。
通过精选少量典型物理习题利用计算机编程进行数值求解,以小论文或综合作业的形式布置练习,具体实施中充分征求计算机相关教师的意见并请求协助和参与实施,加强不同学科、不同课程之间的交流与协作,达到事半功倍的双赢的教学效果,充分体现大学物理课的基础地位与作用,体现计算机对物理学习和研究的重要性,知道这两门课程关系如此密切,学习的认真态度和积极性自然就得到了加强和提高。
(二)部分物理实验利用计算机仿真课件来进行
1.引言
近年来,随着科学技术的迅速发展和高等教育大众化的快速推进,计算机及相关专业毕业生就业形势严峻,就业难现象日益突出,而行业企业却难以找到所需的大量计算机人才。计算机专业人才培养与行业企业需求出现了错位,让我们反思现有计算机专业培养模式存在的问题。
2014年6月刀日,国务院颁布了《关于加快发展现代职业教育的决定》,指出采取试点推动、示范引领等方式,引导一批普通本科高等学校向应用技术类型高等学校D型。随后,湘南学院加入“中国应用技术大学联盟”。2014年11月,湘南学院成为湖南首批两所转型发展应用技术大学试点高校之一。计算机科学与技术专业作为地方本科高校应用性较强的专业之一,转型发展符合国家和学校的转型政策,培养面向行业企业需求的应用型人才刻不容缓。
本文通过我校参与ACM竞赛的历程,以赛促学,提高学生自主学习的积极性、团队协作能力和实践操作能力,培养适合行业企业需求的应用型人才。
2.地方本科高校计算机人才培养模式存在的问题
随着计算机与通信技术的快速发展,行业企业需要大量的计算机人才,但是地方本科高校计算机毕业生的就业率和就业质量却逐年降低。
第一,由于本科办学时间较短、财政投入偏少等原因,地方本科高校计算机专业实践训练场地有限,实验设备较为落后,受传统培养方式的影响,偏重理论教学,对实践操作重视程度不高,影响了学生创新实践能力的培养。
第二,地方本科高校的计算机人才培养方案更新较慢,计算机技术发展与应用又日新月异,新的知识与理论未能及时引入到计算机教学中来,出现了授课内容与计算机应用新技术脱节现象。
第三,计算机是应用性比较强的学科,由于专业课时有限,实践训练有待加强,实践教学模式陈旧,缺乏一种学生课外自主学习的激励机制。
第四,教师教育学生的方式仍停留在应试教育阶段,学生学习积极性不高,以致教师所讲授的知识学生未能很好地理解与掌握。
第五,传统的实验考核、作业批阅都由教师人工完成,受限于教师的知识水平和经验,缺乏严谨的数据进行测试,降低了实践与练习效果。
第六,计算机专业课程的考核还停留在纸质试卷上,学生只需通过死记硬背便能获得高分,但遇到实际问题却不能运用所学专业知识来动手解决,出现了高分低能现象。
3.ACM竞赛简介
ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,ACM/ICPC)是由国际计算机学会(Assoeiation for ComputingMachinery,简称ACM)的世界公认的规模最大、水平最高的国际计算机竞赛田,也是全球大学生计算机程序设计竞赛活动中最具影响力的赛事,被誉为计算机界的“奥林匹克”。ACM竞赛从1970年开始举办至今已40届,备受世界著名行业企业高度关注,ACM获奖者成为各大行业企业争抢对象。IBM公司是ACM国际大学生程序设计竞赛长期赞助者,亚洲(中国)区域赛则由国内著名公司华为、阿里巴巴等领衔冠名。ACM竞赛成绩成为百度、腾讯等著名行业企业招聘的重要参考条件。
ACM竞赛是各高校计算机人才培养成果的直接体现,有利于提高计算机及相关专业的教学水平。ACM竞赛旨在使大学生通过计算机来充分展示其分析问题和解决问题的能力。竞赛涵盖的内容很广,主要考查学生的逻辑思维能力、策略设计能力、团队协作能力和运用交叉学科知识解决问题的能力。ACM竞赛提倡创新和团队协作,鼓励学生在构建全新的软件程序时尽情发挥创意,帮助学生检验自己在强压力下的实践操作能力。
4.建立依托ACM竞赛的计算机应用型人才培养新模式
计算机应用型人才培养主要由专业教育、素质教育组成。专业教育分为专业教学、实践教学。素质教育包涵其它学科综合教育。依托ACM竞赛优势,将其融入计算机人才培养,可以弥补地方本科高校计算机应用型人才培养模式的不足。
1)ACM在线评测系统开发培养学生创新实践能力
湘南学院ACM在线评测系统设计与实现为湖南省大学生创新性实验计划项目,为学生学习C/C++语言程序设计、数据结构、算法分析与设计、Java等程序设计类课程提供一个学习、练习和交流的平台。学生在项目开发过程中,团队合作、协作分工,巩固了所学的理论知识,系统学习了软件开发理论,并将之贯穿于实践,激发了学生的创新思维和创新意识,促进了学生对科研项目兴趣,提高了学生软件开发水平和学术水平,充分锻炼了学生的创新实践能力、应用开发能力和科技论文写作能力,培养了学生的专业能力。项目实践让学生在提高专业能力的同时,获取了开发实际软件项目的成就感,有利于学生积累项目开发经验,培养学生自信心和价值感,提升学生适应培养行业企业需要的就业竞争力。
2)以赛促教,提高学生的专业教育和综合素质教育水平
培养计算机应用型人才,主要培养学生的动手实践能力。将ACM竞赛引入程序设计类课程日常教学中,可以改革传统实践教学模式和以笔试为主的课程考核体系,学生通过ACM在线评测系统进行实践训练,教师通过答题情况来反馈学生对讲授知识的掌握程度,采用ACM在线测评系统考核结束后的最终排名为主和平时成绩及实验成绩为辅进行课程评价。程序设计类课程作业和实验,随意性大,题意模糊,解答也模糊。而ACM在线评测系统要求非常严格,题意清晰,解答精确。ACM竞赛虽然要求程序运行结果与题意完全符合,但并不限制用何种算法去实现,学生可以尝试各种可以实现的算法,充分锻炼了学生的动手操作能力,提高了实践教学水平。通过实践来巩固理论教学,提高了学生的专业教学水平和质量。ACM竞赛涵盖计算机、数学、英语、心理学等学科,有利于学生的综合素质教育的培养。
3)以赛促学,建立四级竞赛学习机制
第一级是程序设计类课程的学习与练习。程序设计类课程任课教师在ACM在线评测系统布置作业和实验,根据做题情况的动态排名来确定学生的平时成绩和实验成绩,激发学生对程序设计类课程的兴趣,培养学生独立分析和解决问题的能力。第二级是每年五月定期举行湘南学院ACM程序设计竞赛,吸引计算机及相关专业的学生参与ACM竞赛,选拔优秀学生组建ACM集训队,利用晚上和周末进行系统学习与集训,通过ACM集训队员带动其他学生提高编程水平。第三级是积极参加每年湖南省教育厅举办的湖南省大学生计算机程序设计竞赛。让学生走出去同全省各高校学生进行竞争,大力宣传所获成果,吸引更多学生参与。第四级是积极参与行业企业组织的程序设计比赛。一些著名行业企业通过举办竞赛来选拔人才,如Google公司举办的Google Code Jam程序O计竞赛、百度公司举办的百度之星程序设计大赛、计蒜客在线教育举办的计蒜之道程序设计大赛等。学生通过参与竞赛,可以更加了解企业的需求和自己的不足之处,激发学习动力,尽快弥补短板,提高就业能力。
4)建立ACM竞赛与人才培养共赢机制
为了充分调动学生、教师的积极性,克服各种困难,取得理想成绩,应建立ACM竞赛与人才培养共赢机制,既可以为ACM竞赛提供源源不断的动力,又能为培养应用型创新人才可持续发展提供保障。具体的举措建议如下:建立ACM在线评测系统,为学生提供学习、训练和交流的平台;成立校ACM协会,通过协会来推动学生的参与,培养学习兴趣;培养学生梯队,实行老队员带新队员,形成互相学习、竞相赶超的学习氛围;完善ACM竞赛激励机制,对获奖的学生按获奖级别及时给予现金奖励和学分减免,对指导教师给予工作量补助和现金奖励、职位晋升、评优评先和职称评定时给予政策倾斜用,对组织参赛的二级学院给予肯定和奖励。
5.依托ACM竞赛,培养应用型人才
依托ACM竞赛建立的应用型人才培养新模式,主要从以下几个方面来培养应用型人才。
1)更新人才培养观念
地方本科高校计算机专业需要更新人才培养观念,将ACM竞赛制度纳人教学体系,成为常规性、制度化的工作,积极探索“以赛促教、以赛促学”的应用型创新人才培养新模式。
2)搭建ACM学习平台,建设ACM开放性实验室
构建ACM在线评测系统,学生可以在校园内随时随地使用电脑在线做题,系统自动返回做题评测结果,有利于学生的自主学习。实验室是培养学生实践能力的重要场所。建设ACM开放性实验室,配备专业素质过硬、动手能力强的指导教师给予适时指导,以开放和包容的态度来满足学生的学习热情和求知欲望,学生通过ACM在线评测系统,自主练习,采用算法分析、程序优化、归纳总结等方式提高学生的实践能力和逻辑思维能力。
3)扩大ACM竞赛的受益面,营造浓厚的学习氛围,
ACM竞赛已经培养了一批高素质应用型创新人才,将ACM竞赛内容列入程序设计类课程作为教学案例,扩大赛后的延伸效益,把ACM竞赛融入程序设计类课程实践教学,培养学生创造性思维和实际设计能力,提高教学质量,促进计算机专业改革和建设。在四级竞赛学习机制中,无论是作业、实验,还是校赛、省赛、企业赛,由于均采用动态排名,客观公正,因此可以激发ACM队员编程兴趣和积极性,逐渐形成良好的学风,营造浓郁学习氛围。
4)锻炼学生的竞争能力,培养良好的心理素质
在四级竞赛机制中,无论是练习还是竞赛,参赛队员都能看见即时动态排名和做题情况,这样给学生带来了较大的心理压力,能否及时调整心态将会起到至关重要的作用。通过平时训练和不同级别的竞赛,可充分锻炼学生的心理承受能力,提升其适应行业企业需求的竞争优势。
5)通过ACM组队集训,培养学生的团队协作能力
为了适应行业企业开发应用软件的需求,按照ACM竞赛规则,采用3人一组共用一台电脑进行组队训练模式,组员之间分工协作,默契配合,有利于提高学生的团队开发能力。
6)提升学生的英语应用能力
由于计算机专业资料大多数是英文资料,按ACM/ICPC规则组织的竞赛基本上是英文题目,这让参加ACM竞赛的学生长期进行英语学习,极大提升了学生的英语应用能力。
6.应用效果
程序设计课程作为计算机专业的一门基础课程,它有利于提高学生的思维能力,对学生深人学习计算机专业知识有很大的帮助。其目的就是通过学习程序设计语言的基本思想、语法知识和编程方法,提高学生的程序设计能力、分析解决实际问题的能力,并培养形成严密的逻辑思维能力。那么如何根据社会经济发展变化,对程序设计语言课程的教学内容、教学方法、考核方式进行相应的改革,实现培养高等技术应用型和高技能型计算机人才目标,已经成为广大中职教师普遍关注和重点研究的课题。
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)分组教学法。注重培养团队精神,以“竞”求进上机编程实践是学好程序设计语言的关键。但上机实践过程中如果“各自为战”,或在教师的统一“指挥”下以完成不同题型的任务为实践内容,对于中职学生而言很容易失去上机兴趣,也很难达到上机实践之目的。因此,不妨针对中职学生的特点,适当转变上机实践的形式。以组建团队的形式上机实践,事前分配给每个学习小组不同的实践任务。组长负责本组学生利用课余时间去思考、收集资料,上机时各组先分别完成相应任务,然后相互演示成果,评判优劣,最后再进行任务交换,讨论编程心得。在此过程中教师主要充当协调者的角色,对确有疑难的地方可适当加以指导,主要过程可由学生自行解决,则学习能力强的学生自然会成为教师的助手。
VB程序设计是很多高校非计算机专业学生必修的一门计算机基础课程,我们学校也不例外。苏州大学应用技术学院是民办公有本科院校,该学院的非计算机专业理工科学生全部必修VB程序设计,并且要求学生通过江苏省计算机等级考试二级,且与学位挂钩。本人所教授班级学生每年等级考试的通过率均名列全院前茅,受到该院学生和教师的好评。今年在首次实行的由学生选择任课教师过程中,出现了“涨停版”状况,在短短的十分钟内,选我所授VB课程的学生人数爆满,导致后面很多想选修我的VB课程的学生没能选上,事后这些学生私下问我:“如果没选上我的VB课,能不能到我的课堂听课?”这件事情给我的触动很大,学生的认可是最高的奖励!通过多年的研究和探索终于摸索出一套适合民办本科院校的程序设计的教学方法。
1教师的人格魅力是吸引学生学好知识的必要条件
“师者,传道授业解惑者”,教师这个行业是一个非常神圣的职业。它不但给学生传授知识、解答疑问,更重要的是直接影响学生的思想价值观和世界观的形成。老师的一言一行都铭记在学生的心目中,潜移默化地影响着他们的成长。所以教师的责任心和职业道德是非常重要的,在某种程度甚至比他的知识水平还重要。这是我的个人看法。要想做一名好教师,首先要做一个好人:一个有爱心、肯奉献、有责任感和心胸宽阔的人。具备以上特点,再加上渊博的知识,则具备了教师的人格魅力。现在的大多数学生虽然都是独生子、娇生惯养、相对比较自私,但他们很聪明,很活跃,很有正义感,明辨是非的能力也很强。他们当中绝大部分都是积极向上的,有进取心,想很好地完成自己的学业,给家长、朋友、老师以及社会一个完美的答卷。只是自制、自理能力相对较弱,需要老师的监督和帮助。这个时候因为离父母较远,每天接触的长辈除了老师还是老师,老师的作用就体现出来。有很多学生愿意找他们喜欢的老师交流,甚至做知心朋友。学生喜欢的老师一定是有人格魅力的教师,这一点确定无疑。那么,一旦学生喜欢上这个老师,他们就愿意接受这个老师给他们传授的知识,按时完成教师布置的任务,在这种和谐的学习气氛中,学生的学习效果就不言而喻了。现在的学生和老师的关系和多年以前不同,甚至有很大变化:当学生需要老师做长辈的时候,老师就好像他们的父母,给他们关心和爱护;当学生需要老师做他们的知心朋友的时候,老师和学生应该是平等的关系,放下老师的架子,畅所欲言,各抒己见,甚至可以争论的面红耳赤。当学生需要老师做他们的严师,督促他们学习和上进的时候,老师就是一个有威严、神圣不可侵犯的人。只有这样,才能更好地引导学生成为一名会生存、会做人、会获取新知识的人,这也正是当今高等院校培养本科生的目标。
2从社会实际状况出发,让学生明确学习目标
目前我国的教育现状是:从小学甚至幼儿园开始,就强调学习、学习再学习!也就是孩子除了学习之外,不能有其他事情可做,只要学习好,什么都好。所谓的“一俊遮百丑”,却忽略了其他方面的培养和教育,虽然政府也正在努力改变现状,但因为社会竞争激烈以及人口众多,一时还难以改变。正因为如此,家长也是为了孩子今后的生存考虑,不得不督促孩子学习、学习、再学习!其他方面的教育等上了大学再说。这就给高等院校的教育带来了很大的压力,大学生存在的问题很多:首先是为什么要学习?学习目的不是很明确。其次是学生认为在大学里不用刻苦学习。因为在中学阶段学习很辛苦(这是不争的事实),学校为了升学率,学生为了考大学,甚至有中学教师给学生一种误解:上了大学就可以放松了。导致学生上大学后不爱学习,认为没必要再学习了,因为学习毕竟是一件很苦的脑力劳动。
针对当今大学生的现状,我们的高校教师一定要让学生明确自己为什么要学习?也就是学习的目的和意义是什么?结合实际状况,首先一个有价值的人一定是一个知识丰富的人,不管是民营企业家,还是公司里的老板、董事长或者CEO,其次,如果没有丰富的知识,也就谈不上更强的能力,这是一般的道理。每个人都想成为一个有价值、有作为的人,如果没有知识的的储备,没有学习新知识的能力,那他就很难达到目的。最后,学习无止境,学习的内容也是丰富多彩的,不单单是书本上的知识,还有学做人、学做事,学习别人的好经验,等等,就像北京大学学生侯东说的:“学习不单纯是学习知识,更多的是学习合理安排时间,合理调配资源,善于处理一些环境影响并最终找到自己的生活方式和目标”。
3采用适合民办本科院校大学生特点的教学方法
(1) 消除学习计算机程序设计语言的畏难情绪,给足学生一定能学好这门课的信心。
VB程序设计是一门计算机高级程序设计语言,学生在学习这门课程之前,已经掌握了计算机的基本操作和基本概念,也就是学过了“计算机应用基础”这门课,具备一定的计算机基本操作,但计算机语言和计算机的基本操作不一样,而且差别很大,基本操作是固定的动作,通过反复练习就可以熟练掌握,而且效果显著。而计算机语言要通过思考、推理和判断才能给出正确的算法,也就是解决问题的步骤,并用程序设计语言把它正确地表达出来。难度要比操作大得多。很多学生在学习VB程序设计时,最难的就是入门这一关,特别是民办大学生更是如此,他们不习惯采用计算机解题方法,甚至觉得计算机程序设计语言太难学了,简直像天书。他们更习惯于日常生活中的解决问题的思路。针对学生存在的这些问题,一般情况下我们首先要打消学生对学习程序设计语言的畏难情绪,给他们信心和希望,告诉他们计算机程序设计语言没有他们想象得那么难学,任何事情都是一样,只要努力认真用心去做了,都能做好,包括老师本身,也不是天生就会程序设计语言的,也是一点一滴学出来的。例如,在日常生活中,我想把一瓶酱油(简称a)和一瓶醋(简称b)交换一下,交换后,原来装酱油的瓶子,现在装醋;原来装醋的瓶子,现在装酱油,问:我们应该怎么操做才能实现呢?学生会认为这个问题太简单了,很快就给出答案:先拿来一个空瓶子(简称c),再把a瓶子里的酱油倒入空瓶,然后把b瓶中的醋倒入原来装酱油的a瓶中,最后把倒入空瓶中的酱油倒入原来装醋的b瓶中,就完成了酱油瓶和醋瓶互换的任务。这个问题不就是程序设计中的两个变量交换值的道理吗!一个变量a=1(酱油),另一个变量b=2(醋),现在要把a和b的值进行交换,(相当于把酱油和醋互换)则需要引用第三个变量c(相当于空瓶),先用c保留变量a的值(把酱油倒入空瓶),即c=a,再把变量b的值给a(把醋倒入酱油瓶),即a=b,最后把c的值给b(把空瓶中的酱油倒入醋瓶中),即b=c,则完成了a,b两个变量值的交换。在程序设计过程中,有很多内容是和我们现实生活中的内容相似的,很好理解和掌握,相信同学没有学不会的内容。
(2) 由浅入深,循序渐进,逐步引导学生步入正确的程序设计大门
在介绍VB内容的时候,教师不一定完全按照指定教材内容组织的顺序给学生讲解,因为教材本身就是一种参考书,教师可以根据大纲要求,把教材内容经过仔细研究、斟酌、提炼、总结和归纳成由浅入深、循序渐进、通俗易懂、简单明了的知识内容,再结合日常生活中的实例展现给学生。如VB控件部分的内容不必在开始时全部讲解,结合实际情况,用到哪些控件再详细的介绍那些控件。首先把窗体、文本框、命令按钮和标签控件介绍给同学就足够使用了,因为窗体是VB程序设计的基石和容器,所有VB的其他控件都放在窗体中;文本框可以用来作为输入和输出界面;命令按钮用来激活代码的运行;标签用来注释。至于其他控件,如图片框、列表框等等可以在后面介绍到数组的时候,作为数组输出界面时再陆续介绍。总之,介绍的内容以实际应用为主,有应用的需求就介绍,理论联系实际,效果会更佳。
在介绍VB的语句语法时,不要急于求成,遇到问题需要解决时,再介绍相关的语法规则和语句内容,以问题驱动内容的进展。如设计一个加法计算器,用来求出n个数的和。如果n的值较小,如n=2可以直接把两个数相加,但如果n=20或n=50的时候,如何实现这些数相加呢?方法很多,但最好的方法就是用循环语句来实现,引出循环的概念、语句和语法规则。
对同学们容易出现的一般性错误,尽量用通俗易懂的例子说明语句的含义。因为学生出错的原因就是没有真正理解语句的含义。例如,开始使用VB赋值语句的时候,很多同学容易出现的错误就是把赋值和被赋值对象写错位置。如把x的值赋给y,写成x=y,其错误的原因就是学生把赋值号“=”理解成数学里面的等号“=”了;同样的错误还有,把文本框1中的内容赋给变量a,表达成text1=a。针对这种错误,我们就可以通过日常生活中“借钱”这件事情来举例说明,如名字为x的人向某人y借了500元钱,前提是y一定有500元钱(y=500),我们可以用式子x
在讲解程序设计算法的时候,尽量从学生的角度去分析、理解和判断,最后推出正确的解题方法。先用自然语言分析和阐述正确的算法,然后再用VB语句描述出来,要把分析和表达的全部过程展现给学生,和学生一起分析和判断,最后再把初步写出的VB程序放在VB环境中调试和运行,验证算法是否正确。特别强调的是,有时需要故意设一些陷阱,让学生跳进去,也就是程序不要一气呵成,正确无误。故意留出一些关键性的,容易犯的错误,运行结果出来,发现错误时,学生会很惊讶,在分析的过程中,觉得应该不会出错,怎么最后结果不正确呢?这个时候教师也不要急于给出答案,让学生思考几分钟,再慢慢引动学生发现问题,进而想出解决办法,最后教师再给出正确答案。
归根结底,我们在传授知识的同时,最好能够把如何学习新知识的方法传授个学生,这才是我们的教育目的,小之以情,动之以理,由浅入深,循序渐进,慢慢的学生也就走进了VB这个新知识的大门。教师在授课的过程当中适时地出现一些幽默的句子或片断,也会让学生觉得VB程序设计的课堂不是那么枯燥乏味。把学生的情绪调动起来,学习的热情也就随之而来,效果也就可想而知了。
4结束语
民办本科院校的计算机程序设计教学方法的探索与实践是一项复杂和持久的系统工程,无论是在教学理念还是在教学方法上都需要不断的改革和创新。今后我们还要不断的研究和探索,在改进教学方法和教学手段的同时,加强学生实践能力的培养,进一步完善我们的教学机制。
中等职业学校是培养高素质专门技术人才的基地,肩负着向特定的行业和岗位培养合格的操作技能型人才的使命。现代科学技术的迅速发展,促使社会体系、经济体系和教育体系不断地变化,社会对技术人才的需求也在变化,要求越来越高,从过去的对相对单一型人才的需求转变为现在的对多元化、复合型人才的需求。尤其是计算机专业的毕业生,知识结构与能力更是难以满足现代企业的需求,大量的毕业生在社会上找不到与所学专业相吻合的工作。因此,面对严峻的就业形势,教学必须适应社会对人才的需求变化,改变传统的以“知识为本位”的教学目标,代替以“能力为本位”,以“就业为导向”的教学目标,教师应改变传统教学方法,重视对学生能力和创造性的培养,以适应培养学生综合能力的要求。而因地制宜的运用项目教学法就能够培养学生的动手能力、解决实际问题的能力。
一、项目教学法的必要性
程序设计课程是计算机专业课程体系中重要组成部分,也具有较大难度。我校计算机专业开设的程序设计课程主要包括QBASIC、C、VFP、VB、数据结构等。QBASIC是低年级的入门语言,主要是引导学生从算法语言层面逐步认识计算机处理问题的方法,C语言是一种概念复杂,理论性和实践性均很强的程序设计语言,要求学生有较好的程序设计基础。不管是哪一门课程,程序设计教学的最终目的都是要培养学生分析和设计程序的思维方法和能力,也就是要会用语言这个工具去解决实际问题。传统的教学方法大都是从理论入手,虽然能系统完整地讲解各章各节各个知识点,但由于内容比较枯燥,对于基本素质、自学能力和自控能力都停留在比较低的层次上的职校学生来讲,仅能够灌输到一点基本概念和理论,根本谈不上能用语言这个工具去编写实际的程序。笔者在多年的计算机程序设计教学实践中,结合教学内容和教学对象的实际情况,逐步总结出采用项目教学法能够极大地提高学生学习的积极性和主动性,使他们的动手能力、解决实际问题的能力得到很大的提高。
项目学习法是一种教和学的模式,它集中关注于某一学科的中心概念和原则,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习、自主地进行知识的建构,以现实的学生生成的知识和培养起来的能力为最高成就目标。项目学习可以成为概念的教与学所赖以存在的中心环节,而不仅仅是在努力学习过程之后进行的一种辅的充实。
项目教学法是符合建构主义理论促进学生全面发展的科学教学方法。建构主义学习理论认为,知识不是通过教师传授得到的,而是学生在一定的情景下,借助他人(包括教师和同学)的帮助,利用必要的学习资料。通过意义建构的方式而获得。基于建构主义的教学法要求,在学习过程中,要以学生为中心,教师应起帮助者角色,利用情景、协作、会话等学习环境要素,充分发挥学生的主体性和创新精神,使学生有效地达到对当前所学知识的意义建构。
二、项目教学法的实施
项目教学法是师生通过共同实施一个完整的项目工作而进行的教学活动。通过选取工程项目来创设情境,通过协作学习的方式开展学习,通过完成工程项目来达到意义建构。它突破了传统的教学模式,通过解决学生身边的一些现实问题来实现学生对知识的掌握,大大提高了学生学习的积极性和主动性。通过项目教学法学习的学生,他们的动手能力、解决实际问题的能力有很大的提高。这种方法不但适合职业学校的计算机程序设计课程教学,尤其适用于学生水平参差、学生自控能力比较薄弱、课程的应用性比较强的教学。
项目教学法是从职业学校计算机程序设计课程教学中总结出来的,与程序设计模块化的思想相吻合,所以特别适用于培养“软件蓝领”专业的教学。
下面以《C程序设计》课程中函数这一章采用项目教学法教学为例,具体说明该方法基本的教学步骤。
C语言中的函数相当于其他高级语言中的子程序,是C语言中实现模块化编程的基础,也是学生初步形成模块化开发软件的基础。在未学函数这一章之前,学生已经编写了一个成绩处理程序,该程序的主要功能有成绩的输入、输出、求总分、求平均分、求最高分、排序等。在花了5课时讲解了函数的基本知识及概念后,要求学生用所学函数知识将前述程序改写成一个完全模块化的程序。
1、情境设置。创设学生当前所学习的内容与现实情况基本相接近的情境-给出原先所编的学生成绩处理程序,要求用函数部分的知识将该程序进行模块划分,把学生引入到需要通过函数来解决现实问题的教学环境。我所选取的学生成绩处理项目中,有成绩的输入、输出、求总分、求平均分、求最高分、排序等。这是一个贴近实际,学生比较熟悉,难度适合的项目,这样容易调动学生解决问题的积极性。
2、操作示范。围绕当前学习的知识点,以便于学生“知识迁移”的要求,选择合适的小项目,并示范完成项目的过程。我选择成绩输入这个小项目,示范用自定义函数来实现该模块的功能。
3、独立探索。让学生独立思考,对知识点进行理解,消化成绩输入这个示范项目的解决要点,为解决练习项目打下基础。要消化的要点主要有函数定义部分的参数定义、返回值的确定,以及函数的调用,函数的原型声明等。
4、分组并确定各小组的项目。小组通过研究讨论,并在教师的指导下,将成绩的输出、求总分、求平均分、求最高分、排序等划分好的小项目分配给各小组。
5、协作学习。各小组开展交流、讨论,组员分工协作,调试运行,完成项目。采取分组协作学习的方式时,每组人数应适中,组员的个性、能力方面应采取互补方式搭配好,设立一小组长,协调组内成员分工,有利于同学之间互相学习。最后各小组充分运用其他小组已编写好的模块集成出一个完全模块化的程序。因为本项目中的各个模块即小项目是由各小组分别用函数完成的,最后必须将各小组编写的集成起来才能得到一个完全模块化的程序。
6、学习评价。学生学习的效果直接由完成工程项目的情况来衡量,包括教师评价、学习小组评价和自评三部分。分三级来考核:第一级是由教师对小组完成项目情况进行评定:能否共同协作,实现预定功能;程序的优化;是否具有创新意识。第二级是由各小组成员根据各组员对本小组贡献的情况进行互评,组员的参与意识;第三级是由学生本人进行自评,是否在原有基础上有所提高。综合三级评定情况来确定每一名学生的学习成绩。
三、项目教学法应用注意点
项目教学法是行为引导型教学方法中的一种。在整个教学过程中既发挥了教师的主导作用又体现了学生的主体作用,使课堂教学的质量和效益得到大幅度的提高。但在具体使用时还应重点注意以下几点:
1、项目的选择与教材的处理
项目的选取是学习的关键。选取项目要以教学的内容为依据,可大可小,既要包含基本的教学知识点,又能调动学生解决问题的积极性,让学生既能运用学过的知识,又可以创造发挥。教师和学生可以共同参与项目的选取。作为教师对知识点进行讲解的实例,所选取的项目必须简单和典型,以此实例作为学生初始学习的例子,便于学生对知识的迁移;另外一个项目要有一定的难度,可促使学生学习和运用新的知识、技能,解决过去从未遇到过的实际问题。
教材是一个问题。由于现行的教材基本根据学科知识系统进行编写,教师实施项目教学法时,不能够完全按照教材一章一节地讲授,所以要求教师在设计教学时,必须重点选好示范项目,紧密结合教材内容,适当编写讲义,甚至编写教材。
2、正确处理项目教学法与传统教学法的关系
项目教学法并不是日常教学的全部,它只是教学环节中一个非常重要的部分却不可能替代全部的正规教学,它侧重于对学生能力的培养,在应用性比较强的程序设计课程教学中表现出一定的优势;而传统教学法具有完整的理论体系,所以学生对知识点和知识体系的掌握都比较牢固,这在理论课表的教学中表现出一定的优势。在具体运用中中两者可以交叉使用,重视项目的完成,但不能忽略基础知识的掌握;注意吸取传统教学法的长处,把总目标细分成一个个小目标,每个小目标体现在项目中的小模块上,从而让学生建构一个系统的、全面的知识框架
3、教师的角色定位
在教学过程中,教师的地位是经常变化的,当学生学习新技能时,教师是知识的传授者,当学生运用已学技能时,教师是导航员,当学生自主活动时,教师是观察员,当学生以小组进行活动时,教师又需要充当协调员。
教师应当创设学生学习的资源和协作学习的环境,让学生有多种的机会在不同的情景下来应用所学习的知识,充分运用现代教育技术的手段给学生提供多种学习的资源;协商解决各个难关,使学生群体的思维与智慧为每个学生所共享,从而达到全体学生共同完成意义的建构。教师应当做好对各项目的评估总结,在评估中要指出问题的所在及解决的方法,要总结比较各组的特点,引导他们学习别人的长处来改进和提高自己的设计,使学生的各种能力在评估中得到提高。教师应当发挥好协助作用,让学生根据自身行为的信息来实现自我反馈。
通过项目教学法在计算机程序设计课程教学中的应用与实践,笔者深刻体会到:项目教学法把理论教学与实践教学有机的结合起来,不仅有利于学生加深理解和掌握书本的理论知识,更使他们懂得怎样灵活应用这些知识。项目教学法充分发掘了学生的创造潜能,全面培养了学生分析问题和解决问题的思想和方法,提高了学生对程序设计的意义建构,充分地展示了中等职业学校教学“以能力为本位”的价值取向。
一、课程定位
程序设计基础这门课程是在学院第一个学期开设,共有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竞赛平台里面的题目融入到平时的教学过程中,也会把平时表现好的学生充实到竞赛集训队伍里面;教学结合,学以致用,教师指导,学生自主研发一些小游戏,比如石头剪刀布的游戏。