我正在高中开办一个编程俱乐部,我已经使用C++中的简单课程向OOP介绍了我的学生.我相信至少在理论上他们会得到这个想法.我希望能够为他们提供一个可以共同完成的具体项目.我的问题是采取哪种方法.当我在大学学习编程课程时,我看到了两种不同的方法,但在我看来,他们都有严重的缺点.我最后沉睡了大部分时间,并通过书籍和例子自己学习这些东西.既然我是老师的话,我想了解哪种方法更可取或者是否有第三种选择.
使用的方法1是在板上(或在具有投影屏幕的计算机上)编写程序.始终首先编写类定义.通常学生在这一点上看起来真的很困惑,因为变量和方法的目的对他们来说似乎完全模糊不清.他们唯一一次了解每个变量和方法的用途以及它们如何进行交互是指导员最终编写实现的时候(我称之为外向内方法)
方法2是解释我们想要实现的目标,并根据需要创建类和成员.这有相反的问题.他将编写一种方法,使用这些必须在以后实现的虚构类.但学生们并不知道这些其他课程如何运作.
小智 6
碰巧的是,我作为一名教师在大学里工作.我现在是一名软件工程师.
根据我的经验,学生在情感投资于编程项目中是至关重要的.我会在一分钟内回答你的问题,这是一个必要的序言.
为了达到目的,我把这个程序的主题做了一些真正让他们感兴趣的东西,无论它看起来多么愚蠢,只要它在他们的世界中与它们相关联.
因此,可能(取决于你的学生的年龄)按照他们的才能水平排列歌星,包括Justin Bieber.你可以想象那个人的骚动.
比如,加载他们的歌词并计算他们说"婴儿"这个词的次数.有创意,有趣的东西.
这将使"干"问题变得活跃起来.比如,"歌手"课程应该是什么样的.为什么它应该具有像"八度范围"这样的属性将立即直观.
歌手类应该有一个名为'barfOnStage'的方法吗?(不久前Biebs在舞台上摔了一跤).当然,为什么不呢!?他们很容易看到方法和属性之间的区别.
我的意思是,我只是在谈论我的头脑,我相信你可以将自己的创造力和创造力应用于适合你孩子的任何事情.
我很想听听你的情况,以及孩子们的项目结果如何.