前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇程序设计范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
[关键词]Java程序设计 实训 设计
一、实训教学的性质和任务
Java技术是计算机科学与技术相关专业培养的核心技能,本课程设计是在《Java程序设计》课程上设置的,在高职高专人才的培养中占有核心地位。它是巩固学生所学理论知识、培养学生动手能力并使理论与实际相结合的重要实践环节。
本课程设计的目的和任务,是通过学生用Java语言设计一个完整的应用程序,使学生综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力。
二、实训教学方法手段和考核方法的设计
(1)实训教学方法和手段
任课教师根据课程《网络程序设计Java》教学大纲中的重点内容,给出相应的题目或项目,指导学生完成任务。实训前必须制定好上机步骤,弄清实训目的;要求学生掌握实训项目所需的知识、操作方法或步骤,并写出详细的实训报告。
(2)实训考核方法
通过设计答辩方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,实训报告和答辩水平以及学习态度综合考评。
考核标准包括:
1.设计与实训报告 (20%);
2.程序的可用性,实用性,通用性,可扩充性(30%) ;
3.学生的动手能力、综合解决问题能力、创新精神(20%) ;
4.答辩水平(20%)。
5.态度和纪律 10% (分为优、良、中、及格和不及格五档)
三、实训内容与要求
(1)java系统程序开发
资产管理系统、学生信息管理系统、电子商务系统、网络购物系统、网络聊天室、人事管理系统、选课系统、论文管理系统、新闻系统、考试管理系统、学生宿舍管理系统等。学生可以小组为单位任选其一完成。
(2)Applet程序开发
做一个广告屏,显示一段文字,如图1所示,能够对文字的颜色、风格、字体、字号等修改。
要求:做成APPLET程序或APPLICATION程序;用APPLETVIEWER运行;能够在网页中运行。
(3)游戏开发
1.五子棋双人对弈
开发游戏性程序,例如五子棋双人对弈程序、扫雷程序,根据学生情况,此部分为选做内容。
五子棋双人对弈程序要求:
①按“重新开具”可以开始新的一局。
②需提示当前该哪方下棋,并提示已下棋子的信息。
③一方赢时游戏结束。
2.俄罗斯方块游戏。
说明:以上内容为模板内容,其它题目也可自己设计,但难度要相当。具体内容可根据实际由指导老师审定。
(4)总体要求
1.对系统进行功能模块分析、控制模块分析正确;
2.系统设计要实用;
3.编程简练,可用,功能全面,具有较好的健壮性;
4.说明书、流程图要清楚。
四、授课计划与学时安排
(1)教师介绍本课程设计的目的、内容、要求、方法和安排。(4学时)
(2)学生消化信息、完成设计报告。(6学时)
(3)教师审查设计报告。通过审查的学生的设计报告,然后调整确定实施方案。 (4学时)
(4)学生完成课程设计的程序设计环节指导老师作必要的现场指导。(20学时)
(5)验收并简单考核。(4学时)
(6)撰写总结和实训报告。(2学时)
五、课程设计指导教师
由主讲教师和实验指导教师共同承担。
六、课程设计地点
计算机中心机房或者学院专业机房
对于引用的定义可以归纳为符号的类型和符号的使用方式,在符号的类型中就符号的使用标示:标示符号&+引用名称=代码的名称;例如:printc;if&chart=if;标示出不同的定义,if就是标示符号的引用,也就是所谓的名称改变。符号的分析图为(图1)所示。在这里必须要以下的说明:&符号在标示中只是以标示名称的形式存在,不作为任何的含义;&符号在引用的过程中,对于初始的代码变化不会起到改变的作用,也不会促使代码发生任何性质上的变化;在引用过程中,对于引用前和引用后&符号使用的两个名称在作用上是相同的,也就是说名称只是一个代号,在程序使用中也是为了区分代码改变的标准,这就不能再进行代码的改名;代码的重新命名不是定义上发生任何的变化,所以在数据库当中的代码性质不会进行更新,只有在程序顺利运行后以及程序出现了调试过程后,新定义的使用&符号的代码才能被列入新的程序数据库当中。
2、程序设计中&符号的使用
C++程序中&符号出现的情况是标示为引用,对于函数的变化中会起到一定的作用,虽然不改变代码的性质,但是对于函数的定义还是会出现一定的影响。&符号改变的数学函数的参数变化,对于参数的定义域起到了重要的作用。在C语言中的函数值的变化,其中关于main函数的变化之最多,也是在程序研究中使用&符号最多、最为关键的因素之一。在对于main函数的&符号使用中,首先要弄清楚函数的最初原型,对于函数的表达意义要有初步的了解,并且能够合理的使用程序的改变方程式,对于main中的函数参数中&符号也有着不同的规范要求。在main可编辑函数中,agent是表示函数中参数的含义,&符号是表示为函数的变化地址,同时&符号也表达出函数中参数的个数,把agent最为函数参数的指导性参数值进行分析判断,统计&符号可以得到函数相关数组的即时数组信息。在操作系统中,函数中&符号的配置启动中,完全取决于操作系统的函数变化,对于操作中函数的初始变化值有着严格的要求,并在运行初始阶段进行函数的归零处理,后期在每个不同函数变换的模块当中,提取出不同数值的数据参数,来指导计算机程序的有效运行状态。通过改变符号的方式可以对于程序的效率有一定的提升。由上述例子看出,在函数中传引用和传指针的效果是相同的。这样,被调函数中的形参实际上就是主调函数中的实参或目标变量的别名,因此被调函数中所有对形参的操作实际上就是对相应的主调函数中目标变量的操作,一般传递的数据较多时,采用引用时程序的效率较高。虽然使用指针传递地址也能达到相同的效果,但因为在被调函数中还要为形参分配存储单元,而且在主调函数的实参必须使用变量的地址,这种方式必将导致程序阅读性较差,而使用引用便显得简单易懂,而且程序结构也更清晰。常引用声明方式:const类型标识符&引用名=目标变量名;在这种引用方式中,由于目标变量的值的修改不能通过引用来间接修改,因此可以很好地保护目标变量的值,使得引用有了很好的安全性,即相当于目标为const型的变量。当参数需要定义为引用型是,如果实际需要容许尽可能定义为const,这样可以保证代码的健壮性,同时也能带来其它的好处。在函数的定义过程中对于代码的变量指标在初始定义之后,在对变量的变化值进行记录,该代码指针变量便指向初始化指针变量的目标变量。通常情况下规定,具体操作过程时,对代码的指针的操作实际是对其所指向变量的间接操作。程序设计过程中使用指针可以让系统的程序的可读性降低,在操作起来也相对的困难。而由于引用本身就是目标变量的别名,编程中对引用的操作就是对目标变量的直接操作。引用其实也是一种指针,只不过其操作方式与指针不相同,指针可以一对多进行映射,而引用却只能一对一的进行,也就是一个参数对应一个代码指针数值,即&符号中的数字不能被改变,因此在对于符号的使用中,鉴于引用比指针更容易进行操控和编辑。
3、结语
《C程序设计语言》是计算机及相关专业中一门重要的计算机基础课程,由于其在当今系统软件和部分应用软件的开发中具有实用性强的特点,又与硬件和程序设计环境底层的联系紧密,是当今计算机软硬件工程师应该掌握的一种基本的、比较实用的程序设计语言。它作为学生入学后第一次系统地学习与高级程序设计语言和程序设计有关的内容的一门新课程,本身就比较难;再加上其内容的庞杂、语言描述的灵活,更让学生感觉难上加难。因此对于担任该课程的老师来说,如何教好这门课程,培养学生运用C程序设计语言分析问题、解决问题的能力,是这一门课程的目的和宗旨。
二、采用案例教学,培养学生的兴趣和积极性
C程序设计是应用性很强的一门课程它既有理论又有实践,既讲方法又讲动手能力。一般来说,教材中前几章都是先介绍C程序设计语言的一些概念和基础知识,然后才介绍程序的建立和运行。这些概念和基础知识,既枯燥又比较抽象难懂。在教学中,我们打破课本原有的顺序组织课堂教学的方式的逻辑结构体系,改用从案例入手,通过给学生演示、让学生模仿,在实际应用中去探究和领悟这些概念,并适时地加以归纳总结和概念的延伸,让学生在轻松愉快的气氛中学习新知识。
案例教学法打破了以教材为中心的传统教学模式,不按教材的顺序授课,而是以精选出的程序设计的案例为中心,把学习的重点放在具体案例的讲述上,把要学习的语法和概念融入到具体案例中来讲解。整个教学过程中强调在应用中学习,从而避免了枯燥的理论说教,不仅能增进学生的学习兴趣,而且对提高学生综合分析和解决实际问题的能力也大有帮助。那么该如何培养学生对C语言课程的兴趣呢?案例教学法是培养学生学习兴趣的有效途径一。
三、运用多媒体CAI课件教学,提供交互式学习环境
C语言的内容比较繁杂,我们把概念、定义等一些知识性的东西用幻灯的形式投影出来就会使课堂内容更加丰富,提高学生的注意力,节省老师板书的时间,让整堂课的效果改观。但是课堂上课件的演示也要适当,避免喧宾夺主,使学生更多地关注了形式的变化,而忽略了内容本身。相应的,课件在其他内容的处理上就要慎重了。比如算法、程序的设计,我们不是只注重给学生一个结果、一个程序,而更应该展示给学生的是一个过程,一个思想,也就是怎么样去解决这个问题。我们的重点在于教会学生掌握方法,即帮助学生学会自己解决问题,而不是帮助学生解决问题。即授人以渔,而非授人以鱼。因此在讲解这些内容的时候就不能是一张幻灯一个算法、一个程序,而应该重点介绍方法、思想,根据题目求解的过程,一步一步把结果“写”出来。
多媒体CAI课件主要包括课程内容、算法演示、在线测试、在线讨论以及资源中心五部分功能。多媒体CAI课件可以提供交互式环境供学生学习,并自动根据操作过程进行实时评价。将多媒体CAI课件和教师课堂讲授有机地结合起来,能形成最佳教学任务的综合性手段与教学方案。
四、把握课堂教学方法,提高课堂教学质量
(一)注意“互动式教学”,切记不要“自演自说”。互动式教学就是要改变老师是课堂上唯一主体形式的状况,让学生也作为主体形式参与到课堂上来。互动式教学既可以提高学生的参与积极性,还可以避免学生上课疲劳,产生注意力不集中的现象。互动式教学在形式上有老师提问,让学生上黑板演算、上教师机操作,让学生讨论等,让学生进行正误判析,解决普遍性问题,或者请有独特思路的同学演示自己的方法或程序,对比各种方法的优缺点,鼓励大家再提出新方法。实践证明,这种教学方法效果显著,课堂活跃,学生的参与程度很高。但是我们在进行师生互动方面也要注意把握一个度的概念,让课堂既要有互动的活跃氛围,也要有好的课堂秩序,使得课堂互动有序有效进行。
(二)培养学生读程序的能力。程序是C语言的本质,读程序是学习C语言入门最快,也是最好的方法。要培养学生独立编程的能力,首先应该培养学生读程序的能力。学生读的程序越多,见识的编程的思想、方法、技巧也就越多,就能更加扩展自己的编程思路,还能在某些时候把别人的东西拿来归为己用。
在培养学生读程序方面要注意循序渐进,先给学生读一些简单的、只有几行的程序,然后逐渐增大程序的复杂度。
(三)采用问题驱动法。在C程序设计语言课程中,有一些概念之间的差别和程序的设计步骤如果只通过教师讲述,学生在字面上可以接受,但在理解深度上往往难以达到令人满意的效果,如果能设计出一系列问题,让学生在实践和解决问题的过程中自己去探究和体验,情况将完全是另一个样子。另外,采用一些有趣的问题来引入对某些语句结构的学习同样有相同的作用。
采用问题驱动法,一切都要求学生自己动手动脑设计,他们在操作过程中探究和解决问题的积极性和主动性得到
了调动,从而达到了我们的教学目标。
五、加强实验环节的教学设计,辅助理论教学
C程序设计语言是实践性很强的一门课,培养学生的实践能力是教学的首要目的。因此,在授课的同时,如何引导学生利用上机实验来加强实践也是教学中的一个重要环节。C程序设计语言实验教学的目的应是:1.紧密配合理论教学,通过相关实验,帮助和加深对语句功能的理解;2.通过实验可以将各门课程学到的知识融会贯通,思考利用C程序设计语言解决实际应用问题的有效方法,从而使学生分析和解决问题的能力得到锻炼和提高。依据实验教学的目的,考虑学生的个体差异,将实验设置成不同的类型:必做和选做实验:这两类实验都是结合相关课程的教学需要由授课教师设计的;前者目的在于帮助学生掌握基础知识和实验研究方法,后者则在于培养和鼓励学生的学习兴趣、扩大知识面以及培养学生的应用能力和创新意识。从而大大激发了学生的学习热情,为其今后的学习和工作打下良好的基础。
一、单一型
例1(大连市)如图是一个简单的数值运算程序,若输入x的值为,则输出的数值为.
分析:这是一道单一型的程序设计,只要根据程序代入数字运算即可,计算时注意运算顺序.
解:因为由运算程序可知其程序的运算式为x2-1,所以当x=时,x2-1=()2-1=2.所以输出的数值为2.
说明:从运算过程我们可以看出,对于单一型的程序运算,就相当于代数式求值,关键是要能正确地从设计的程序中抽象出代数式.
二、二项型
例2(泰州市)根据如图中的流程程序,当输入数值x为-2时,输出数值y为()
A.4 B.6 C.8D.10
分析:首先要根据条件和程序图提供的关系式,判断按哪一个程序,再将x的代入运算.
解:因为-2<1,所以只能将x=-2代入y=-x+5中,得y=6.故应选B.
说明:本题是考查当x=-2时,求函数y的值.求解时,首先要确定运用哪一个程序方可将字母的数值代入运算.
三、三项型
例3(南充市)根据下面的运算程序,若输入x=1-时,输出的结果y=.
分析:由于x=1-<0,只需选择函数y=x-2代入运算即可.
解:因为输入x=1-<0,所以所对应的函数表达式是y=x-2,所以当x=1-时,输出的结果y=x-2=1--2=-1-.
说明:本题的程序中提供了三个函数表达式,求解时其实也很简单,只要判断输入的值在什么范围内即可正确求解.
四、探索型
例4(扬州市)按如图所示的程序计算,若开始输入的x的值为48,我们发现第一次得到的结果为24,第2次得到的结果为12,…,请你探索第2009次得到的结果为.
分析:按照程序,依据要求,首先要确定输入的数是奇数,还是偶数,然后再正确地选择相应的代数式,通过计算,我们会发现从第3次开始,这个程序的输出值将以6、3、8、4、2、1循环,而2009-2=2007=334+3,由此可以确定第2009次得到的结果.
解:依题意,从第3次开始,这个程序的输出值将以6、3、8、4、2、1循环,而2009-2=2007=334+3,所以第2009次输入的x的值为3,输出的结果为8.
说明:这是一道数字转换机的过程,已知程序中已经明确地反映出输入的值受到奇偶限制,同时,由于要求的是第2009次的输出结果,所以不可以逐一计算,必须得探索到规律才可快速、准确地求解.
下面两道题目供同学们自己练习:
1.(淄博市)小红设计了一个计算程序(如下左图),并按此程序进行了两次计算.在计算中输入了不同的x值,但一次没有结果,另一次输出的结果是42,则这两次输入的x值不可能是( ).
A.0,2B.-1,-2C.0,1D.6,-3
关键词:程序设计;案例分析;程序设计竞赛;项目实践
中图分类号:G642文献标识码:A文章编号:1009-3044(2008)31-0920-02
The Research of Culturing Ability of Programming
MA Hai-ying
(College of Computer Science, Nantong University, Nantong 226019, China)
Abstract: Aiming at how to improve culturing ability of programming, the Author divides undergraduate education into four phases, and gives the aims of all phases. Through analysing the problem in programming teaching procedure, combining the teaching practice, we propose some strategies in reforming teaching means and method. secondly, towards the problem of undergraduate lacking practacle operation due to project, teachers can develop some well-suited projects in difficulty to improve students' ability of solving problem and practical skills.
Key words: program design; case analysis; Programming Contest; practical experience in projects
1 引言
程序设计能力不仅是计算机专业学生的基本技能,也是很多非专业理科学生的必备技能, 它是培养实用型人才、提高学生解决问题能力的重要方面。要想在本科教育中提高学生的程序设计能力,本文将本科教育分四个阶段,并给出各个阶段的目标。第一阶段,也就是学生在第一学期至第三学期,要重视程序设计课程的理论教学;第二阶段(第四学期),合理安排程序设计实践课程,组织学生阅读典型项目案例;第三阶段(第五、六学期),组织学生参加各种类型的比赛,从而提高学生运用计算机来充分展示自己分析问题和解决问题的能力;第四阶段(第七、八学期),使学生根据自己的兴趣较早进入毕业设计阶段,以便教师与学生的“一对一”沟通,帮助学生快速地掌握软件开发的一般性过程。通过这四个阶段的学习以后,学生在就业面前就会有自信,并能很快适应软件开发的工作,同时也为学生进一步从事计算机方面的研究工作打下了良好的基础。
2 合理的课程教学
“程序设计”课程长期沿袭传统教学模式,即以一种高级语言的语句体系为脉络展开教学,详细地讲解其语句、语法甚至一些细节内容,学生每学习一个语句需要做一些与该语句有关的习题。课程枯燥无味,学生学习积极性不高,很少动手实践。课程学完后,学生除了学到一些呆板的语句外,收获甚微。因此,在教学内容方面,我们提出以国内教材为骨架,以国外教材中比较新颖实际的部分为面向,取各家之所长,由教师综合对比,提炼和取舍。授课采用多媒体课件,以课件为主线,扩展的内容由学生自行考考书中查阅。实践证明。这种模式比只采用一本教科书的模式更好,在教学过程中为了鼓励学生勤于思考。教师应该在授课时提高提问的比重,在多媒体课件编制过程中暗藏适量的“陷阱”和问题,需要学生在课上思考来发现和问答。从而激发学生新知识,解决新问题的兴趣,培养学生的创新精神和实践能力。
3 课程设计重视案例分析
在程序设计实践课程中,教师应组织学生阅读开发完成时间在一年以上的几个实际项目,将其作为案例,针对该项目具体讲授应该从那里突破,如何上手,应该考虑那些问题,要达到仕么效果,开发工具应怎样使用,语法知识如何应用等,通过这种主范性的教学,学生可以很直观地理解课堂所讲内容,即使已经忘记所学理论,重新复习也很有针对性,查缺补漏即可。因此很快便能够掌握开发工具的使用,同时他们对程序设计语言灵活运用的驾驭能力得到提升。
通过学习几个案例之后,设计几个题目,将学生分组每组一题,最初教师可能会更多地引导学生,随着对题目的深入讨论,学生逐步设计题目的总体结构。通过小组讨论可以使学生的思维过程外显化,学生会感受到观点的冲突,从而更好地进行反思和评判,在小组合作研究过程中,教师要观察小组的进展情况,及时提醒学生是否需要调整目标。此外,小组合作研究也给学生创造了主动参与,积极挥索,独立创新的空间,可以让学生充分施展出自己的才华和智慧。
4 通过各种比赛提高综合程序设计能力
在参加程序设计比赛的过程中,学生获得的除了是关于对应题目的解决方法、思维方法和题目的洞察力外,程序设计比赛同样也提高了学生其它各个方面的能力。在实际的解题过程中,需要学生寻找各种不同的知识,有日常教学中所涉及的知识,但更多的是教学内容外的知识,这就要求学生能从各种渠道获取相关的信息资料,进行了解、学习、分析,并把相关的知识转化为解决问题的钥匙。这与大学教育的主要教育内容――培养学生的自主学习和思维的能力是相同的。学生能够在这些相关的学习锻炼中进一步提高其综合能力。
在程序设计竞赛解决问题的过程中,学生通过自己的努力解决了相关的题目后,肯定会获得解决问题的成功感,这种成功感、超越性正是促进学生继续进步的动力之一;当学生看到别人可以顺利完成题目,而自己却不能找到问题或错误关键的时候,学生肯定也会有一定的挫折感以及不甘为人之下的好胜心,而这种好胜的心理亦可以转换为学习的动力,当然这需要根据不同的学生进行不同的指导以去除其挫折感,否则可能会出现厌学的心态。当学生从现实实际中感受到自己能力的提高的时候,如在学习过程中理解问题、解决问题的提高,学生就会越来越有自主学习的兴趣,这也就提高了学生的自主学习的积极性。当然,这也需要教师按照特定的方式来促进和保持学生学习的积极性。
5 项目实践
为提高学生的实践能力。学生在完成基础知识的学习后,阅读一些已经开发完成时间在两年以上的项目的开发文档,文档熟悉后,学生在毕业设计指导老师的帮助下,按照文档的描述与要求,重新实现该项目,需要约两个月时间。完成后,学生已经熟悉系统开发的全部过程。后续大半年时间的任务与毕业论文(设计)相结合,老师根据学生的兴趣安排特定的项目组,然后有老师手把手带学生参与项目开发。学生在承担的任务即可作为其毕业设计,毕业论文的内容主要论述项目的解决方案,开发过程及技术创新等方面。完成这一阶段的任务后,学生的开发能力一般会突飞猛进的增长。
6 结束语
我们认为在程序设计教学中, 要改革旧的教学体系,需要用新的理念、新的内容、新的方法组织教学。首先要用先进的程序设计理论指导教学,并加强编程算法、逻辑思维和编程方法的引导。其次,重视和鼓励学生对具体问题进行分析和研究,勤于动手和上机训练,养成良好的编程习惯。针对本科生在完成程序设计语言课程的学习后,缺乏实际项目开发经验的问题,教师可以通过开发难度适中的软件项目,采取切实可行的措施,努力增强学生的分析问题,解决问题和实践动手能力。
参考文献:
[1] 雷桂平. 论创新课堂教学[J]. 中国职业技术教育,2003,(8):46-47.
[2] 葛明荣. 案例教学模式在教师教育中的功能探析[J]. 教育探索,2005(4):55-56.
[3] 郭嵩山,崔昊,吴汉荣,陈明睿. 国际大学生程序设计竞赛辅导教程[M]. 北京: 北京大学出版社,2001.