程序设计基础论文汇总十篇

时间:2023-03-20 16:07:12

程序设计基础论文

程序设计基础论文篇(1)

[2] 何克杭. 从Blended Learning看教育技术理论的新发展(上)[J]. 中国电化教育,2004,(3).

[3] 何克抗,李克东等. 主导一主体教学模式的理论基础[J]. 电化教育研究,2000,(2):3-9.

[4] 在线教学与常规教学优势互补.

[5] 祝智庭. 网络教育应用教程[M]. 北京师范大学出版社,2001.

The Exploration and Practice of Blending Teaching Model on the Course of Program Design Basis

Xu XiaolinLu Hong

程序设计基础论文篇(2)

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)31-0148-03

1 引言

《程序设计基础》是计算机相关专业的基础必修课,旨在培养学生基本程序设计思想和程序设计能力。它是一门理论与实践相结合、具有很强的实践性的课程,同时是后续课程《数据结构》、《面向对象程序设计》、《操作系统》、《计算机网络》等专业课的前导课,该课程掌握的好坏直接影响到许多后继课程的学习。

针对程序设计基础课程的教学改革已有一些研究成果,文献1结合程序设计基础课程教学改革与实践经验,提出一种新的教学模式;文献2针对"C语言程序设计"课程传统教学模式中存在的问题,并结合学校对该课程,改革的实际情况,探讨新的C语言教学模式;文献3提出了一种新的课程改革思路以提高教学质量和教学效果;文献4就如何开展综合性实践性实验做了探讨;文献5探讨了一种教学改革的思想和方法;文献6对C语言中的教与学方法改革进行了探讨。针对以往教学过程中存在的问题,经过认真的分析、总结,并参考了国内重点院校和同等院校的好的经验,结合安阳师范学院计算机与信息工程学院的实际情况,提出了“强基础、重实践、激创新”的教学理念,并应用于教学中。

2 课程分析

2.1课程地位

C语言是一种常用的软件设计语言,同时是其它面向对象程序设计语言的基础,熟练掌握了C语言,那么其他语言就触类旁通,学习起来也比较容易,它是计算机专业课程和相P语言类课程的基础,是和学生未来的发展息息相关的一门重要的专业基础课程。无论是准备考研的学生还是准备就业的学生,只要能够很好的掌握这门课程,就可以为以后的发展打下良好的基础。因此可以毫不夸张地说,C语言掌握的程度可以直接影响学生四年的学习,甚至对学生毕业以后的深造和发展也会有着深远的影响,该课程在本学科体系中的作用由此可见一斑。

2.2存在的问题

本课程所针对的教学对象是大学一年级的新生,新生入学以后,其学习方法和思维模式还停留在中学阶段,学习主动性比较差。且由于在中学阶段接触计算机知识比较少,造成学生在接触计算机知识比较少,程序设计能力几乎为0,结果造成对于课堂上老师讲述的基本语法和编程思想都是被动地接受,对于教材上的习题或者验证性的实验,掌握相对较好,但是对于要解决的实际问题,不知道如何下手,创新能力更无从谈起,导致在以后的教学过程中,不断有学生因畏难、缺乏兴趣、被动学习而掉队,这就影响了后续相关课程深入学习。

2.3课程目标

C语言的课程目标是以程序设计方法为主线,以语法和程序结构为核心,培养学生的基本编程能力,并不断提高学习兴趣,变应试教学为应用教学。在教学过程中,教学目标分为以下四个方面。

知识目标:在教学过程中,注重培养学生分析问题的能力,解决问题时,会定义合适的数据类型或数据结构存储数据,并且能够选择合适的控制结构并写成一个独立的功能函数。从而能够掌握基本语法和三种基本控制结构,掌握数组和函数的运用,掌握指针和结构体类型的应用。

技能目标:学生会编写简单的程序,能够积累一定的算法,如枚举法、贪心法、选择排序等常用的算法,初步具有算法分析和设计能力。在实验和实践过程中充分利用开放性教学资源与实验平台,提高学生的自主学习能力。

素质目标:通过学习,能够形成独立思考、具有解决实际问题的能力;可将学生分为若干个小组,课堂讨论和课程实践均以小组为单位,逐步培养学生的团队合作意识,达到同学之间互相帮助、共同学习和进步的目的。

情感目标:希望同学们能在自主和谐的气氛中学习,能够在学习过程中感受到乐趣,激发学生们的学习兴趣。采取的主要措施有:采用灵活的教学方法,吸引学生的注意。在授课中注意和实际问题的结合,激发学生的学习兴趣。组织一批比较有趣好玩的程序,比如俄罗斯方块、打字练习程序等,由老师完成其中的大部分内容,学生只有写出其中的一段代码,即可使程序运行,从而更好的激发学生自主学习编程的兴趣。

3教学理念

为了达到以上的教学目标,针对以往教学中存在的问题,结合安阳师范学院的实际情况,经过认真的分析、总结和研究,并参考了国内重点院校和同等院校的好的经验,确立了基于“强基础、重实践、激创新”的教学理念,改革了C语言的理论教学和实践教学。

1)“强基础”;改革传统的理论教学模式,分学期进行,前期在讲课过程中淡化语法,偏重基本知识点和基本编程能力的培养,并强调算法分析和程序的调试,后期偏重应用知识解决问题,从而帮助学生形成正确的程序设计思维方式。

2)“重实践”;改革传统的只有实验的教学模式,在教学过程中引入实践课,采用实验和实践并行的方式。目的可以提升学生的动手能力,并在课程建设过程中建立一些课程资源平台,如引入ACM在线评测平台、建立课程网站等,激发学生的学习竞争意识。

3)“激创新”;在实践的基础上,拓展出问题规模较大的一些问题,并引入教师的一些科研子课题,让感兴趣的学生参与其中,学院每年都会有一些大学生创新基金项目,让有想法的学生申请,目的是为了培养学生的团队合作精神和创新能力的。

4课程改革

4.1教材建设

本课程所选用的教材是由清华大学出版社出版,由谭浩强主编的《C语言程序设计》(第三版),之所以选择这本教材,是因为该教材比较符合初学者的特点以及认知规律,在内容选择,章节层次结构等方面的安排做得较好,同时作者将难点分散到各个章节中,例题也较为丰富,学生学习起来通俗易懂。且此教材以应用为目的和出发点,具有很强的实用性。这本教材也是目前国内各高等院校选用率最高的教材之一,目前国内的很多考试都是指定此教材作为参考书的。

教材从整体上可以分为两大部分,其中的一到九章为第一部分,是C语言的语法基础,偏重于基本知识的掌握和基本编程能力的培养;十到十三章为第二部分,是应用基础,偏重于应用所学的基础知识来解决实际编程中的问题。其中语法基础中的一到三章是基本语法,四到七章为程序控制基础,八、九两章为程序的组织方法。

4.2课程体系建设

该课程教学内容上包含有理论教学和实践教学两大部分,在理论教学中,主要内容包含有基本的语法知识,三种基本结构的使用,以及数组、函数、指针和结构体的应用;在理论教学过程中,注重把握重点,分散难点。实践教学分为实验教学和实践教学两部分。在实验教学中,主要注重培养学生基本理论知识的应用和基本编程能力的提高;在实践教学中,侧重用理论解决实际问题,培养学生的综合运用能力。为了达到“强理论、重实践”的教学目标,在课程的开设模式上,本课程分为两学期进行开设。大学一年级第一学期为《C语言程序设计基础》,主要学习教材中的第一到九章,偏重于基本知识和基本编程能力的培养,第二学期为《程序设计基础课程设计》,主要学习指针、结构体、链表、文件的知识点,偏重于应用知识解决实际问题,同时为后续课程打下良好的基础。为了达到以上目的,两个学期采用不同的教学模式:

第一学期,4+2模式;每周4节理论课、2节实验课。在具体教学内容的处理上,基本语法要少讲、精讲,而控制结构和程序组织为重点,要多讲多练。实验课程主要是包含有基础实验,综合实验,基础实验包含验证性的实验、程序的跟踪调试、设计实现等;通过实验,一方面加强学生对程序组织结构、控制语句的掌握和理解,另一方面促进学生对算法的认识,掌握如何调试程序,提高学生的编程能力。

