韦丽姣
摘要:“算法与程序设计”是高中阶段针对计算机应用技术基础而设置的一门选修课。学生的编程能力越来越受到重视。文章在阐明编程能力概念的基础上,针对编程中存在的问题以及学生的特点,提出一些培养编程能力的措施,包括提高学习兴趣,奠定扎实的基础,结合建构主义开展课堂教学,算法思维与编程的结合,重视实践交流。
关键词:高中生;Visual Basic程序设计;编程能力;建构主义;算法思维
现行的《普通高中技术课程标准(实验)》中规定:高中信息技术课程包括必修与选修两个部分。在选修部分的五个模块中“算法与程序设计”是作为计算机应用的技术基础设置的[1]。“算法与程序设计”模块旨在让学生学会设计解决问题的算法,同时能用程序设计语言编写程序实现算法以解决问题。编程能力可以理解为:使用编程知识,编写程序解决实际问题活动的个性心理特征。编程人员首先要使用自然语言描述问题及问题的求解目标,其次建立合适的数学模型,接着确定求解问题的算法及使用的数据结构,然后编写代码,最后调试程序,使问题得以解决。编程能力就体现在这几个编程环节之中。如何培养学生的编程能力,对于开拓学生的创新思维、发散思维,提升实践动手操作能力,提高应用计算机知识解决实际问题的能力,发扬学生的个性至关重要。培养学生的编程能力可以从以下几个方面着手。
一、提高学习兴趣
程序设计本身比较枯燥,很多学生对这门课程兴趣不浓,甚至有厌学的心理。因此,在学生一开始接触程序设计课程时,就要注重培养学生对课程的兴趣。首先,可以向学生展示用VB语言编写的具有实用性和趣味性的程序或应用软件,这样容易引起学生的关注,激发学生的好奇心,渴望进一步学习并掌握制作的技能。其次,通过实例使学生了解到要设计完成一个正确的程序大致的过程。然后,在更深一步学习程序设计的过程中,把诸如对象、事件、类等难以理解的概念渗透到具体的实例中。学生如果能顺利解决问题,就会产生成就感,也就对下一步的学习更有信心,更有兴趣;反之,他们也能从问题中发现自己欠缺的地方,激发他们弥补不足的想法。
二、奠定扎实的基础
基础知识是必不可少的。能力是以知识为基础,在活动中知识是保证活动获得成功的必要条件[2]。基础知识包括VB语言的数据类型种类、变量、语句、三种基本结构、控件等。对于数据类型,可以通过范例来演示不同种类的数据类型之间的区别,尤其是数据的表示范围。对于语句,应该清楚每一个语句的格式和作用,避免编程时出现语法或逻辑上的错误。通过听讲、阅读范例、上机练习等多途径强化学生对语句的理解和掌握。另外,合理使用各种控件,避免滥用乱用。
三、结合建构主义思想开展课堂教学
建构主义强调学生在原有知识的基础上,通过自身建构新知识。传统意义上,学习被认为是一种模仿活动。而建构主义教学从另一个方面帮助学生将新信息进行内化、改造、转换[3]。VB程序设计的特点是知识结构化、实践性强,若能将建构主义与VB课堂教学结合起来,教学效果会比较好。首先,教师要树立建构主义的教学观。学生是学习的主体,教师是引导者。教师要接受和理解学生的独立性和主动性,让学生在原有知识水平的基础上,独立地、主动地去探究问题,进而得出自己的结论,建构出新的知识,增强学习的信心。其次,改变传统的教学设计。教师应当以建构主义的教学观指导教学设计。教师可对教材的内容进行部分的重组,比如难以理解的类、对象等的概念可以在学生有一定的程序设计知识的基础上再介绍。巧妙设计问题,让学生在解决问题的过程中掌握知识点,同时问题有一定的延伸性,引导学生主动去思考、探索问题的答案,建构新的理解。最后,营造建构主义的学习环境。教师创设一定的情境,使学生能在情境中发挥自身主动性,参与课堂活动,积极与教师和其他学生互动。布置作业任务时,要考虑学生现有的知识水平,任务应当能提升学生现有的水平,提高认知的深度。
四、强化算法思维在编程中的应用
根据美国著名的计算机专家克努特(D·E·Knuth)的定义:一个算法,就是一个有穷规则的集合,其中规则规定了一个解决某一特定类型的问题的运算序列[4]。算法思维是一种以解决问题为目的的思维方式,它是一个人进行思考、人脑活动的过程,这个过程要发现问题、分析问题、分解问题、确定解决问题的具体步骤,并用有限的操作来表示。
算法思维是在不断设计算法与编写程序的过程中逐步形成的。首先,重视算法设计。很多学生不习惯设计算法,直接上机编写程序,往往导致编写的程序逻辑混乱、出现众多语法错误。在上机编写代码之前,应该分析理解问题之后,进行算法设计,用流程图或伪代码等描述算法,确定解决问题的具体步骤。这样方便快速找出错误的地方并纠正。其次,重视编写程序,养成良好的编程风格。上机编写程序有助于学生体验计算机执行程序的过程,这也是学生体验算法思维的一种途径。最后,重视代码的调试。单步执行程序、修改程序、纠正程序中的错误,有助于学生进一步理解代码的执行过程和体会算法的可行性、正确性。
五、重视实践交流
实践出真知。教师在引导学生学习编程时,应重视让学生上机编程练习,合理安排课堂时间。学生应当重视上机编写程序,只有将所设计的算法付诸实践,才能验证算法的正确性,体会自身编程中的不足。在编写程序时,运用发散的思维,发挥创造力,尽可能设计出几种不同的方法,找出最合理的方案。每个人思考问题的角度不可能一模一样,因此学生之间要多交流,吸收别人的精华,拓宽自身的知识面。
高中生在学习编程的过程中还存在许多问题,这就需要学校、教师、学生一起努力去解决问题。教育者應当理解程序设计课程的特点,掌握学生的学习特点,营造良好的学习环境,设计出适合学生学习的教学模式。同时,编程知识内化成为编程能力离不开学生自身的努力。
【参考文献】
[1]中华人民共和国教育部.普通高中技术课程标准(实验)[M].北京:人民教育出版社,2003
[2]文韬.浅谈计算机编程能力的构思[J].新课程学习,2009(04)
[3]Jacquelin Grennon Brooks,Martin G·Brooks.建构主义课堂教学案例[M].范玮译.北京:中国轻工业出版社,2005
[4]王荣良.信息技术课程中算法学习的价值探索[J].中国电化教育,2008(08)
作者简介:陕西师范大学计算机科学学院2012级硕士研究生。专业:学科教学(现代教育技术)。研究方向:信息技术教育运用。