与程序学习一样,是把集体学习情境改变为个体学习情境的一种方法或手段。但与程序学习在外显行为上的明显不同和对立的是如何解决问题。程序教材把教学内容规定得很有条理,主张先质难(problemposing),然后按编好的程序教材,循序渐进地获得答案,即得到知识。而发现学习则主张对学习现象和对象经过冲突、反常、矛盾等启疑(causinginguiry),然后经过暗示、引导,让学生自己去发现。也就是说,在学习中创造出对问题的产生与解决的弹性与独创性。更主要是双方的理论根据不同。发现学习是认知理论的产物,程序学习则以新行为主义为理论根据。提倡发现法的人们认为,对儿童讲得越少越好,而对他们去发现引导得越多越好。在生物学教学中,凡是适合发现的内容,在时间、设备允许的条件下,小学、中学、大学乃至研究生,都应如此。而且对年龄越大的学生,越要多引导他们自己去追求。这对近期或远期(毕业后)效果都是很好的。但是,发现学习不能也不应取代程序学习,二者均各有所长,也各有所短。