views:

575

answers:

8

Related:

Best ways to teach a beginner to program?

I am teaching my brothers ASP.NET programming and they are starting with a very small amount of background knowledge. They know things like declaring a variable, what a class is and what a page is.

I want to teach them to be good web developers in the shortest amount of time.
The problem I face with them is that they are not interested in reading books. They are interested in doing projects and only read when they encounter a problem they cannot solve.

The level I want them to reach is:

  1. ASP.Net professional.
  2. HTML professional.
  3. CSS aware.
  4. JavaScript know well how to edit, and write small functions.
  5. SQL Server to write simple statements for CRUD.

What is the best method to teach them fast and effectively?

+1  A: 

It's best if you learn the basics and then try to create some more complex application, where you would learn everything more in depth. Reading 10 books doesn't make you professional. You learn much faster when you actually create something what you need.

Darth
+4  A: 

Get them working on a small but engaging project, something that they have a stake in. Don't know about their age, but a school website, family blog or whatever. Ideally, something that they both (and maybe you yourself as well) can work on. They'll learn from each other. It'll keep them engaged much more than little fake exercises (hey, even the word sounds off-putting...)

Kurt Schelfthout
+5  A: 

Personally, I have found watching videos the easiest way of picking up a new technology (especially if they don't want to read books)

DotnetDude
+1  A: 

I respectfully refer you to my answer to "I'm New to C# and I don't have any programming experience". Specifically, the portion which suggests you can't rush the process of becoming a "good" developer.

Rob
+1  A: 

I learned Python by finding out about PyGame and thought "Hey that looks cool." I started with a concept of a game and just went for it. It also helped that my friends already knew python and were able to work with me on it.

They can pick things up as you go, especially since they have YOU helping.

Find a project and work with them.

What is the best style to teach them fast and effective?

Decide on a project and do it with them. Since you are results oriented, simply start developing.

It could be that they might not be motivated by themselves to figure stuff out on their own. If they have you helping them through problems, this gives them a leg up. That is why I recommend finding a project and working with them on it.

A lot of people have had a programming mentor at one point in their lives, showing them how things should be done. You could be theirs.

Jeremiah
+4  A: 
Koistya Navin
A: 

By doing some projects in the areas you mention they will learn relatively fast, but they will NOT have good understanding of what's involved. This means they will be in trouble when they will hit problems. I suggest giving them the task of creating a web server in C that can answer simple requests and a client in C# that can interpet HTML and save links in DB. They'll earn much more in the process

Albert
I have to disagree. He wants them to "be good web developers in the shortest amount of time" Learning how to create a web server isn't going to help them at that. Just knowing the basics of HTTP is enough (404 errors, stateless and the like)
Martin
There's no way to be "good developers in shortest amount of time". As I stated above the will learn the basics fast, but when having problems will have no clue.
Albert
+1  A: 

I always found if you can give someone the motivation, the rest will come together. Find a project they would love to be involved in (sometimes the hardest part), and determine what depth or level you would like to have them develop at. I always loved the hands on approach, where the hands would get dirty and they would effectively learn from their mistakes. Keep it simple, and keep it in the right direction. Lather, Rise, and Expand.

Best of luck!

Rev316