返回介绍

3. 目标

发布于 2024-10-15 23:56:06 字数 971 浏览 0 评论 0 收藏 0

就象我的前一本书《Thinking in C++》一样,这本书面向语言的教授进行了良好的结构与组织。特别地,我的目标是建立一套有序的机制,可帮助我在自己的研讨会上更好地进行语言教学。在我思考书中的一章时,实际上是在想如何教好一堂课。我的目标是得到一系列规模适中的教学模块,可以在合理的时间内教完。随后是一些精心挑选的练习,可以在课堂上当即完成。

在这本书中,我想达到的目标总结如下:

(1) 每一次都将教学内容向前推进一小步,便于读者在继续后面的学习前消化前面的内容。

(2) 采用的示例尽可能简短。当然,这样做有时会妨碍我解决“现实世界”的问题。但我同时也发现对那些新手来说,如果他们能理解每一个细节,那么一般会产生更大的学习兴趣。而假如他们一开始就被要解决的问题的深度和广度所震惊,那么一般都不会收到很好的学习效果。另外在实际教学过程中,对能够摘录的代码数量是有严重限制的。另一方面,这样做无疑会有些人会批评我采用了“不真实的例子”,但只要能起到良好的效果,我宁愿接受这一指责。

(3) 要揭示的特性按照我精心挑选的顺序依次出场,而且尽可能符合读者的思想历程。当然,我不可能永远都做到这一点;在那些情况下,会给出一段简要的声明,指出这个问题。

(4) 只把我认为有助于理解语言的东西介绍给读者,而不是把我知道的一切东西都抖出来,这并非藏私。我认为信息的重要程度是存在一个合理的层次的。有些情况是 95%的程序员都永远不必了解的。如强行学习,只会干扰他们的正常思维,从而加深语言在他们面前表现出来的难度。以 C 语言为例,假如你能记住运算符优先次序表(我从来记不住),那么就可以写出更“聪明”的代码。但再深入想一层,那也会使代码的读者/维护者感到困扰。所以忘了那些次序吧,在拿不准的时候加上括号即可。

(5) 每一节都有明确的学习重点,所以教学时间(以及练习的间隔时间)非常短。这样做不仅能保持读者思想的活跃,也能使问题更容易理解,对自己的学习产生更大的信心。

(6) 提供一个坚实的基础,使读者能充分理解问题,以便更容易转向一些更加困难的课程和书籍。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文