有没有人有过向本科生教授C语言编程的经验,这些本科生可以推定他们以前从未见过编辑器?
我可能很快就会面临这种困境,并正在考虑以K&R的“C编程语言”一书为基础。有谁有过类似的经历吗?你的想法/建议是什么?C语言是教授本科生工程师作为第一语言的合适语言吗?
发布于 2010-09-02 04:35:33
K&R不是一本适合编程初学者的书。它假定读者熟悉命令式编程。Pascal或C++程序员可以从K&R开始使用C;Java或C#程序员可以在没有保护措施(如数组绑定验证)方面进行一些指导。但典型的绝对初学者至少需要一个学期才能从K&R中学到任何东西。
K&R有一个非常好的练习汇编;请不要犹豫,可以从中吸取教训。您仍然需要提供更简单的练习,并将一些练习分解为更容易消化的部分。但作为课程文本,你需要一些进展更平缓的东西。
如果你的本科生和我的一样,那么第一个实验就是登录,启动编辑器,输入程序,编译程序,理解错误信息,重复这个过程,直到程序打印出“hello”。准备一个尽可能易于使用和锁定的环境。给出非常详细的说明(最好是在5岁的孩子身上测试)。
我建议练习1是关于输入和运行hello world程序(在纸上提供的源代码),练习2是关于将“hello world”改为“hello everyone”,而练习3是关于输入有错误的程序(一些简单的东西,比如缺少分号),尝试编译错误的程序,并修改程序直到它正常工作。如果你有一些非常聪明的学生,练习4(奖励)可以是关于键入和运行提供的quine。让学生阅读编译器错误消息是实验1中最重要的事情。
发布于 2010-09-02 04:42:42
我以前做过助教。
一般来说,你给学生的魔法越少越好。对于工科学生来说,“它就是工作”不是一个可以接受的答案。这是令人欣慰的,但没有持久的价值。
然而,他们中的大多数人不知道shell或编译器是什么。C很好,因为它没有太多的魔力。我还没有找到一本好的编程入门书,K&R不可能比通常的drek更糟糕。
如果可以选择,我会在入门课程中将汇编语言或Scheme作为编程语言教给comp sci专业的学生(软件工程师、计算机工程师等)。对于更普通的观众,我会教R。
发布于 2010-09-02 03:55:11
我教过rank初学者使用K&R进行c语言编程,但我是作为一名导师,而不是在课堂环境中。
我喜欢K&R,但它写得非常紧凑:你经常必须阅读(并思考)每个单词才能理解要点。这对于有经验的程序员(据我所知,他们是这本书的读者)来说是可以的,但在更广泛的人群中,有许多人不会坐着不动。
在辅导环境中,你可以克服这一点。你知道关键细节隐藏在哪里,可以花时间确保学生在继续学习之前“理解了它”。这在演讲中是很难做到的。
我会推荐另一本书。
https://stackoverflow.com/questions/3621503
复制相似问题