最初的问题

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

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

我们正在使用的语言是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编程:计算机科学介绍第二版


当前回答

关键的是,这个人需要有一些他们想要解决的问题。如果你没有一个你想要编写的程序(并且是一些合理且定义明确的东西,而不是“我想要编写下一个Quake!”),那么你就无法学习编程,因为你没有任何激励你的东西。我的意思是,你可以读一本书,粗略地了解一种语言的语法和语义,但除非你有一个你想要编写的程序,否则你永远不会迎难而上。

如果这种推动力存在,那么其他一切都只是次要细节。

其他回答

这完全取决于你哥哥的学习风格。许多人通过亲自动手学习,在学习和积累知识的过程中明确概念和大局,从而学得更快。

对我来说,我更喜欢从大局出发,深入到细节。我想知道的第一件事是它是如何组合在一起的,然后是面向对象的官样文章,然后是类和实例等等。在我学习语法之前,我喜欢了解基本的概念和一点理论。我有一点优势,因为我在20年前用BASIC写过一些游戏,但之后就没有什么了。

也许在实际编写代码之前,先从总体任务陈述开始,然后是计划和/或流程图,然后细化成一些伪代码(倾向于您最终将使用的语法),这是很有用的。

这里的黄金法则就是弄清楚你学生的学习风格。

我会让他写大量的代码。你们做什么事都让他插手,随时回答问题就好。

信不信由你,在写了几个月的烂代码之后,他会开始明白这个想法,并开始写更好的程序。在这一点上,你可以陷入细节(内存等),也可以谈论一般的设计原则。

我听说伟大的艺术家和平庸的艺术家的区别在于,他们每次练习都会在某些方面有所改进,不管这些改进有多小。让你弟弟练习,他每次坐在键盘前都会进步。

编辑:[Justin Standard] 埃斯特班,这让我想起了最近的一篇编程恐怖文章,我认为你是对的。但我认为仍然值得寻找方法来指导他的实践。毫无疑问,我希望他能写尽可能多的代码。这是我要求样本项目的原因之一。

让它变得有趣就好!

令人惊讶的是,如果您尝试Kojo, Scala可能是最简单的

有一本维基百科非常适合学习python。

我不知道其他语言的维基百科是怎样的,但我个人是从2007年2月的维基百科上学习python的

Ps -如果你不熟悉维基书,它基本上是维基百科版本的书籍创作。这有点难以描述,但如果你看了几本书你就会明白它是如何工作的

如果你哥哥喜欢智力游戏,我推荐你去Python挑战。我不会把它作为1对1教程的正式教学工具,但当你们不在一起时,他可以这样做,挑战自己,找点乐子。