最初的问题

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

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

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


当前回答

对我来说,在IDE中探索和实验帮助我学习了Java和Visual Basic,但我学习编程的基础是艰苦的:Perl 5。那时候还没有一个免费的IDE,所以这意味着在记事本中输入代码,保存它,然后运行perl解释器。

我想说ide使学习编程基础更容易。先试试控制结构和变量。用Java说:

int a = 5;

for (int i = 0; i < a; i++) {
     System.out.println("i is now " + i);
}

基本上,简单地学习控制结构和变量就可以让初学者开始编写有趣的东西。

其他回答

我不知道是否有人在这里提到过,但是你可能想看看Zed Shaw的《用艰难的方式学习Python》

希望这能有所帮助

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

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

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

书籍:面向孩子、父母和祖父母的Java编程(PDF)

我没有使用那本书学习的个人经验,但它看起来很不错,因为它很快就能产生一些可见的东西,而且没有在语法细节上花费太多时间。有人试过用那本书吗?

学术地球提供顶尖大学的免费计算机科学课程链接。他们有一个部分是针对初级计算机科学的。初级课程所教授的语言各不相同:

麻省理工学院-计算机科学与编程导论- Python 斯坦福-计算机科学I:编程方法学- Java 哈佛大学-计算机科学概论I - C(主要方向) 还有一些是为了 良好的度量(例如,SQL, PHP, LISP, 汇编程序等) Berkeley -一种LISP语言的方言

用现实世界的类比和想象的人物来教他们编程。比如当我教人们变量和控制语句的时候。

通常我从计算器的例子开始。我说,想象你有一个盒子,每个变量都有10个卡板,上面印着数字0 - 9。假设这个盒子一次可以装一个纸板,用类似的方法解释编程元素是如何工作的

并强调每个操作符是如何工作的。像简单的'='操作符一样,总是先将右边的值计算为一个值。然后将该值放入名为num_1(变量名)的框中

这是非常非常有效的,因为他们能够非常快速地想象流动。