第二学期,2+2+2模式;每周两节理论课、两节实验课和两节实践课。在第一学期的基础上,加强实践,注重应用理论知识解决实际问题的应用能力的培养。第二学期的实验安排和实践主要和后续课程《数据结构》中的内容相结合,为学生后期学习《数据结构》做好铺垫,打好基础;实践课分为两个阶段,前10周主要结合《河南省大学生程序设计大赛》的比赛形式,给出各种具体的问题,要求学生利用学过的知识自主解决,每周一个实践题目。后8周给出一个具体的比较大的综合性的题目,然后根据学生的程度对学生进行分组,每组3~5人,在教师的指导下,合作完成一个复杂的问题,整个实践课程的安排主要侧重于应用能力的培养,让学生初步具有大型程序设计的思想,并培养学生的团队合作精神,为以后学习其他面向对象的编程语言打好基A。同时实践课程中突出了对学生创新能力的培养,强化“激创新”的理念。

4.3教学方法的改革

针对教学对象的特点和达到的教学目标,采用了不同的教学方法应用于不同的教学内容中,在所选用的教学方法中,主要有以下几种:

案例导入法:把要讲授的知识点与实践案例相结合,揭示知识点和实际问题的联系,加深学生对知识点的印象,使得学生体会到知识的实用性,提高学习兴趣。

任务驱动法:通过理解问题,提出明确任务,以该任务为目标,讲授知识点;在引导学生解决的任务的过程中,要注意突出重点、分散难点。

对比教学法:将新知识和旧知识作对比,展示其异同;在具体的使用中,可以应用学生学过的比较熟悉的知识,或是前边章节中学过的学生掌握的比较好的知识点来和新的知识点进行对比,加深学生对所学习的新知识的理解。

讨论教学法:在已学习的知识的基础上,对已解决的问题进行扩充,提出问题新的问题,引导学生进行讨论或是要求学生自己讨论并加以解决,使学生加深对所学知识理解。

下面是针对程序设计基础中数组的定义与应用这一章节进行的教学过程的设计,在这一节的教学内容中,融入了多种教学方法:

数组是学生学习的C语言中的第一种复杂的数据类型结构,主要作用是用来做批量数据的处理,同时数组也是指针和动态分配内存的基础,在本节的教学过程中,主要分为以后6个环节:创设情景->观察归纳->解决任务->讨论探究->即时训练->总结反思。

1) 创设情景:为了避免直接介绍数组这样一种抽象的结构,使学生容易理解,在引入的过程中,用与学生紧密相关的奖学金评定问题,进行进入。

2) 观察归纳:通过对问题归纳分析,提出任务:如何在计算机内部存放学生成绩,以及如何对存放好的学生成绩进行排序;在讲述的过程中采用对比分析法,并借助于多媒体教学设备呈现。

3) 解决任务:对任务的分析,提出解决任务的方法为使用数组:知识讲授:主要介绍数组的定义,以及数组元素的引用,在讲授中解决任务,在讲授过程中注意把握重点,知识点讲授完毕,加强应用,解决提出的第二个任务,完成排序,进行算法分析,解决观察归纳过程中提出的学生成绩排序问题,在讲排序方法的过程中,采用形象的排序过程进行动画演示,使同学们可以在和谐的气氛中掌握整个排序方法。

4) 讨论探究:学生们对任务继续进行讨论,是否还有一些其他的解法。

5) 即时训练:提出新任务,如果想在已经排好序的学生成绩中插入一个新的学生成绩,使得数组还是有序的,应该如何做?

6) 总结反思:老师对学生所完成的任务进行点评,指出其容易错误的地方,同时,学生进行自评。

5考核方式改革

传统的课程考核方式主要是笔试环节,对于程序设计这样一门实践性非常强的课程,显得非常太合理,学院针对这种情况,改革了课程考核方式,对于第一学期,考核主要分以下三个部分:平时成绩占总成绩的20%,主要考查学生的出勤、作业、课堂表现等;实验环节占总成绩的20%,主要考查学生的程序调试能力、实验报告等;期末考试采用机试,占总成绩的60%,其中机试题采用安阳师范学院ACM在线评测系统,由学院老师出题,给出8到机试题目。按照难度给出分值。

第二学期增加课外实践,考核主要分为平时成绩20%和实验成绩20%以及期末成绩30%和课外实践成绩30%,课外实践主要考查学生的团队协作能力,在学期结束时单独考核,采用答辩的方式,分为以下几个部分:演示、答辩、创新、团队、报告编写等,根绝答辩的情况打分。课程评价体系中和以前的评价体系相比,最大的不同之处在于突出了对实践部分的考核,以考核为指挥棒,引导学生主动加强动手能力的培养。

6教学资源建设

学院主要建立了程序设计基础(C语言)精品网站,在网站中包括有课程大纲、课件、习题资料、实验设计指导等,并引入了教学辅助平台ACM在线评测平台,学生在学院的机房或者是外网都可以通过学号登陆练习一些基本的ACM大赛题目。结合这些结合ACM竞赛,可以培养主动式学习模式,激发兴趣,同学们在登录网站时也可以看到周围的同学的做题情况以及自己的排名,在学生中间可以建立竞争机制。

7结语

通过分析程序设计基础的课程特点和教学对象的特点,在课程的建设过程中,提出以上的教改思路,并将以上教改思路在学生的教学过程逐步的加以实践。从教学效果看,教学质量确实有了很大的提高,主要表现在学生整体素质、水平的提高和后续课程中老师的反馈。

参考文献:

[1] 李军,曹记东,林勇,等.程序设计基础课教学内容及模式改革[J].计算机教育,2013(8):34-37.

[2] 储岳中,秦锋,刘宏申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育,2012(12):22-25.

[3] 于延,崔艳玲.“程序设计基础”课程改革实践[J].计算机教育,2012(20):47-49.

程序设计基础论文篇(3)

一、优化教学内容,构建新型课程体系

1.优化教学内容。计算机软件技术应用领域广泛,知识更新快,实践性强,既要求扎实而广博的理论基础又要求良好的实践动手和自我学习能力。针对这一特点,以计算机科学与技术本科人才培养方案为基础,以基本素质和工程能力培养为主线,以面向信息领域市场、面向区域经济建设为需求,坚持“基础、应用、实践”的原则,突出软件开发与设计的能力培养,在专业教学中强调理论与实践并重,知识、能力和素质协调发展,对教学内容进行了大幅优化设计。在基础能力方面优化了程序设计基础课程,新增了算法分析与设计、面向对象分析与设计课程;在软件设计高级理论方面优化了软件工程课程,新增了软件测试与质量保证、软件体系结构与中间件技术课程;在综合实践应用方面新增了Java程序设计、系统集成与项目管理、xml与电子服务课程。通过一系列教学内容的改革和优化,兼顾了软件设计理论的深度、广度和实用性,更加符合以软件设计能力培养为核心的教学主线要求。2.构建新型四层递进式课程体系。软件设计和开发是计算机科学与技术专业本科人才能力培养的核心和基础。通过深度剖析计算机软件设计能力的培养特点,总结以往教学经验,以培养学生软件设计能力为核心,构建了从程序设计基础到软件开发综合实践的四层课程体系,每层都有相应课程群以及阶段性培养目标。(1)基础理论层。以计算机导论、操作系统、数据结构、编译原理、计算机组成原理为核心课程群,目标是奠定计算机系统的基础理论知识。(2)基础训练层。以程序设计基础、数据结构与算法等为核心的课程群,目标是打牢程序设计基本能力,并初步掌握面向对象软件设计方法。(3)高级理论层。以软件工程、软件测试与质量保证、软件体系结构与中间件技术为核心课程群,目标是系统掌握软件体系结构、软件设计开发和软件项目管理的理论知识,为高级应用实践打下坚实基础。(4)综合应用层。以系统集成与项目管理、xml与电子服务、Java程序设计为核心课程群,目标是面向应用,全面提高软件项目设计开发的综合能力。四个层次之间环环相扣、互为基础、由低到高、循序渐进,逐步培养学生良好的软件理论素养和扎实的设计开发功底,为国家和社会培养合格的IT人才。3.强化实践能力培养,构建立体化实践教学体系。良好的软件设计能力不仅需要深厚的理论基础,也需要较强的实践功底。鉴于计算机软件技术具有实践性强、知识更新快的特点,我们设计了立体化三层实践教学体系,包括基础训练层、综合训练层、实践应用层。(1)加强课内实践教学,培养学生基本编程应用能力。基础训练层是由程序设计基础、数据结构、Java程序设计、编译原理和操作系统等课程的课内实验组成。在课程实验设计中加大了综合设计类实验的比例,减少了基础验证性实验比例。其中基础验证性实验与课堂讲授同步,加深对某个知识点的理解,紧跟老师引导完成练习。综合设计类实验对多个知识点进行综合训练加深对课程内容的整体认识,还需要提交实验报告。注重综合设计能力的培养。综合训练层是由程序设计基础、数据结构和软件工程等课程的课程设计组成。通过设计小型综合项目,培养知识的综合运用能力。课程设计的实施分为开题、系统设计、编码实现、系统测试、系统评价与验收,提交课程设计报告。要求分组完成,最后答辩评分、评优。我们对课程设计考核进行了改革,制定了具体的课程设计考核制度与考核方法,将课程设计考核变为答辩方式考核,包括小组答辩和年级优秀课程设计答辩两个过程和层次进行。(2)引导课外实践,培养学生创新思维能力。实践应用层是由各类大学生竞赛活动、大学生SRP训练项目、大学生创新计划、毕业设计、教师的科研课题、工程实训和软件开发小组等各种形式的实践活动为依托。通过各类竞赛,激发学生对软件设计的兴趣和主动性,鼓励学生积极参与教师科研项目、大学生创新计划、大学生SRP训练项目和毕业设计,培养和锻炼软件设计开发能力。

