最初的问题

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

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

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


当前回答

我同意Leac的观点。有时候无聊的时候我会玩Scratch。这是一种非常有趣的查看代码的可视化方式。

它的工作原理是,他们给你一堆“积木”(这些看起来像乐高积木),你可以叠起来。通过堆叠这些块,并与画布(游戏邦注:你可以在此放置精灵和图像)进行交互,你便能够创造游戏,电影,幻灯片等等。这真的很有趣。

当它完成时,你可以直接上传到Scratch网站,这是一个类似youtube的Scratch应用程序门户。不仅如此,您还可以从网站上下载任何提交的内容,并从其他Scratch应用程序中学习或扩展。

其他回答

我同意Leac的观点。有时候无聊的时候我会玩Scratch。这是一种非常有趣的查看代码的可视化方式。

它的工作原理是,他们给你一堆“积木”(这些看起来像乐高积木),你可以叠起来。通过堆叠这些块,并与画布(游戏邦注:你可以在此放置精灵和图像)进行交互,你便能够创造游戏,电影,幻灯片等等。这真的很有趣。

当它完成时,你可以直接上传到Scratch网站,这是一个类似youtube的Scratch应用程序门户。不仅如此,您还可以从网站上下载任何提交的内容,并从其他Scratch应用程序中学习或扩展。

Microsoft Small Basic是一个免费的基于。net的编程环境,旨在为初学者提供一个“有趣”的学习环境。该语言是VB的一个子集。NET,甚至包含一个Logo语言中熟悉的“Turtle”对象。该网站包含一个循序渐进的教程。

这个线程是非常有用的我作为一个初学者(>100行代码)程序员。

基于我所经历的,一旦我完成了“Hello World”,并移动到变量和“if/else”语句,我得到了太多的语法;不知道该拿他们怎么办。

因此,通过一个有趣的简单项目,我可能会重新燃起我的兴趣。这里有很多项目建议。

我能问个问题吗?

先学习像Autohotkey这样的脚本语言会更好吗?

编辑:[Justin Standard] 我认为学习一些基于宏的东西,比如Autohotkey,只会有最低限度的帮助。试着先学习一门“真正的”编程语言。最简单的入门(根据大多数人的说法)是python和ruby。我更喜欢python,但两者都很简单。 还有一个完整的stackoverflow帖子回答了从哪种语言开始的问题。

如果你想教授编程的基础知识,而不是特定语言,有一个叫Scratch的应用程序是在麻省理工学院创建的。它旨在帮助人们培养编程技能。当用户创建Scratch项目时,他们学会了创建条件、循环等。还有一个scratch项目社区,可以从那里下载项目——这样你就可以探索其他人的程序,看看他们是如何构建的。

对我来说,在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);
}

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