與程序學習一樣,是把集體學習情境改變為個體學習情境的一種方法或手段。但與程序學習在外顯行為上的明顯不同和對立的是如何解決問題。程序教材把教學內容規定得很有條理,主張先質難(problemposing),然后按編好的程序教材,循序漸進地獲得答案,即得到知識。而發現學習則主張對學習現象和對象經過沖突、反常、矛盾等啟疑(causinginguiry),然后經過暗示、引導,讓學生自己去發現。也就是說,在學習中創造出對問題的產生與解決的彈性與獨創性。更主要是雙方的理論根據不同。發現學習是認知理論的產物,程序學習則以新行為主義為理論根據。提倡發現法的人們認為,對兒童講得越少越好,而對他們去發現引導得越多越好。在生物學教學中,凡是適合發現的內容,在時間、設備允許的條件下,小學、中學、大學乃至研究生,都應如此。而且對年齡越大的學生,越要多引導他們自己去追求。這對近期或遠期(畢業后)效果都是很好的。但是,發現學習不能也不應取代程序學習,二者均各有所長,也各有所短。