我即将(与其他程序员一起)在我的高中开始编程和算法俱乐部.选择的语言是C++ - 抱歉,我无法改变这一点.我们可以假设学生对上述主题几乎没有经验.
您认为我应该关注的最基本概念是什么?
我知道教授对我来说已经很明显的东西并不是一件容易的事.我意识到第一次会议应该得到极大的关注 - 不要吓跑学生 - 所以我问你.
编辑:我注意到程序员和初学者之间的主要区别可能是"程序员的思维方式" - 我的意思是,将问题概念化为算法.我知道这只是一个练习问题,但你知道任何可以刺激这个领域发展的练习/概念/事物吗?
让编程变得有趣!
可能要讨论的事情是编程竞赛,你的俱乐部可以自己保留,也可以在本地进入.我参加大学(ACM)级别的编程竞赛,我知道他们也有较低级别的编程竞赛.
这些活动确实可以吸引一些竞争精神,让俱乐部成员更加亲近.
事情并不总是与编程有关.也许建议你有一个局域网聚会,在那里你玩游戏,讨论编程等也是一个好主意.
关于编程/算法相关的实际主题,我建议作为一个小组在这个编程竞赛入门" 编程挑战 "中尝试一些编程问题:Amazon Link
他们从相当基本的编程问题开始,然后慢慢进入需要各种数据结构的问题,例如:
堆栈
队列
字典
树
等等
大多数问题都是在C++中给出的.
最终,他们会遇到更高级的问题,包括Graph Traversal和流行的Graph算法(Dijkstra等),Combinatrics问题等.每个问题都很有趣,并以小型"故事"格式给出.但要注意,其中一些非常难!
编辑:在让人们参加俱乐部会议时,比萨饼和苏打水从未受伤.我们的ACM俱乐部每次会议都有披萨(每月一次).即使我们大多数人仍然会出现它是一个很好的破冰者.特别是对于新的俱乐部或会员.