Teaching and making programming exciting to the novice
我想教一个完全的新手编程(一个拥有艺术学士学位,但从不学习编程的人)。
我试着介绍python,但是回答是这样的:"好吧,它打印了1、2、3………或者是的,它执行fibonacci系列,但是它有什么用途,我可以很容易地做到,或者我的计算器可以做到,它有什么用呢?"我试着把这个宏伟的想法说出来,"嘿,你看你用的是微软办公软件,它用的是同一个概念。"但它不起作用。简单地说,我不能创建或显示任何东西来吸引新手对编程感兴趣。我展示了我使用wxpython创建的图形用户界面,但看到我编写的代码只给新手带来了恐惧,我很震惊。
有人能推荐一种编程教学方法或与编程有关的东西,甚至一些简单的代码,使初学者相信编程很酷,容易学习和有趣吗?
- 但是编程不是很酷,容易学习,也不是很有趣。这是深奥的、困难的和需要学习的斗争。让你的有创意的熟人利用他/她的时间去做对他/她更有吸引力的事情。
- @高性能马克:就是这样。我通常用河内塔的例子来测试某人是否合乎逻辑。如果他们能快速、轻松地解决问题,我认为他们有足够的逻辑性来理解编程。她很快就解决了那个问题,我想,嘿,编程对她来说可能是对的。我现在落后的是我没有任何东西来创造兴趣。
好吧,除非你是天生的数学头脑,否则重复出现的数字模式并不酷。
孩子们开始学习的典型方式不是乌龟图形,就是游戏编程,这是有原因的:它至少是模糊具体的,而且是开放式的。
人们喜欢做的其他事情是网站。一些基于小部件的网站框架可能很有吸引力。
- 从网站编程开始似乎是个好主意。然而,对于图形和/或游戏来说,大多数编程都是基于面向对象的设计的,而新手则不能完全理解这种设计。
- @所有海龟图片的Jack_当然不需要面向对象。至于新手不能理解面向对象的概念,这是一个神话,因为面向对象的技术被许多神秘的胡言乱语所包围。OO实际上只是打包一些变量供相关的函数集合使用的一种方法,加上一些为其他函数切换某些函数的机制。
- @杰克·阿杜,我想补充一点,不管你怎么看,教育孩子的目标都是围绕游戏和图形。即使你认为这一定"太难了",人们还是会继续这样做,所以我怀疑他们已经发现了其他的情况。
- @杰克交换我的编程入门是一本充满基本游戏的书,你可以输入。不需要担心OO概念,这是肯定的。只是一堆你可以修补的变量。作为一个十岁的孩子,这几乎是世界上最好的事情。