二、小结

围绕计算机基础、程序设计基础主线展开教学,使学生能够具有扎实的基本功,为高层次人才和创新能力的培养打下坚实的基础。对相关的课程进行整合,形成课程群,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式。

参考文献:

程序设计基础论文篇(4)

中图分类号:TP3-4

1 当前非计算机专业大学计算机基础课程教学内容存在的问题

随着计算机技术和网络技术的飞速发展,目前,社交网络平台、微博、微信、云计算[1]以及移动计算等各种新的信息技术不断涌现,发展迅猛。而我国大学的非计算机专业大学计算机基础课程教学内容和教学方式却相对滞后,存在以下两个主要问题。

1.1 教学内容落后陈旧,不能满足学生的学习需求和就业市场对毕业生信息技术能力的需求。目前各个大学的计算机基础课程的设置主要分为两个层次,第一层次的教学主要教授信息技术基础、Windows操作系统、Office办公软件与网络应用技术。第二层次的教学主要教授计算机程序设计,主要开设的课程为C、Visual Basic 、Visual Foxpro和Fortran等程序设计语言[2]。这些程序设计语言大都较为陈旧,很多已不是当前IT行业的主流程序设计语言和技术。

目前在中学阶段,大部分中小学也开设了信息技术课,甚至一些小学也开设了信息技术课程,大部分学生在入学前已经对计算的基本操作和应用比较熟练。因此不宜再将第一层次的教学内容作为教学的重点,而是要有所取舍,突出重点,对于大部分学生所掌握的基本的操作部分只作上机考试,这部分内容学生只要通过上机考试即可,不再详细讲授。在目前的第二层次的教学中,主要强调的是程序设计的教学内容,试图让学生掌握程序设计的基本知识和概念,具备简单的程序设计能力,为将来利用程序设计来解决自己专业和工作中碰到的问题打好基础。但实际情况是学生无论是在毕业前的学习过程中,还是在毕业以后的工作中,都少有能将学会的程序技术应用于实际问题解决的机会,造成学非所用的结果,同时,学生感兴趣的内容,在大学计算机基础课程中却没有对应的课程。

1.2 教学方式单一。目前大部分院校的计算机基础课程的上课方式采用的是理论+实验的方式,即老师通过大屏幕演示的方式讲授教材内容,再由学生通过上机实验题来熟悉课程内容[3]。由于讲授方式大都采用“填鸭”式的教学方式,再加上教学内容的落后,导致很多同学对计算机基础课程失去了兴趣,充满热情而来,却失望而归,最终大部分学生只是将它作为一门学校的必修课来上,或只是抱着考等级考试证书的目的来学习。这显然没有达到设置计算机基础课程所要达到的预期目标。

2 非计算机专业大学计算机基础课程教学内容的改革

由于计算机和网络的普及,加上当前移动网络和便携手持终端(如智能手机、平板和智能手表等)的快速发展,学生所面对的信息技术产品不再局限于大学计算机基础课程主讲的PC。同时,用人单位对大学毕业生的信息技术能力要求不再是仅限于基本的计算机操作和办公应用。用人单位对能利用信息技术解决各种工作中的实际的问题人材有很强烈的需求。因此,应该从课程模块的划分和课程的设置方面,以及教学内容的推陈出新方面,对非计算机专业大学计算机基础课程教学内容进行改革。

2.1 将第一层次的教学设置为信息技术基础课。信息技术基础课的教学内容应分为信息技术基础理论、信息技术基础应用、程序设计理论和实践。这一层次的内容作为一学期的课程。

由于大部分学生在中小学阶段所学习的信息技术课程中,主要偏重计算机技术的应用,而不注重对信息技术整体理论体系的学习,在知识结构中,并没有深刻理解信息技术的基础理论,对信息技术给自己所学习专业和社会发展所产生的影响缺乏深刻的认识,对于信息技术的整体理论框架没有总体的认识。因此信息技术基础理论部分主要注重对信息技术理论的总体框架、基本知识和概念进行学习。信息技术基础应用部分主要讲授办公软件和网页设计与服务器管理等内容,但其中办公软件部分应精讲、少讲,而将这部分内容在考试时通过上机考的方式考察学生的基本操作能力,作为一种条件性的考核,基础较差的学生应该督促其自学补强这一部分内容,教师再根据这部分学生的情况适时进行针对性的辅导,教师应该将讲授的内容重点放在计算机网络的理论和应用部分。

由于对绝大多数学生来讲,无论是在自己的专业上,或在将来的工作中,都甚少有机会去自己编写程序,工作中需要的更多的是计算软件硬件的应用和维护工作。因此,程序设计理论和实践部分只是要求学生了解程序设计的基本理论和概念,并对程序设计的过程和基本技术有一个基础性的了解,而不深入到程序设计的理论和技术中。在内容上,理论和实践部分简略介绍程序设计的基本概念和理论,选择一种程序设计语言,介绍程序的三种基础结构,并通过少量简单的程序让学生了解程序设计的方法和流程。这一层次的内容作为一学期的课程。

2.2 将第二层次的教学设置为信息技术应用课程。这一部分的内容应根据学校所开设的专业、学生的兴趣和将来工作的需求设计多个可选课程模块,供学生从其中选择至少一个模块进行学习。每一个模块设置为一个学期的课程。

如根据专业特点,可以设置CAD、Flash、Photo Shop和视频编辑等课程。在我校的教学改革实践中,我们改变了以前给艺术类专业的学生上程序设计基础课程的做法,将大学计算基础课程的第二层次教学内容设置为Flas设计或Photo Shop图形处理。这样的课程设计为学生以后从事自己专业相关的艺术设计、视觉传达、视频编辑等课程打下了良好的基础,达到了较为良好的教学效果。

根据将来工作的需求或学生自己的兴趣爱好,可以设置数据统计和处理、高级文档处理、信息设备维护等课程模块。如在数据统计和处理课程中,主要讲解数据的各种收集、整理和分析方法,对结果的解释和推论,以及常用的数据统计软件(如SAS和SPSS等)的应用,这样学生在到用人单位工作后,就可以利用掌握的数据统计理论和数据分析工具软件来对工作中的各种数据进行处理和分析,并将分析出来的有价值的结果通过合适的媒体形式进行展示。而在高级文档处理课程中,可以主讲Excel的高级功能和高级PPT的制作技术,Excel的很多高级功能在实际应用当中非常有用,如除了学生接触的常用函数以外,可以将一些统计功能的函数通过案例进行讲解,而在高级PPT的制作中应侧重设计的理念和其它辅助工具的应用,能让学生通过课程的学习后,能制作出具有专业水准和具有鲜明特色的演示文稿。在我校部分教师的课堂中加入的高级PPT的制作内容后,受到了学生的热烈欢迎。

以上的教学内容改革方案,即能增加学生的动手能力和教学内容的实用性,也有利于案例驱动等新教学方法的应用。部分新增加的教学内容也在教学实践中进行了实验,取得了较为良好的教学效果。总之,教学内容的改革应该根据当前IT技术的最新发展变化,面向学生和用人单位的需求,及时进行调整,这样才能达到设置大学计算机基础课程的目标。

参考文献:

[1]付涛.大学计算机基础课程分层次教学研究[J].电脑学习,2011(2):60-61.

程序设计基础论文篇(5)

1.课程定位及历史沿革

程序设计基础是高等学校一门重要的计算机基础课程,是计算机基础教育的基础与重点,高级语言程序设计课程是继大学计算机基础之后的一门必修基础课,属于校级平台的必修课程。

