面向*完整*初学者的奖励代码项目 [英] Rewarding code projects for *complete* beginners

查看:101
本文介绍了面向*完整*初学者的奖励代码项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

针对入门编程人员的课程通常包括一个代码项目,我认为这是一种很好的学习方法.但是,这样的项目通常感觉太虚构,因此进行工作并没有太大的收获.

Courses for people who are being introduced to programming very often include a code project, which I think is a nice way to learn. However, such projects often feel too artificial, and are thus not very rewarding to work on.

您对奖励代码项目有何想法? (最好是容易上手,并且对于更高级的用户可以随意扩展!).

What are your ideas of rewarding code projects? (Preferably easy to begin, and extendable at will for the more advanced!).

@Mark:感谢您提供的链接,尽管我对面向编程新手的项目更感兴趣(该链接似乎更多地是指已经精通至少一种语言并试图学习的人一个新的-我会说的典型的SO听众:)-).

@Mark: thanks for the link, though I'm more interested in projects for people who are completely new to programming (the link seems to refer more to people who are already proficient in at least one language, and trying to learn a new one -the typical SO audience I'd say :) -).

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

@Kevin, Vaibhav, gary: I was thinking of people who are learning programming through one language, so at the beginning of the course some don't know anything about control structures (and even less about any kind of syntax). However, I was thinking in quite a large project (typically in the 1k-10k lines of code range, possibly in groups of 2 or 3 students). This is what was done at my school for the complete beginners, and it sure seemed to work for them... except that most of them found their projects quite boring to work on!

推荐答案

如前所述,您尝试教初学者的内容对该项目非常重要.

As has been stated a few times, what you are trying to teach the beginner is very important to the project.

我对您进行此类规划的建议:

My advice to you for planning something like this:

1)避免制作计算机游戏

1) Avoid making a computer game

尽管计算机游戏很有趣,但并不能在早期就奖励程序员(这是非常复杂的).您想专注于小型但有用的应用程序,例如端口扫描器.该示例有些复杂,但这是我在网络上看到的最好的学习项目之一.

A computer game, while fun to build, doesn't reward the programmer with results early on (it's very complex). You want to concentrate on small but useful application programs, such as a Port Scanner. The example there is a little complex, but it's one of the best learning projects I've seen on the web.

2)尽早教图形

很高兴能早日看到自己的劳动成果,并能激励您走得更远.无论您使用的是WinForms,MFC还是Win32 API,OpenGL或DirectX,请尽早教它.

It's rewarding to see the fruits of your labors early on, and it motivates you to go further. Whether you're using WinForms, MFC or the Win32 API, OpenGL or DirectX, teach it early.

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

3) Many small lessons with in depth information

上面链接的端口扫描程序项目遵循此原理,并且效果很好.彻底地讲授每个部分,并给初学者留出时间来吸取教训.我认为 ZophusX 具有提供信息的良好格式.太可惜了,他大部分时间都放弃了自己的网站.

This principle is followed by the above linked Port Scanner project, and it works well. Teach each part thoroughly, and give time for the beginner to absorb the lesson. I think that ZophusX had a good format for giving the information. It's too bad he's mostly abandoned his site.

4)需要时间

别着急.几周内没有人成为杰出的程序员.尝试使课程简单但又引人入胜,并保持先前​​课程的经验.

Don't rush things. Nobody becomes a stellar programmer in a few weeks. Try and make the lessons simple, but engaging, and keep building from your previous lessons.

5)经常获得反馈

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

You might think a project is incredibly interesting, or a particular lesson or such, but you aren't the one learning. Your student(s) will greatly appreciate it when you ask them early on how things are going, and what they'd like to know more about. Be flexible enough that you can accomodate some of those requests.

6)有趣的教学

玩得开心.激情具有感染力,如果您的学生看到您对主题有多喜欢,这种热情也会在他们身上消失.

Have fun. Passion is contagious, and if your student(s) see how much you enjoy the subject matter, some of that enthusiasm will rub off on them as well.

希望对您有帮助!

这篇关于面向*完整*初学者的奖励代码项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