最初的问题

我目前正在教我弟弟编程。他完全是个初学者,但很聪明。(他真的很想学)。我注意到我们的一些会议陷入了一些小细节,我觉得我不是很有条理。(但这篇文章的答案有很大帮助。)

我怎样才能更好地有效地教他?是否有一个逻辑顺序,我可以用一个概念一个概念地运行?是否有什么复杂的问题我应该在以后再讨论?

我们正在使用的语言是Python,但任何语言的建议都是受欢迎的。


如何提供帮助

如果你有好的答案,请在你的答案中添加以下内容:

初级练习和项目想法 初学者教学资源 屏幕视频/博客文章/免费电子书 印刷适合初学者的书籍

请用链接描述资源,以便我可以看一看。我想让每个人都知道,我确实在使用其中的一些想法。你提交的内容将在这篇文章中汇总。


初学者在线教学资源:

A Gentle Introduction to Programming Using Python How to Think Like a Computer Scientist Alice: a 3d program for beginners Scratch (A system to develop programming skills) How To Design Programs Structure and Interpretation of Computer Programs Learn To Program Robert Read's How To Be a Programmer Microsoft XNA Spawning the Next Generation of Hackers COMP1917 Higher Computing lectures by Richard Buckland (requires iTunes) Dive into Python Python Wikibook Project Euler - sample problems (mostly mathematical) pygame - an easy python library for creating games Invent Your Own Computer Games With Python Foundations of Programming for a next step beyond basics. Squeak by Example Snake Wrangling For Kids (It's not just for kids!)


推荐印刷书籍的教学初学者

加速c++ Python编程绝对初学者 Charles Petzold编写的代码 Python编程:计算机科学介绍第二版


当前回答

我通过学习如何使用流程图和PDL(程序设计语言)以语言无关的方式解决问题。几周之后,我学会了把我写的PDL转换成一种语言。我很高兴我学会了这种方法,因为我大部分时间都在编程,解决问题,而不依赖于语言。我使用什么语言一直是实现细节,而不是设计的一部分。

通过将问题分解为基本步骤来解决问题是一项关键技能。我认为这是区分那些会编程和不会编程的人的一个因素。

至于如何处理语言概念的顺序,我认为最简单的方法是在脑海中有一个项目,并根据需要处理这些概念。这让你可以在你感兴趣的事情上应用它们。在学习一门语言的时候,最好在脑海中有几个简单的计划,还有几个逐步复杂的计划。决定这些将帮助你规划出需要的概念和它们的顺序。

其他回答

Python编程绝对初学者

Python编程绝对初学者封面http://safari.oreilly.com/images/1592000738/1592000738_xs.jpg

我建议采用类似于《加速c++》这本书的方法,在这本书中,它们涵盖了c++中通常对编写简单程序有用的部分。对于编程新手来说,我认为花点功夫就能展示一些东西是保持他们兴趣的好方法。一旦你掌握了Python的基础知识,那么你就应该坐下来,让他来实验这门语言。

在我这学期的一门大学课程中,他们采用了一种名为“基于问题的学习”(PBL)的方法,即通过讲座来激励学生使用不同的方法来解决问题。既然你哥哥很热心,你也应该采取类似的方法。让他做一些小项目,让他自己想办法。一旦他完成了,你可以通过他的方法,并与不同的方法进行比较和对比。

如果你能给他适当的帮助,引导他在正确的方向,那么他应该没事。为他提供一些好的网站和书籍也是一个好主意。

我还建议在开始阶段远离IDE。使用命令行和文本编辑器将使他更好地理解编译/汇编代码所涉及的过程。

希望我能帮上忙。:)

http://tryruby.hobix.com/">试试Ruby(在你的浏览器)

有一个小的,可实现的目标是学习任何技能的最好方法之一。编程也不例外。Python是一种很好的入门语言,因为它容易学习,简洁,仍然可以做高级的事情。Python只受限于你的想象力。

真正让别人感兴趣的一个方法是给他们一些他们可以在一个小时左右完成的小项目。当我最初开始学习python时,我玩的是Code Golf。他们有许多有助于教授编程基础知识的小挑战。我建议每天尝试解决一个挑战,然后运用所学到的概念。你必须让学习编程充满乐趣,否则你很快就会失去兴趣。

我建议“不插电的计算机科学”作为补充的教学材料。