Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been tasked to build an 8 hour program of work to teach teenagers (12-15) the basics of web development.

I am at a loss at where to start on such a huge subject. I'm not even sure what the target should be.

Any tips would be great.

share|improve this question
    
Do you mean 8 hours total? –  Eric Wilson Jul 26 '11 at 19:32
    
Yeah, split into eight, one hour slots –  Mild Fuzz Jul 26 '11 at 19:34
1  
    
They should be be able to take away something from the class after they are done. Look at my web page(s)! They should be able to create some web page(s), upload them to some public WWW, and then take a look at them in the browser, from the web, iPhone, etc. Basic HTML CSS, maybe some scripting and let them loose. Teach them something and let them implement it. Maybe a page about themselves. Have them snap a picture and embed it the page. Use javascript to do some dynamic with it. Start with text and keep building up every hour. –  Jon Raynor Jul 26 '11 at 21:28
add comment

6 Answers

up vote 11 down vote accepted

I would assume they know how to use the internet \email.

1) I would spend about 2 on the Web basics and Architecture (Servers, Clients, Protocols, client side vs. Server side, Ect.)

2) Then the next 2 on HTML and Basic CSS.

3) The remainder, having them create their own Static html sites. (While helping them to learn how to look up the stuff they don't know.)

I would not touch programming concepts.

share|improve this answer
4  
+1 for no programming. However I would recommend levering CSS3 for animations and bells and whistles for that "wow factor". –  Raynos Jul 26 '11 at 20:09
add comment

Here is what I would do: decide on a (simple) website project that has a real world use (maybe a shopping site or something). Each day tackle one aspect of the site (display, functionality, etc.) and use each aspect as a platform for demonstrating the technology in action, and alternatives.

share|improve this answer
add comment

I would tackle only HTML+CSS, and would maybe have a teaser for Javascript (or provide it as a bonus for the advanced students). I would not try to cram in anything beyond that. I think the key thing would be making it engaging by having the kids pick their own project around what they wanted to create and help them by providing the tools and guidance to scope the work reasonably.

I've tried doing this with my 12 year old son in one on one sessions and it was really difficult to keep his attention even for 20 minutes. When I give it another shot, helping him come up with something practical he could do with it and encouraging him to make it his own will be my priority more than finding the right material. That and reducing the scope (I tried jumping right into Javascript before).

share|improve this answer
add comment

I definitely start with CSS based on a very simple HTML, like two div elements for example. The reason is that CSS could be the first layer to be noticed in UX (User Experience). Get sure to use Firefox with Firebug and development toolbar to edit CSS live. Then head on to jQuery (not JavaScript) as it's really more friendly.

share|improve this answer
add comment

Well 6 months ago I for the first time touch the subject of the web development.

The very first thing we had to do is to make fan page of our favorite band. We covered displaying text on webpage, putting the pictures, links, embended youtube video, iframes and lists (list all albums bend had made). We did little design with basic CSS (font style, font color, font size, background color, colums, link color, link hover, positioning). For that we spent 4 hours.

The next time we learned about forms (PHP script was not written by us, we just called it) - input, dropbox, checkbox, radiant, labels, textera, submit & reset button. CSS was about making table (and why table should not be made with HTML) and we were presented with concept of holy grail.

Later (but it was third 4-hour course), we made our own PHP script which was handling data from HTML form and writting it into database.

I hope this helps a little bit.

EDIT: And we learnt about W3 standardization! :]

share|improve this answer
add comment

This simply cannot be done in 8 hours. In 8 hours, you could familiarize them with the basics of HTML, possibly with extremely basic CSS.

In 8 hours, you can accomplish the bare bones of console programming, but they will be confused about functions.

In 8 hours, they can learn how to copy-paste JavaScript badly, and they will not be able to debug it.

In 8 hours, they may be able to gain vague notions of what a database is and perform the most basic queries.

But you can't do all of these things. There are too many concepts to learn, and two many mistakes to be made.

Pick an area to focus on, and hit that as well as you can. I'm currently teaching some teenagers programming this summer. There are only three of them, so they get a lot of attention. They will get 12 two-hour sessions (24 hours), with a week in-between for practice. These kids aren't dummies, but the basics take far longer than I had guessed. I'm convinced that if I tried to give them the whole stack, they would leave without understanding anything. But if they come to understand some piece of it well enough to enjoy it, they may come back for more.

share|improve this answer
    
Nah, I disagree. I don't need to make them experts, just introduce ideas. –  Mild Fuzz Jul 26 '11 at 19:38
    
I guess it depends on your goals and their goals. For me, when I get introduced to ideas without the time to understand them through practice, I feel like I've gained nothing. And like I said in my edit, I'm currently in the process of teaching kids programming, so I'm not just theorizing. –  Eric Wilson Jul 26 '11 at 19:48
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.