我校的程序设计课程由一系列课程组成,包含了C语言程序设计、Visual Basic程序设计、算法与程序设计、面向对象程序设计以及高级程序设计等五门课程。其中,前两种程序设计语言类课程面向我校广大非计算机专业学生开设,后三种程序设计语言类课程是我校计算机专业学生的专业基础课程。虽然高级语言种类不同,但程序的基本思想都是相同的。并且,程序设计的基本理论及思想不仅仅在计算机科学各领域使用,在其他非计算机专业的计算机辅助教学中也大量运用。它所讨论的知识内容和提倡的技术方法,不仅为计算机专业后续课程如操作系统、数据库系统、编译原理等课程提供了必要的知识基础,同时,对从事软件开发与设计也有着不可替代的作用,而且为广大非计算机学生,诸如电子控制类、机电类、信息管理类学生提供了必要的基础知识和技能训练。

1997年以前,该课程只是小规模在学校部分专业开设,内容以Basic为主。1997年成立计算机基础教研室,负责面向全校的计算机基础课程,这时该课程授课语言改为Pascal。从2001年后,我们以学生专业需求为导向,选择不同的高级语言,以便为后续相关课程服务。理工类非计算机专业学生学习C语言,文科类学生学习Visual Basic,计算机相关专业采用能支持面向过程方式和面向对象方式的C++语言,计算机专业高年级学生学习Java语言。至此,按照不同专业需求及不同学生层次设置课程,课程内容不断更新,逐步形成比较完整的系列课程体系。丰富的程序设计语言及分专业、按层次教学,使得程序设计课程能够适应当前市场实际需求,在实际教学中受到学生的欢迎,也深得后续课程教师的肯定。

2001年程序设计课程被计算机学院列为院级重点建设课程,2005年成为我校重点建设课程,2006年被评为校级精品课程。

2.贯彻教学+应用型教学模式,抓好各个教学环节

(1)更新教学内容,改革教学方法和手段,提高教学效果。

为了适应计算机技术快速发展的新形势,从1999年开始,我们对教学内容适时做了根本性调整,具体来说有四次较大规模的调整:1999年以前讲授语言以Basic为主;1999年-2001年转换成Pascal语言;2001年-2004年为C语言,2004年至今,按不同专业及学生层次不同,在不同阶段开设不同语言,大致可分为文科类、理工类、计算机专业高年级三大类,分别讲授Visual Basic、C语言、面向对象程序设计C++及Java。

在不断更新教学内容的同时,在教学方式和手段上也尝试进行改革。从2001年起开始针对不同层次学生实行分级教学,做到因材施教,使基础好的学生能更上新台阶,而基础较差的学生能够掌握程序设计最基本的要求。为了适应程序设计基础系列课程操作实践性强的特点,课堂教学全部在多媒体教室通过大屏幕结合黑板在计算机上边讲边演示。2003年开始实行双语教学,针对数学和英语成绩非常优秀的学生开设纯英文环境的计算机教学。2004年建立了课程网站,将有关课件、教案、习题及答案等放在校园网上,并实现局域网内的在线考试,利用网络技术实现多媒体教学。促进教学手段多样化,为帮助学生自主学习提供了有利条件。

(2)构建完整的实验体系,培养应用型人才。

程序设计系列课程是理论和实践要求都相当高的课程,而我校各专业的人才培养目标是培养能够从事科学、技术和应用各领域中有关教学、科研、开发和应用的复合型人才。因而在程序设计系列课程中,培养学生获取知识的能力和分析、解决问题的能力,从而为将来实际应用打好坚实的基础是我们一直在努力探索的问题。全面的实验内容、实验过程全程指导,是保证课程目标实现的基础[1]。

加强上机实验环节是该系列课程主要的实践教学手段,通过对计算机语言的实践,使学生掌握程序设计的基本思想、基本方法[2]。实验教学时学生在教师的指导下进行上机操作,保证一人一机。每位教师指导一个自然班,要求学生每个实验项目都要按规范格式填写实验报告。为进一步加强实践性教学环节,我们根据实际情况及时调整了理论教学与上机学时的学时分配,例如,C语言的实验学时从原来20学时增加为30学时。

在实验内容方面,课程的实验分为基础性实验和鼓励学生创新的综合设计性实验两部分。基础性实验主要是一些预先设计好的实验。学生通过实际操作,能够加深对课程所讲授的基本原理、技术和方法等知识点的理解。在系列课程中,根据不同语言课程的特点,制定了各具特色的基础性实验,以全面强化学生对基础知识的掌握。但是这种实验只能称之为验证性实验,而要想让学生把本课程的知识融会贯通,还需要通过综合性实验的锻炼。不同程序设计语言都根据各自特点,设计出有一定难度又与科学研究相关的综合性实验。这些措施提高了学生的学习兴趣,达到了很好的教学效果,受到学生的普遍欢迎。此外,为提高实验教学效果,我们紧跟学科发展的步伐,动态更新实验教学内容,及时加入反映学科领域的最新科技成果,保证教学内容的先进性。除了不定期更新实验内容,修订实验大纲外,我们还有针对性地编写了适合我校学生实际情况的实验指导书。现在,程序设计基础系列课程所涉及的每门课程都有规范、翔实的实验指导书。

针对有课程设计的“算法与程序设计”和“面向对象程序设计”,课程组教师组织有专题学生选题讨论会,要求教师开题必须从学生学习的实际情况出发,做到既有难度较大的题,又有较容易的题,供其自由选择以利于独立完成,同时改变以往的成绩评定方式,采用课程设计答辩方式,每位学生在设计完成后必须参加并通过答辩,才能拿到学分。

(3)精讲多练,改进考核方式。[3]

本着精讲多练的原则,改革了考试方式。由于程序设计系列课程的习题涉及的内容多、范围广,所以在考核上,我们从以往偏重于期末考试成绩改变为注重阶段性考试,在学期中间增加了两次平时上机考核。这一措施使学生在平时就注重每一部分的知识学习,增强了对学生程序设计基本素质的培养力度。

(4)加强教材及教学辅助资料建设。

基于课程目标不断更新的要求和计算机技术不断发展的实际情况,我们不断改进使用教材的质量。在使用国内外先进教材的基础上,根据本校学生的实际情况,编写了教学急需的内容新、覆盖面宽且简明扼要的优秀教材和实验指导书,以满足不同课程类型教学的需要。到目前为止,课程组已经正式出版教材4部。在实施双语教学过程中,积极引进原版教材,采用由Brian W.Kernighan和Dennis M.Ritchie编写并由Prentice Hall出版的影印版教材。此外,我们根据实际需要不定期修订教学大纲和实验大纲,每年更新电子教案,使得教学内容能反映实际需求和技术最新发展。

(5)加快现代化教学,方便学生自主学习。

我们不断加快CAI辅助教学课件、网络课件和录像教材等的配置和研制,从多方面创造条件方便学生自主学习,激发学生学习积极性。从2002年开始,教师自制多媒体教学课件多套,全面实行了CAI教学。2004年开通了课程网站,将教学课件、实验安排、教学文件、教学辅助资料等静态资料和辅导、答疑、课程通知等与学生动态交流的诸多工作放置到校园网上,从而为教师和学生学习提供了信息共享的平台。教师通过课程网站论坛,及时了解学生对课程的建议和意见,动态调整教学手段和方法。现在程序设计基础系列课程的网上论坛已经成为我校学生与教师学习、讨论的热点论坛之一,以此为载体极大地提高了学生学习积极性,同时为我校“一校两区”进行教学提供了较好的范例。

在课程网站开通的同时,我们进一步完善了自主开发的网上通用考试系统,使之具有强大的题库管理功能,能实现自动组卷、审卷与发卷、答题与交卷、试卷评阅和成绩管理与统计分析,且对个人课后练习将提供全面支持。学生通过网上练习系统和考试模拟系统,可以对学习过的知识进行自我考核和评价。

3.教学队伍建设

优秀的教师队伍是保证课程建设质量的关键所在[4]。经过多年建设,现在程序设计系列课程已经形成了老、中、青相结合,教授、副教授、讲师俱全的教学梯队。现有专职教师17名,平均年龄37岁,其士3人,硕士以上学历占教师总数的比例为90%。教学团队制定了中青年教师培养制度,有计划、有目标地对教师进行培养,先后送出5人攻读博士学位,5人攻读硕士学位。

