博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在JAVA教学中需要加强对学生编程思想的引导
阅读量:4040 次
发布时间:2019-05-24

本文共 1183 字,大约阅读时间需要 3 分钟。

 

中国不乏优秀的程序员,也不乏学习能力很强的学生,但是由于接受传统教育思维模式根深蒂固的影响,学生在学习一门编程技术时,仍然停留在注重研究基本原理,注重算法实现的阶段,结果学习这种技术很长时间以后,还是不知道这项技术有什么具体的应用,这种技术到底能够完成什么样的项目。久而久之,学生就会对一项技术的应用产生迷茫的思想,很难适应日益发展的新技术的需要。

我要表达的意思并不是让学生不重视对基本原理的学习和研究,对算法设计的实现学习,而是强调这样一个学习过程:先快速入门——掌握技术应用——根据实际需要研究原理和基础算法——进行算法设计的优化分析。。

在作为一名软件职业培训中心的教师,在授课实践中,我发想只要对学生进行一些正确的引导,加强学生动手实践能力的培养,学生其实很容易就快速掌握入门技术的。先讲一个故事。例如在介绍JAVA中的数组时,一个很基础的问题就是实现数组元素的排序问题。学过C语言的学生都知道冒泡排序算法,但是又有多少学生能够在5——10分种之内写出冒泡排序算法呢?我做过一项测试,在一次讲座中,到场的大约200名大学计算机专业二年级以上的本科学生中,谁能在10分钟之内正确的设计一种冒泡排序算法,当场奖励金士顿1G优盘一个。结果我在现场准备的50个优盘一个也没能够送出去。在JAVA语言的教学中,学生同样会考虑过去C语言是怎样写冒泡算法的,现在使用JAVA语言应该如何设计冒泡算法去实现数组元素的排序问题。其实这个问题已开始学生就陷入了一种误区,就是面向过程的程序设计思维。JAVA中实现数组元素的排序,可以使用java.util.*包中的Arrays类的静态方法sort方法实现。一行代码就可以完成对数组元素的排序(升序排列)。这就需要从面向过程的程序设计思维转换到面向对象的设计思维。我们讨论的问题实质是数组元素的排序问题,需要的结果是实现元素的有序排列,只要能够解决掉这个问题,就是好的;第一步其实并不关心你是使用了冒泡排序算法还是快速排序、插入排序等等。如果我们第一步就陷入对算法和数据结构的讨论中,不但不能快速实现结果,而且很多学生立刻就会感觉程序设计的复杂而放弃学习。第一步重要的是实现结果;第二步才是要实现数据算法的设计。

    其实这样的案例比比皆是。在进行JDBC技术学习时,重要的是先通过一些简单的案例让学生能够理解MVC的实现过程,然后再深入到DAO模式的设计。其实只要引导学生理解MVC的实现过程,快速实现一个案例,接下来具体是通过GUI方式实现还是通过Struts技术实现,或者通过Servlet技术实现只是一个简单的问题了。

    所以我们强调快速实现和思路引导,强调掌握正确的学习方法。好的学习方法可以让你事半功倍,不仅仅可以快速掌握一门技术应用,而且可以快速上手参与项目开发。中国有多少JAVA程序员都是经历了这样一条路走出来的啊!

转载地址:http://sovdi.baihongyu.com/

你可能感兴趣的文章
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
让我做你的下一行Code
查看>>
浅析:setsockopt()改善程序的健壮性
查看>>
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>
在C++中使用Lua
查看>>
一些socket的编程经验
查看>>
socket编程中select的使用
查看>>
关于AIS编码解码的两个小问题
查看>>
GitHub 万星推荐:黑客成长技术清单
查看>>
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
昨夜今晨最大八卦终于坐实——人类首次直接探测到了引力波
查看>>
为什么读了很多书,却学不到什么东西?
查看>>