关于“程序设计类课程”深化编程思想的教学改革探析
2019-12-01李庆广西生态工程职业技术学院汽车与信息工程系
李庆 广西生态工程职业技术学院 汽车与信息工程系
0 引言
现今,互联网行业高速发展,技术也在这一进程之下日益革新。在此形式之下,科班技术难以跟上技术革新的脚步,导致学生的专业技能落后于社会的需求。技术在变,而思想不变,“授之以渔,不如授之以思想”,培养学生的思维能力,对编程思想、运行原理的探索能力,让学生学会从技术中探索思想,从思想中延伸技术,从而使学生能够更快、更持久的适应社会的需求。
1 编程思想概述
1.1 编程思想的概念
计算机属于自然科学门类,也属于应用数学学科,即运用数学的思维从自然规律中探知科学。计算机用于解决实际问题的方式包括编程语言和应用技术。因此,编程思想就是运用数学的思维和计算机解决实际问题的方式,来模拟自然规律、解决实际问题的思维方式。
1.2 以JavaScropt、Android为例分析其编程思想
1.2.1 JavaScropt
JavaScropt是一种直译式、动态类型、弱类型、基于原型、内置支持类型的脚本语言。主要应用于HTML页面之上,以HTML标签中的id或name属性为标识符,抽取页面元素,添加动态效果,从而实现HTML页面的动态交互行为。
1.2.2 Android
Android是一种基于Linux的自由及开源的操作系统,主要用于移动设备。通过可扩展标记语言XML,来构建用户视图,以XML标签中name属性为标示符,抽取视图元素,通过Java对页面视图、数据的存储和运转进行处理,从而实现APP与后台程序的交互。
1.3 JavaScropt、Android在编程思想上的关系
从编程思想上而言,二者均以标签中的属性值作为标识符,抽取元素,负载交互行为。该思维方式由JavaScropt提出,Android沿袭,其作用不一、平台不一、底层不一,但解决实际问题的思维方式一致。
2 深化编程思想于专业教学方面的思考
2.1 专业教学体系概述
以普通高等专科学校为例,大部分学校以2+1的形式办学。于专业教学方面而言,一般选取Java或C为体系,以体系化的形式培养学生专业技能。针对Java体系为例,开设课程依次为网页设计、Java程序设计、数据库、JavaScropt脚本技术、JSP程序设计、J2EE企业级开发、JavaWeb企业级开发实训等课程。
2.2 专业教学于社会需求的局限
2.2.1 办学形式的局限性
在2+1的办学形式之下,除政治、英语、体育等各类必修课程,两年的教学时间与一个体系的专业技能培养相较,其课时数相当紧凑,且普遍存在两门以上课程同时开设的情况。在此现状之下,对课程的延展、实训与深化、实际问题应变能力的培养均存在一定的困难。所带来的问题,是对学生的培养与学生知识体系的构建,将形成固有化、模式化的情况,从而降低了学生对专业技能的应变能力。
2.2.2 高校地域的局限性
大多数互联网企业都集中于个别一线城市,即技术核心成聚集性发展。而许多高校都远离技术核心。导致专业教师对新技术、新方法的感知能力大大降低。对学生专业技能的培养与社会需求产生差距。
2.2.3 社会需求的局限性
至今,互联网行业高速发展,而行业的发展必将带动技术革新,各大技术团队、各大高校、各种国外技术的引进。而技术的革新必将引发社会需求的变更。如果学生缺乏与之相对应的应变能力,将难以适应社会的进程。
2.3 深化编程思想的教学思考
基于办学形式、地域、社会需求,均是高校与社会的固有形态,发展进程之下的固有趋势,同时也存在其固有的必要性。但针对学生的个人发展与社会生存的持久性而言,也存在一定的局限性。若以课程调整、教师或学生的外出学习或企业实践来解决该问题,则存在一定的暂时性,难以标本兼治。
因此,面对高校的固有形态与社会的发展速度,“授之以渔”的方式已难以满足社会需求,在教学过程中,更要“授之以思想”。如在教授JavaScropt的同时,渗透其运行原理与编程思想,构建学生在该技术下的思想体系,引导学生从JavaScropt的编程思想衍生至Android的编程思想,培养学生从技术中探索思想,从思想中延伸技术能力。形成从思想到原理,原理到方法,方法到实践,实践到自我衍生的教学体系,从而使学生能够面向社会需求,运用现有的知识体系,延伸技术能力,扩展专业水平,做到尽可能快的掌握社会所需技术,以持久的适应社会需求。
3 教学改革实施过程探讨——以“JavaScropt脚本技术”课程教学为例
3.1 以实例出发,阐述运行原理
3.1.1 实例带入,构建感官认识
简述课程内容与学习目标,让学生对该堂课程形成总括性了解,明确学习目标。后以实例为出发点,演示实例,应征课程内容与学习目标,为学生构建感官上的了解。
3.1.2 以“呼应式”、“发问式”教学方法,解析程序,描绘运行原理
现象与本质相结合,透过实例,追述内部程序,形成实例与程序的呼应式教学,引导学生形成发问式学习方法。
如“JavaScropt获取元素,添加交互行为”一课中,“单击元素,弹出窗体。该行为是如何产生的?”;“不同的元素,可以添加不同的行为。元素与行为是如何对应的?”;“形成某种行为。该行为是如何构建的?”等。
形成从感官认识出发,引发学生疑问,以现象与本质相呼应的方式一一剖析,其后贯穿整体,以图形化的方式画出运行原理图,最后通过运行原理图再回溯整个过程。最终实现从感官到本质的过程。
3.2 “课堂5分钟”,以运行原理出发,逆向感知编程思想
思想是一切原理的雏形,科学家从思想中发现原理,学者则应该学会从原理中感知思想。设置“课堂5分钟”环节,让学生对运行原理进行回顾,对编程思想进行自我认识,自我感知,自我构建。
3.3 从原理到方法,从方法到实践
以原理驱动,逐一引出编程方法。讲解实现过程、分析方法、归纳用法,并实现整体过程。学生结合运行原理,理解各个实现过程,以及各种方法的运用。后以随堂练习的方式,模仿教师实现过程,运用相关方法,完成课堂实验。
3.4 思想沿袭,旁支技术的自我衍生
3.4.1 引导宗旨——旨在“启发”
明确当堂课程的主要内容,以编程思想为出发点,提出沿袭该编程思想的其他技术,以“提而不详”、“过而不入”、“看而不论”的方式进行引导,旨在“启发”学生了解该编程思想的发展与沿袭,培养学生“思想”—>“原理”—>“方法”的学习过程,提高学生的自学能力。该教学过程以结语的方式体现,控制在5分钟左右。
3.4.2 以JavaScropt对Android的衍生为例,论述启发过程
首先,总结整堂课程,为学生梳理该堂课的教学内容,以简练的语言概括在JavaScropt针对该知识点所体现的编程思想。
其次,指出由JavaScropt提出,由Android沿袭。
再次,以“三不”原则,通过实例对比的方式,向学生展示Android对JavaScropt该编程思想的沿袭点,并简单描述。
最后,下发两个实例,让学生自我拓展。
4 结语
结合高校教育与社会发展,以发展的眼光看待教学,看待学生专业素质,力求培养学生适应社会的需求的能力。在程序设计类课程中,深化编程思想的渗透,与编程思想的延伸,提高学生自我学习,自我修养的能力。
本文注重思想的培养与课后的延伸,旨在以思想引导方法,以思想贯穿课程,以思想推动学生的自我拓展。通过思想渗透课程的方式,培养学生的思维能力和自我拓展能力。