正在介绍编程的人的课程经常包括代码项目,我认为这是一种很好的学习方式。 然而,这些项目往往过于人为,因此不值得回报。

您对奖励代码项目的想法是什么? (最好是易于开始,并且可以随意扩展以获得更高级!)。

编辑:

@Mark:感谢这个链接,虽然我对那些对编程完全不熟悉的人更感兴趣(链接似乎更多地指那些已经精通至少一种语言的人,并试图学习一种新的 - 我会说的典型SO观众:) - )。

@Kevin,Vaibhav,gary:我在想通过一种语言学习编程的人,所以在课程开始时,有些人对控制结构一无所知(更不用说任何类型的语法了)。 但是,我正在考虑一个相当大的项目(通常在1k-10k行代码范围内,可能是2或3名学生的组)。 这就是我的学校为完整的初学者所做的事情,它确实对他们有用......除了他们大多数人发现他们的项目很无聊!

===============>>#1 票数:4 已采纳

正如已经说过几次,你想要教初学者的东西对于这个项目非常重要。

我建议你做这样的事情:

1)避免制作电脑游戏

计算机游戏尽管很有趣,但它并不能在程序员的早期阶段给予奖励(这非常复杂)。 您希望专注于小而有用的应用程序,例如端口扫描程序 这个例子有点复杂,但它是我在网上看到的最好的学习项目之一。

2)尽早教图形

在早期看到你的工作成果是有益的,它会激励你走得更远。 无论您使用的是WinForms,MFC还是Win32 API,OpenGL或DirectX,都要尽早进行教学。

3)许多有深入信息的小课程

这个原则之后是上面链接的Port Scanner项目,它运行良好。 彻底教导每个部分,并为初学者留出时间吸收课程。 我认为ZophusX有一个很好的格式来提供信息。 太糟糕了,他大部分都放弃了他的网站。

4)需要时间

不要急于求成。 几个星期内,没有人会成为一名出色的程序员。 尝试让课程变得简单,但要吸引人,并继续学习以前的课程。

5)尽早并经常获得反馈

您可能认为某个项目非常有趣,或者特定的课程或类似课程,但您不是那个学习的人。 当你早日询问他们的情况以及他们想要了解的更多内容时,你的学生会非常感激。 足够灵活,您可以容纳其中一些请求。

6)玩得开心

玩得开心。 激情是具有感染力的,如果你的学生看到你对这个主题有多少兴趣,那么一些热情也会对他们产生影响。

我希望有所帮助!

===============>>#2 票数:2

一些好的奖励项目,就您可以学习的内容而言,在复杂性方面具有相当大的可扩展性,这些项目包括:

  • 游戏
  • 旅行和交​​通预订/预订系统
  • 百科全书或词典,文章
  • 转换计算器(货币,单位等)

关键是选择一个足够简单的项目,这样当你查看项目标题时,它的一些功能就会立即显现出来。 当真正给出一个想法时,将揭示您可以添加的更多功能。

该项目应该有足够的难度,以使其功能看起来超出初学者的范围,从而激励他一直学习新东西。

===============>>#3 票数:1

如果您正在培训公司中的新员工,那么将它们作为实习项目的实习资源附加在一起是非常有益的。

这会增加主要开发人员的工作量(因为他们必须审查实习生所做的所有工作),但在人员的培训和发展方面有很长的路要走。

===============>>#4 票数:1

我认为游戏和谜题是一个很好的起点,因为它们可以为开发更复杂的版本提供很大的空间。 例如, tic-tac-toe程序最初可以构建为一个简单的命令行程序,让两个玩家玩游戏。

此步骤可用于显示简单数据结构或数组如何表示游戏板,简单输入以获取用户命令/移动,简单输出以显示游戏板和提示等。然后您可以开始显示算法如何用于允许玩家与计算机模式。 我喜欢井字棋简单的幻方的数学算法,因为它是基于非常简单的数学。 在此之后天空是极限,UI改进,使用文件I / O加载和保存游戏,更高级的算法,以使计算机更好地播放等。更复杂和令人满意的游戏仍然可以使用文本模式或简单的图形生成。

多年来,我一直使用推箱子游戏作为展示大量技术的手段。

我用过的最简单的游戏是数字列表倒车游戏。 这涉及1-9号的混合列表。 玩家可以在列表左侧指定要反转的位数。 目的是使列表排序。 这对绝对的初学者来说非常棒。 游戏的每个小部分都可以单独编写和测试。

===============>>#5 票数:0

这真的取决于你想要教初学者的东西。 如果你正在尝试教授语法,那么简单的“Hello World”程序和那些吐出1到100之间每个奇数的程序都可以让它们启动。 如果您正在尝试教授数据结构,那么可能就像20个问题的游戏或一些简单的排序程序。 如果你正在尝试教授递归,那么可能是一个广泛的第一个搜索程序。 如果您正在尝试教授数据库操作,那么像订单跟踪系统这样的东西就是合适的。

===============>>#6 票数:0

看看Absolute Beginner的Python Programming一书中的代码示例

===============>>#7 票数:0

文字冒险。

  • 这是一个控制台应用程序
  • 你需要做一些有用的事情,持有库存,地图和房间状态并解析输入
  • 这很有趣,你可以把它给别人玩! :d

  ask by OysterD translate from so

未解决问题?本站智能推荐: