奖励*完整*初学者的代码项目

Oys*_*erD 8 language-agnostic

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

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

编辑:

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

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

Mar*_*ide 4

正如已经说过几次的那样,你试图教给初学者的内容对于项目来说非常重要。

我对你计划这样的事情的建议是:

1)避免制作电脑游戏

计算机游戏虽然构建起来很有趣,但不会在早期就给程序员带来结果(它非常复杂)。您希望专注于小型但有用的应用程序,例如端口扫描仪。那里的例子有点复杂,但它是我在网上看到的最好的学习项目之一。

2)尽早教授图形学

尽早看到自己的劳动成果是值得的,它会激励你走得更远。无论您使用的是 WinForms、MFC 还是 Win32 API、OpenGL 还是 DirectX,请尽早教授。

3)许多小课程,内容深入

上面链接的端口扫描器项目遵循了这一原则,并且效果良好。彻底教授每个部分,并给初学者时间吸收课程。我认为ZophusX有一个很好的提供信息的格式。可惜他几乎放弃了自己的网站。

4)需要时间

不要着急做事。没有人能在几周内成为出色的程序员。尝试让课程变得简单但有吸引力,并不断从之前的课程中汲取经验。

5)尽早并经常获得反馈

您可能认为一个项目非常有趣,或者是一个特定的课程等等,但您并不是学习的人。当您尽早询问学生进展情况以及他们想了解更多信息时,您的学生会非常感激。足够灵活,您可以满足其中一些请求。

6)享受教学乐趣

玩得开心。热情是具有感染力的,如果您的学生看到您多么喜欢这个主题,那么这种热情也会感染到他们。

我希望这有帮助!