经过有计划、系统的培养,这些青年教师取得了可喜的成绩。在学校、学院组织的青年教师教学基本功竞赛中,有2人次获得学校二等奖,2人次获得学院一等奖,3人次获得学院二等奖。同时,这些青年教师还参加了不同的科研项目组,在实践中提高了自身的专业素养。课程任课教师年终考核都在良好以上,并有6人次年终考核为优秀。

小结

经过多年积累,程序设计系列课程在教学模式、方法与手段、教学内容、考核方式、网络化教学和实践环节等各个方面不断完善和改进,逐步形成了有较高水平的教学团队;采用课堂授课、计算机演示、网络学习相结合的多种媒体相结合的教学手段。通过一系列改进措施,课程达到新层次。但与国内重点院校相比,本课程的教学尚有许多不足,主要集中在如下几点:授课教师的职称结构与重点院校尚有距离,课程教学的研究立项还不够,部分学生由于自主学习能力不足,学习效果低于预期结果,这些都是在以后的教学研究中需要重点讨论的问题。另外,课程网站资源还有待进一步充实,因此要达到全方位的网络化教学还有待加强与改进。

参考文献:

[1]尚利宏.北京航空航天大学“嵌入式系统设计”精品课程建设[J].计算机教育,2006,(8):7-9.

[2]殷人昆,邓俊辉.清华大学“数据结构”精品课程建设[J].计算机教育,2006,(8):20-22.

[3]朱莉,顾保磊.当前高校计算机系列课程建设初探[J].中国地质大学学报(社会科学版),2002年9月,2,(3):70-71.

[4]杨宪泽.高校计算机基础教学探讨[J].西南民族大学学报(自然科学版),2005,(6):1015-1017.

该文为武汉工程大学2006年教学研究项目。

程序设计基础论文篇(6)

一、课程定位

程序设计基础这门课程是在学院第一个学期开设,共有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竞赛平台里面的题目融入到平时的教学过程中,也会把平时表现好的学生充实到竞赛集训队伍里面;教学结合,学以致用,教师指导,学生自主研发一些小游戏,比如石头剪刀布的游戏。

程序设计基础论文篇(7)

一、课程目标

计算机人才的培养一直面临着一个切实的问题,那就是如何提高计算机专业学生的“学科专业能力”,即计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力等。为了解决这个问题,以宁波市教育规划课题(以“算法为中心”的程序设计基础教学改革课题编号:YGH09081)为契机,对计算机科学与技术专业《程序设计基础》课程进行深入改革,试图通过对《程序设计基础》的改革探索,优化相关系列课程的教育教学方法,切实解决如上问题,使我院本科层次的应用型计算机人才的专业素质符合就业市场预期。

《程序设计基础》的改革意义非常重大,要培养切实的专业能力,不仅仅是教学方法改进的的问题,最根本的还是教学内容的问题。经过多次讨论,最终确定将《程序设计基础》课程的教学分为两个阶段,第一阶段主要培养学生的计算机思维、算法分析设计能力;第二阶段主要培养其综合程序设计与系统实现能力。在两个阶段中,将“团队意识”、“开发文档钻写”、“语言表达”等专业基本素质导入其中。

二、教学改革方案

1.教学内容设计

(1)以“算法设计”为中心的教学内容组织

“程序设计能力”的核心是“算法设计”,因此,教学内容以“算法设计为中心”,语言作为实现工具,目的是激发学生自己不断去创新算法,课程组根据这个思想确定了第一阶段课程教学内容。

第一阶段的教学中,教师要从传统的“以语法为中心的”教学方法中解放出来,设计适度规模的问题,引导学生根据“数学经验”建立“解题步骤”,教师将其“数学经验”与“计算机处理方式”进行对比,让学生将原有的“解题步骤”进行修正,进而引入流程图的构建,最终让学生思维从“数学解题步骤”迁移至流程图(计算机解题步骤)。这个过程是培养其主动思考、初步建立“算法概念”的阶段。

在第一阶段的教学中,强调思维训练,突出算法设计;为下一阶段培养学生的“综合程序设计能力”奠定基础。

(2)深化“程序设计”能力,全面培养“专业素质”

第二阶段是综合程序设计能力和系统能力的全面培养阶段,整个教学活动围绕“系统开发”:由学生组建“开发团队”(以三人最为合适),教师提出三个系统需求,针对不同系统,组员轮值项目负责人,从系统需求出发,完成“功能设计”、“模块划分”、“算法设计与优化”并最终“系统实现”,在此过程中,针对每个系统开发需求,“项目负责任人”进行任务分配、项目监控,并最终给其余团队成员评审考核。

2.课堂教学模式改革

以“讨论式”为主的课堂模式改革,是确保能力培养目标实现的有效手段。

探索在《程序设计基础》课中进行讨论式课堂教学,在程序设计课程中,针对中等规模的问题进行“算法设计”讨论,由教师提前提出问题,鼓励学生探索解决。在课堂上鼓励学生发表各自的“算法设计”方案,并激发其他学生提出争议,让学生真正体会“思维探索”的乐趣,激励学生在思想交流中深入思考;而教师在学生的争论中以“咨询员”、“主持人”等角色出现,合理把握课堂节奏,尝试课堂教学由“知识型教学”.向“探索型教学”转变,教师也由传统的教学主导者转变为教学活动的引导者。

通过教学反馈,发现“讨论式”教学不仅培养学生的主动思维探索能力,提高学生分析问题和解决问题能力,而且学生参与课堂的积极性有大幅度提高,这对于应用型本科院校的学生来说,实属难得。

3.评价体系

为确保能力培养目标的实现,提出“成果”为依据进行学生考核,所谓成果指在第二个教学阶段中,各个项目开发结束后形成的“软件成果”、“开发文档”、“答辩成果”作为其考核依据。其中,每个项目为30分,针对每个项目给出考评结果(如表1,其中“软件成果”和“开发文档”各占15分)。除去三个项目90分,剩余10分为“成果答辩”,所谓“成果答辩”主要是通过陈述和答辩方式展示开发成果(如表2),这个环节在每个案例结题后一周内进行,以小组为单位向任课教师申请,“成果答辩”部分以“开发小组”为单位自愿申请,并不强制,但从最终实施看,由于小组间的竞争,大部分小组都选择参与答辩。最终形成表3,作为其《程序设计基础》课程最终考核结果。

表1 项目评分表:(其中A1、B1为评分细则)

表2 答辩成果表

表3 总体评分表

三、实践成果

新课程改革方案已在2009级计算机与科学专业实施,从教学效果来看,通过两个阶段的培养,学生已超出预期的完成教改目标:

1.在大一,90%的学生顺利实现两千行设计性代码。

2.算法分析、综合程序设计能力明显提高,编码更注重技巧,算法追求创新。

3.大一结束,计科专业每位同学均能撰写3000字左右的设计文档,并做到符号、图形标准,设计报告撰写能力明显增强。

4.最为关键的是,学生的主动学习积极性明显提高,根据对学生的跟踪、调查,09计科专业的学生70%会主动放弃游戏时间,在宿舍内讨论项目开发、编码优化等问题;编码量的加大,并没有出现学生厌学的情况,反而使学生在算法设计中更关注个体创新,体会到算法设计的乐趣,进而快乐的创新。

四、小结

在《程序设计基础》的改革中,课时大幅度减少,课时教学效果明显提高。根据我们调查,由于学生编码量大幅度提高,讨论课增加,深层次问题也增多,而问题本身的个体性又很强,为保护学生的创作精神,教师加大课外辅导力度。由此可见,改革的成功并不仅仅取决于一个好的方案,更重要的是教师的付出。《程序设计基础》是一门基础类课程,它的教学效果绝不仅仅体现在现有以上几个方面,它的教学效果还将进一步在后续课程中得到验证;它的教学为应用型人才的专业能力培养奠定坚实基础,为后续课程的深化提供了依据。

参考文献:

[1]牛欣源.程序设计实践方案的研究与实施[J].计算机教育,2010,(10):132.

程序设计基础论文篇(8)

程序设计是计算机专业领域中最为核心的工作。在程序设计工作中,既要对问题进行分析,又要考虑各种设计的可能性,更高层次地,还要考虑运行程序的代价问题。作为计算机各专业的三大基础课之一,学生对其掌握的熟练程度将直接影响后续课程的学习。

一、 程序设计基础课程教学的现状及面临的问题

1、教学的现状

