在开始阶段加在头脑中的概念,随着课程的不断进展,很容易得到进一步的强化。这是因为后续无时不在使用这些概念。
传统教学的误区在于集中灌输语法和工具知识。而这种灌输,并没有和能力的增长相匹配。这种不匹配又反过来影响知识的吸收。越复杂的知识,越需要在高能力层次上学习。不注重能力的提升,是东方教育体系的诸多弊端之一。其在学习计算机学科这种典型的西方体系时尤为明显。
另一个要解决的课题在于生源构成。学员的入学层次相差很大。这个问题是在大学的教育中没有的,因为高考已经区分了大学的层次。这导致在计算机专业的教育体系中根本没有人去思考这个问题。随之而来的就是几乎所有的计算机教育书籍也都不考虑这个问题。而在针对大学毕业生的培训体系中,因为学员来自不同的学校,并且具备不同的专业背景,所以专业知识的背景、思维能力、动手能力的差别大大高于高校的课堂。不针对这个问题重组课程,就无法充分提升课程水平。
去掉集中讲授Linux命令和工具的环节,转而在整个教学过程中引导学员去使用这些工具。教学实践使我们认识到:通过独立课程环节讲授工具使用是低效的,因为工具的使用方式必须贴合实际问题。尝试把工具和基础命令融入到整体课程的各个环节中,这样能够在节省时间的同时反而收到比较好的效果。
至于课程内容,则应当针对不同层次学员进行细分。对于基础薄弱的学员,安排专门的辅导环节以解决个别问题。对于那些已经具备较强编程能力的,安排进阶内容(那些在课程主序列中没有涵盖但同样很重要的知识)。
C语言基础训练
教学实践中发现,绝大多数的学员在入学时的C基础都不足以支撑后续课程的学习。即便是那些程度比较好的学员,也有很多似是而非的概念。C基础阶段在知识点要补齐学员头脑中认识的漏洞和错误。从编程能力训练方面,应当调整课程和练习的次序,在一开始就运用运用刚刚讲授的有限手段展开丰富的练习。虽然练习中的部分问题通过后续课程所讲授的知识点有更好的解决方式,但是这个阶段培养了学员对于知识运用能力。设定一个有限的知识环境,然后拓展问题的难度,这样才能够释放思维能力。
Linux环境和开发工具
如果学员之前不熟悉Linux环境的程序设计,那么这个环节对他来说就很重要。这个阶段的讲授思路前面已经指出。需要补充的一点是,工具的使用纷繁复杂,课程不可能也不需要讲授全部细节。所以在用到工具时,重点在于引导学员去阅读手册。而这也正是实际中唯一正确使用工具的方式。
脚本编程技术
程度较好的学员应当在这里试图有所建树。在引入下文中所述教学模式的班级中,四分之一的学员可以熟练掌握脚本技术中的一种或几种,一半的学员可以简单地使用脚本来解决实际问题。 这个环节的知识是地道Linux程序员应当掌握的“超级工具”。这些工具不论是单独使用还是和C程序结合使用,都能爆发出巨大的威力。但是很遗憾,这些技巧在的Linux程序员群体中属于小众技巧。事实是这样,如果在一个众人都用某种技术的环境下,不需要太多的学习也能快速掌握这种技术。因为你可以从周围的人那里迅速学到关键的窍门所在,当你遇到实际问题时也可以迅速从周围人那里获得支援。与此同时,提供支援的先行者们也能够更深刻地理解已有知识。这个迭代过程会非常高效地提升参与者的水准。
基于这种事实,我们在进阶内容的教学实践中创造了一种新的教学实践:让入学程度较好的学员根据自身情况选学不同的内容。教师针对问题进行单独指导。此时由教师来充当这个“环境”。在一段时间之后展开交流活动,通过交流让所有的学员都能够了解到所有这些技术的概貌。此时,由于已经有部分学员自学过相应的内容,这些学员也参与到“环境”中。后续参与学习的同学也能快速地在更加充分的环境中迭代自己的能力。 这种教学模式可以在基本不占用课时的情况下提升相当一部分学员尤其是那些基础较好的学员的水准。仅就目前的教学实践来说,已经达到了令人惊叹的效果。我们仍然在研究实践这种模式的佳方式。
Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5,京公海网安备11010802025203号