各院校开设的程序设计基础课程,多为教授学生某一种程序设计语言,其中Pascal、VB、C、C++、Java语言较为多见。 C语言作为当今最为流行的程序设计语言之一,不但成为计算机专业的必修课,而且也越来越多地成为非计算机专业的学习课程。但在实际的课程教学中,许多教师和学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,教师教学和学生学习都感到困难,并不同程度产生畏难心理。特别地,多数院校将C语言作为计算机专业学生进校后首先接触的第一门专业基础课,这种现象尤为明显。

2、面临的问题

一直以来,关于如何讲授面向大学生的程序设计基础课程,许多人争论的焦点放在了语言选择上,把讲授的重点放在了语言的语法规则介绍上。从短期看,这样做便于学生学,也便于教师教。但从长期看,越是注重以语法来衡量学生对语言的“掌握”程度,就越是忽略了程序设计真正使用的基本思维方式和方法,最后导致学生可能在学习完一学期的课程之后,满脑子除了一些语法知识,几乎没有任何分析解决实际问题的技能。

二、教学内容的改革

纵观教学的现状和所面临的问题,笔者认为程序设计基础课程应围绕程序开发周期,即分析问题、设计程序、编写程序代码、测试程序以及其他额外步骤等展开教学。但这并不容易实现。首先,若要从程序开发周期的各个方面教授学生,需要花费较多的课时。目前各院校开设的程序设计基础课总课时不尽相同,但大多在50到60课时之间,其中有三分之一是学生实验实训环节。换句话说,教师用于讲授的时间一般只有30课时左右。其次,以C语言为例,涉及基本数据类型、运算符和表达式、控制结构、数组、函数、指针、结构体和共同体、位运算和文件等诸多内容,显然,要在30课时内讲授完是很困难的。第三,即便是用填鸭式的方式将上述知识全部灌输给学生,学生也是不可能学会的。反而会造成学生的抵抗情绪。第四,本科计算机专业的程序设计教学一般是在一年级上学期先开设程序设计导论课,然后再开设具体的语言程序设计课,这是个循序渐进的过程。然而高职高专计算机专业的培养目标和教学进度与本科的是有区别的,因此,本科计算机专业的教学模式不能全部采纳。笔者以总学时50课时,其中讲课30课时,教授C程序设计语言为例,认为课堂教学可以进行以下改革。

1、以结构化程序设计为核心,重点讲授程序设计的控制结构

人类的自然语言有千百种,归根结底都是人类思想交流、记录的工具。计算机语言同样也是对解决具体问题的算法思想的表达工具。表达的形式――程序设计语言千差万别,但表达的内容――算法则是殊途同归。这里所说的算法不单是算法的概念和具体的某种算法,还包括算法的表示方法如流程图、结构图和伪代码等。程序设计语言本身只是在最后用来描述算法的一种工具,而任何程序不外乎由顺序结构、选择结构和循环结构组成。不论用哪种语言编写程序代码,都无法脱离这三种控制结构。可以说,是否掌握它们的用法决定了学生设计程序的优劣。因此,笔者认为,在高职高专的程序设计基础课中,让学生学习、掌握如何分析实际问题和设计解决它们的算法及算法描述的同时,应重点传授三种控制结构。

以往除了三种控制结构外,指针也是C语言的教学重点,或者说是重中之重。不可否认,指针是C语言的精髓,对程序设计有锦上添花的作用。能够驾驭C这门程序设计语言,势必熟练掌握指针的运用。而且,在目前的各类计算机等级考试中,C语言的指针也是必考而且重点考查的内容。那么,仅把教学重点放在控制结构上是否合适呢?笔者是这样考虑的:

第一,学习指针需要研究指针四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、以及指针本身所占据的内存区。这个学习的过程是相当费时的。较短的课时教授较多的内容之间存在矛盾。

第二,学习指针还要有一定数据结构的知识,对于初学程序设计的学生而言,过快地接触指针会使他们措手不及。有限的认识能力和知识水平与较复杂的应用之间存在矛盾。

第三,作为高职高专的程序设计基础课,浅显易懂实际上是非常重要的。高职高专学生的学习基础相对本科以上层次的还是较弱的,更应当使课程真正发挥“基础”的作用,成为为学生打下的坚实基础的奠基石。

那么,在高职高专的程序设计基础课中,是否就不必教学生指针的知识呢?当然不是。在学生掌握了程序设计的控制结构以后,选择性地将指针的概念及其一般的规则进行讲授,其他复杂及带有技巧性的内容,可以放在后续课程,或者在应考培训班里再作深刻的研究。

2、始终贯穿程序开发周期的教学,培养学生建立良好的程序设计风格

如1中所述,不能从语法规则角度来衡量学生对语言的“掌握”程度,不能忽略程序设计真正使用的基本思维方式和方法的教学。人类学语言很多时候不是先学语法语义规则的,而是先能听懂,然后会跟着说,然后才是学习书写以及其它更高形式。学习计算机语言也是一样的。让学生从感性再到理性去认识和理解程序设计,学生才有可能在学完课程之后大有收获。

现实中一个程序的开发是要经历一个漫长的开发周期的:分析问题阶段是整个周期中最困难的部分也是最重要的部分,需要明确期望的结果,需要明确有哪些信息参与来得到结果,需要对什么样的数据进行什么样的操作去得到期望的结果;设计程序阶段是开发过程的核心,需要把分析阶段的结果模块化,并采用算法加以描述;编写程序代码阶段用具体的计算机程序设计语言实现前一阶段的算法;测试程序则需要花费更为漫长的时间,因为实际的用户无法容忍一个有隐患的软件。这样看来,具体的程序设计语言要在整个开发周期的第三阶段才发挥作用。而程序设计风格就像一个人的习惯一样有好坏之分,好的程序设计风格会增强程序的可读性和易用性。因此,在学生学习程序设计基础之初,就应该注重培养学生的良好编程习惯,并在每个章节的教学中展开对程序开发周期的学习,让学生认识和理解整个程序开发过程,这样才不致使程序设计语言的教学脱离实际的应用。

必须注意到,高职高专的目标是培养应用型人才。学生在掌握一定理论知识的同时,更重要是实践。适量的实验实训环节必不可少,教师也应重视学生的实验实训课。以往有些教师因为总课时少,在不能增加总课时的情况下为了多讲理论便压缩实验实训课时的做法不可取。

三、教学策略的改革

作为程序设计基础课,让学生了解到什么是程序设计的基础是重要的。其实,具体的程序设计语言已经是实现程序的方式了,所以它才规则详尽、语法严谨、技巧多样。从这个角度也不难理解初学的学生为什么会感到困惑和吃力。

1、注重培养学生描述算法的能力

要用计算机解决实际问题,那么,在对问题进行分析后,就要针对问题设计解决该问题的算法。设计算法就是要把解决问题的步骤用清晰的语言表示出来。有多种方法可以描述算法,如自然语言、图像符号、伪代码等。用自然语言表示算法,人比较容易理解,但书写较烦琐,而且在某些场合,由于自然语言含义的不确切性,容易引起歧义,造成误解;对较复杂的问题,用自然语言又难以表达准确。因此,一般情况下较少采用自然语言这种方式表示算法。据笔者所知,部分院校的程序设计基础课在算法描述这个知识点的教学上以介绍流程图或结构图这类用图形符号的描述方法。笔者认为除此方法之外,也应注重对伪代码的讲授。伪代码介于自然语言与程序设计语言之间,代码简单、可读性好、并且类似自然语言,使用它可使被描述的算法较容易地以任何一种程序设计语言去实现。教师在教学过程中不一定限于具体的一种程序设计语言,训练学生用不同方法描述解决问题的算法,特别是伪代码,可以增强他们组织语言的能力,进而更好地理解程序的控制结构。

2、注重培养学生良好的程序设计风格

程序是最复杂的东西,良好的格式能使程序结构一目了然,便于编程人和其他人理解它,同时有助编程人的思维,帮助其发现程序中不正常的地方,使程序中的错误更容易被发现。因此从学生学习开始,教师就该讲授什么是良好的程序设计风格,并严格要求学生按分层缩进法书写和键入程序代码,尽量避免学生养成不良习惯后再去纠正,为时已晚。

3、注重培养学生分析问题的能力,从不同角度分析问题

多数教材在第一章就能见到程序代码,虽然在代码后会有注释,但学生在课程学习之前多数是从未接触过程序设计语言的,他们不懂语法语义规则,这个时候即使只是简单的格式输出程序代码,学生也是难于理解的;在学生学习一段时间有一定基础之后,他们又迫切需要阅读那些用于解决问题的可执行的程序代码。可见,机械地讲解教科书上的例题教学效果不好。对于一个问题,可以从提出问题的角度入手给出分析的步骤,如:什么是问题要输出的结果?什么是问题已经有的数据?用什么方法可以得到结果?或者从算法描述的角度给出同样的分析步骤;亦或从程序代码的角度,边讲解边让学生思考代码究竟是要解决一个什么问题。并且引导学生举一反三,逐渐使学生具备解决问题的能力。

四、结论

本文主要针对课时少知识点多这一矛盾对高职高专程序设计基础课教学内容和教学策略的改革进行了探讨。笔者也注意到:一个完整的课程内容通常有九大要素,即吸引注意、告知目标、追忆学前经验、呈现教材、提供指导、实际演练、提供反馈、评价成就及强化学习、保留与迁移。因此在教改过程中,除了教学内容和教学策略外,还有许多待研究的问题。

上述教学内容、教学手段的改革,已经在程序设计导论课程教学实践中运用。笔者将继续努力研究,使程序设计基础课程教学日趋完善。

参考文献:

[1](美)维尼特(Venit,S.),(美)德雷克(Drake,E.).《程序设计基础》(第三版)[M].北京:清华大学出版社,2008

[2]高林,周海燕.《程序设计方法与案例分析》[M].北京:人民邮电出版社,2005

程序设计基础论文篇(9)

随着计算机软件行业的发展与普及,十几年来计算机软件技术发生了翻天覆地的变化,而高等学校的教学内容、教学模式与教学方法却没有多大的改变,课程教学理念严重滞后于实际需要,教学效果存在相当大的问题。现在的计算机软件专业学生拥有的优势越来越少,就业压力也越来越大。对独立学院的计算机软件专业学生而言,更是如此。比专业理论知识,他们没有一本、二本的学生全面扎实,比实践操作能力,他们又远不及高职学生。那么独立学院应该培养怎样的计算机软件人才呢?学生将来毕业以后,凭借什么在社会上立足呢?这是我们老师一直在思考和探索的问题。

为适应新的形势,我院明确了计算机软件人才的定位:培养应用型软件人才。这个培养目标既是从独立学院学生的自身条件出发,又符合当前社会对计算机软件人才的需求。在这个培养目标的指导下,我们在计算机程序设计课程教学上进行了大胆尝试,修订了教学大纲,增加、删除了部分教学内容,并将新的教学模式与教学方法引入计算机基础教学中,取得了较好的效果。

1存在的问题

已往的教学经验表明,学生在学习程序设计类课程时最难的地方不是掌握某种程序设计语言的语法规范,而是掌握程序设计的基本方法。

程序设计语言的语法规范是死的,并且与任何一种自然语言相比,程序设计语言的语法规范更简单规则。因此,只要学生掌握好了程序设计的基本方法,再花费一定的时间掌握某一种程序设计语言的语法规范,就能用该程序设计语言设计程序,甚至达到精通水平。

具体而言,目前教学中存在的主要问题有:教学内容与教材组织过于陈旧;教学目标没有反映新形势的需要。其典型表现在:程序设计方法强调不够,抽象思维能力培养不足;某些程序设计中重要的概念讲授力度不足,如库与接口、UML建模以及目前流行的软件开发方法等,学生在实际的软件开发中无法满足企业的需要。

2构建程序设计基础培养四阶段课程体系

大多数独立学院的本科计算机软件专业现行的课程设计,与普通的一本、二本院校相比相差无几,没有突出独立学院的特点,也没有明确独立学院的培养目标。因此,对独立学院计算机软件专业课程体系进行改革迫在眉睫。我院以“计算机导论与C语言程序设计”为公共基础的程序逻辑训练、以“高级程序设计技术”为核心的程序设计方法培养、以“数据结构”为支持的数据与程序抽象能力培养、以“C++程序设计”贯穿面向对象程序设计新理念,并在大三大四高年级开设了Java、Linux、UML建模等程序设计类选修课程,形成了“基础训练+方法培养+提高能力+拓展层面+实践应用”的程序设计教学新模式[1],在强化程序设计能力培养过程中发挥了重要的作用。

3提出并实施四层次软件人才培养新模式

我院以课程体系为基础,提出并实施了“基础训练+提高能力+拓展层面+实践运用”的四层次软件人才培养模式。

3.1基础训练

程序设计基础训练课程开设在大学一年级,是大学阶段系统认识计算机、应用计算机的入门课程,通过程序设计的词法、语法及使用方法的学习,要求学生掌握、体会计算机解决问题的基本技能。在基础训练中,通过对计算机导论课程的学习,让学生认识并能熟练运用计算机编写程序;通过对C语言程序设计课程的学习,让学生初步掌握程序设计的方法,训练程序设计中的逻辑思维。

3.2能力提高

程序设计能力提高课程开设在二年级,主要从两个方面提高学生的程序设计能力:一是高级程序设计技术课程,重点学习典型的程序设计方法技术,便于学生系统地学习并掌握程序设计方法技术。二是数据结构课程,通过构造性思维的训练,重点突出数据抽象与程序抽象能力的培养,让学生在基础训练阶段之后能更深入地理解程序设计的概念。

3.3层面拓展

主要以市场需求为基础,包括工具类别与应用环境的拓展,以选修课形式开设在三、四年级。在具有良好C程序设计能力基础上,展开其他程序设计工具层面,如开设Java、VC++、VB等程序设计类选修课程,增强学生掌握新工具,举一反三的能力。随着我国经济发展,国外市场份额不断增加,熟悉和使用Unix环境已成为计算机软件专业应当掌握的重要技术,开设Unix环境编程和Linux程序设计等课程,将拓展应用环境,提高学生适应新环境的程序设计能力。

3.4实践应用

自2006年以来,我院就加大了程序设计课程中的实践课时比例,实践课时占到总学时的1/2或1/3,每门实践课都单独安排了实践课老师,指导学生更好地进行实践。在实践课设计中,我们既重视学生理论知识的巩固,又注重其解决实际问题能力的培养,因此,我们把实验自下而上分为知识层、应用层和综合层3个层次。

知识层注重对知识的理解和掌握,数据结构、数据库原理和Java程序设计等理论课增设了相应的课程设计,课程设计的主要内容是:按软件企业先进的项目管理和开发模式,以“项目驱动”进行软件系统开发的实训。应用层重点在于巩固与应用,学生在校期间参加课外兴趣小组或在毕业论文设计中,大部分学生都能使用VC++做系统级深层次应用。综合层则关注综合与创新,学校鼓励学生参加大型的综合性IT比赛,如ITAT、大学生挑战者杯创业大赛等。

3.5创造性思维能力的强化

计算机程序设计能力,对计算机专业学生的知识结构、技能的提高和智力的开发变得越来越重要,技能培养的重要程度决不亚于知识传授。对程序设计能力的提高来讲,编程序不难,编好程序不易。质的飞跃来自量的积累、艰苦的磨炼,所以良好的专业技能和创造性思维培养的关键在于实践。程序设计是高强度的脑力劳动,是创造性的艺术,只有提高了科学思维,学会了程序设计的真本领,才会将知识与技术变成能力,应用自如。

3.5.1案例驱动教学:兴趣引导

针对独立学院学生思维灵活但学习自觉性较差的特点,我们采用案例教学法,避免了传统填鸭式教学方法的呆板,通过实例演示,让学生对所学知识产生兴趣,有了一定的感性认识之后,再提升到理论高度,循序渐进地掌握知识。经过多次教学的探索,总结出重点讲授解题思路、算法设计及编程构思,突出上机训练,在编写程序过程中让学生自己进行探索性的学习,程序设计中的成果能极大地增加学生的成就感、培养学生程序设计的兴趣,并达到更加牢靠地巩固理论知识的目的。好的程序设计案例所采用的程序设计方法教会学生用适当的语言清晰地表达其思考过程。

3.5.2指导―大运动量实践―反馈训练:加强创造性思维培养

数据结构[2]的学习过程,是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解,习惯算法构造思维方法。针对数据结构技术性与综合性较突出的特点,我们提出并实施了“指导―大运动量实践―反馈训练”教学法。通过作业练习、课程实习、课程设计3个环节实现实践过程,前者偏重于对课程内容的理解,后者侧重于软件设计综合训练,促进了专业学生逻辑抽象能力和创新能力的培养。

3.5.3项目训练:提高应用能力

通过“项目训练”[3]方法,我们提出课程设计规范要求,突出关键技术要点,贯穿基本技能训练主线,精心设计综合性实验,体现加强实践能力培养的重要思路。数据结构课程设计时进行软件开发综合训练的第一门课,通过选用具有一定实用性的综合题目,采用学生个人进行和小组合作的方式,通过问题分析、总体结构设计、用户界面设计、程序设计基本技能和技术的一系列过程,培养学生动手实践、合作研究、协作开发大型软件项目的能力,培养学生采用软件工程正规方法进行设计与实现,为专业技能训练奠定了基础。“项目训练”方式将学生引入具体的项目研发,使学生有更多的主动学习机会,培养了科研能力。

3.5.4提高学生的兴趣与创新能力

竞赛等多种活动为学生提供了展现程序设计能力的舞台,激发了学生学习的主动性。我们已连续3年开展全校“电脑文化节”、“网页设计大赛”、“Flash竞赛”、“计算机知识竞赛”;学生参加省级、部级数学建模比赛,6人次获部级奖励,20人次获得省级奖励;学生在程序设计大赛中取得优异成绩,获得多项奖励,3人次获ITAT部级奖,多人次获省大学生挑战杯一等奖。

4结语

计算机课程改革势在必行,特别是对于独立学院来说,更是迫在眉睫。改革的成功与否将直接关系到学生以后的就业。在进行计算机课程改革的基础上,我们针对软件人才的培养,提出程序设计教学的新模式和以设计为中心的能力培养新方法。作为一种有益的尝试,新的课程体系通过一种有趣的、面目可亲的方式向学生说明了创造性思维能力在程序设计中起到的重要作用。

参考文献:

[1] 翟玉庆,邓建明. 计算机科学研究型人才培养模式的探讨与实践[J]. 计算机教育,2005(1):31-33.

[2] 耿国华. 数据结构[M]. 北京:高等教育出版社,2007.

[3] 王志英,宁洪,戴葵. 强化计算机专业实践教学[C]//第七届全国计算机系系主任论坛论文集. 北京:高等教育出版社, 2004:37.

Reform of Computer Courses and Training of Software Personnel in Independent Colleges

LIU Ya, TAN Qian-mao, ZHOU Li

程序设计基础论文篇(10)

“C语言程序设计”是高职院校计算机相关专业的一门专业基础课。本课程的前导课程有计算机基础,后续课程有面向对象程序设计、Android程序设计、嵌入程序设计等。该课程是计算机类相关专业的一门专业核心课程,对后续课程的学习影响巨大。针对高职院校职业能力培养的需要,本课程主要培养学生的编程能力。该课程使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用C语言进行程序设计并具备初步调试程序的能力,为后续课程的学习和应用打下基础。通过采用翻转课堂教学模式,借助MOODLE平台,该课程的知识学习可以在课前进行,课堂教学可以更加注重实践操作能力训练,为高职院校专业技术类课程教学改革提供了一个新的方向。

1 课程情况分析

课程任务:通过本课程的学习,学生应掌握C语言的基本语法、结构化程序设计的基本思想和程序开发过程;使学生掌握结构化程序设计的一般方法,能编写应用程序解决实际问题;以本课程为基础,培养学生严谨的程序设计思想、灵活的思维方式及较强的动手能力,使学生逐渐掌握较复杂软件的设计和开发过程,为后续专业课程的学习打下扎实的理论和实践基础。

知识目标:掌握C语言程序的结构、函数的结构和程序开发过程;掌握算法的特性和程序的三种基本结构,能够使用流程图或N-S图来描述算法;熟练使用顺序结构、选择结构和循环结构编写程序,解决实际问题;能够熟练的使用函数编写程序,掌握函数的定义、声明、调用及参数的传递方式;能够使用数组编写程序,解决排序、查找等实际问;理解和掌握指针的概念、运算和使用方法,能利用指针编写应用程序;掌握结构体类型、结构体变量定义和使用,能利用结构体编写应用程序,解决较复杂的实际问题。能力目标:具有解决简单应用问题程序设计能力;具有阅读、分析和设计算法的能力;具有解决分支结构应用问题程序设计能力;具有解决重复操作应用问题程序设计能力;具有解决综合应用问题程序设计能力;具有综合运用所学知识进行应用软件开发、编码、调试、维护能力。素质目标:培养学生善于思考、深入研究的良好自主学习的习惯和创新精神;培养结构化程序设计思想和良好的编码规范;培养学生搜集资料、阅读资料、利用资料的能力,以及自学能力;培养学生语言表达、团结协作、社会交往等综合职业素质,养成爱岗敬业、遵守职业道德规范、诚实、守信的高尚品质。

2 翻转课堂教学模式

翻转课堂教学模式的核心理论基础为建构主义的学习理论。建构主义是一种关于知识和学习的理论,强调学习者的主动性,认为学习是学习者基于原有的知识经验生成意义、建构理解的过程,而这一过程常常是在社会文化互动中完成的。主要的教学观点有:学习是一个建构的过程、学习是一个活动的过程、学习是一个协作的过程、学习必须处于丰富的情景中、强调以学生为中心、强调情境对意义建构的重要作用、强调协作学习对意义建构的关键作用、强调对学习环境的设计、强调利用各种信息资源来支持学习、强调学习的最终目的是完成知识的意义建构。社会建构主义把上述的观点扩展到一个社群,该社群成员为彼此创造事物,为一个共同的目标,协力建立一个共享成果的文化圈。当一个人融入这样的一个文化氛围时,他将自始至终学习如何在各个用娉晌这个文化的一部分。社会建构论认为知识根本不存在于个体内部,而是属于社会的,个体不能独占知识,只能分享知识。因此教育要消除固定的权威;激活学习者间以及师生之间的关系;要在实践中形成意义;倾听各个学习领域和各学习主体的声音。

美国教授Robert Talbert提出的翻转课堂的教学模型包括课前和课中两个部分。课前,学生自主观看教学视频学习知识,然后有针对性的进行作业练习;课中,学生先进行测试,再与老师或者同伴进行小组协作探讨;最后,作出总结和反馈。

3 MOODLE平台简介

MOODLE平台是由澳大利亚Martin Dougiamas博士主持开发的课程管理系统,该系统是一套基于“社会建构主义理论”设计开发的开放源代码的软件,能够帮助教师高质量创建和管理的在线课程。Moodle以社会建构主义理论为其设计基础,主要特色有:简单轻便,相容性高,技术门槛低;其在线教学模块采用可自由组合的动态模块化设计,教师搭建在线课程时就像搭积木一样简单有趣;支持多种教学模式,可以帮助教师学生在一个积极协作的在线环境中进行交流;在线活动记录能够详细呈现。

作为强大的课程管理系统,MOODLE可以支持开设上千门的课程,平台支持无限制的课程目录创建。课程管理员在任何时候都可以创建、移动、下载、修改课程;可将课程设置为激活或隐藏状态,同时可以设定课程的进度;可以为课程设置灵活的权限和等级以及是否允许学员注销课程等。作为教师,通过该平台能够追踪到学习者进入课程学习的频率和持续时间;能以小组合计的方式显示时间、日期和频率信息;能对进入课程、讨论区、课程测试和作业的学习者的分别就进入次数,进入时间,日期,频率和IP地址进行记录、显示。

4 基于MOODLE平台的翻转课堂学习模式

课前,学生先在MOODLE平台观看教学视频。与视频配套的小练习一般由四到五个有针对性的问题组成。通过练习,学生可以及时对自己的学习情况作出判断。如果发现练习结果不理想,学生可以回头来再学一遍。通过MOODLE平台,学生的学习情况能够及时地进行汇总处理,帮助教师了解学生的学习状况。同时,学生与学生、老师之间可以在网络平台上进行讨论。

针对高职院校的职业教育的特点,《C语言程序设计》课堂学习模式采用项目实践、分组讨论为主,注重动手能力、职业技能的培养。

5 考核方式

结合翻转课堂教学模式的特点,《C语言程序设计》课程考核采用形成性考核方式,总评成绩由形成性考核的各项成绩组成,全面考核学生的动手能力、基础理论和平时学习状况,具体分数比例为:综合素质评价20%,过程性考核50%,终结性考核30%。综合素质评价:主要依据是学生平时的学习态度、课堂项目实践、讨论、作业情况及学生的通用能力考核。过程性考核:根据MOODLE平台上每个章节提供的配套课堂资源的学习完成情况、单元测试成绩进行考核,着重考察学生的主动学习能力、实际动手能力、分析问题的能力、独立解决问题的能力以及知识点掌握情况。终结性考核:学生进行期终考核,测试学生对知识的掌握情况。

【参考文献】

上一篇: 外科临床护理论文 下一篇: 金融与管理毕业论文
相关精选
相关期刊