views:

198

answers:

5

I've got two high school juniors coming in today and I have no idea what to show them.

I'm a software engineer and I'll have them for an hour.

I could run through the basics of VCS, SQL or some web apps we've made, but I'd like to hear some suggestions.

It'd be neat if we could build an C# or ASP.NET app from start to finish but an hour isn't much time--any ideas there?

+5  A: 

Make up a list of things you can show them increasing in complexity - more than 3 hours of material.

When they arrive, gauge their level of understanding and interest and adapt.

I don't know what business you're in, but if you want to do well, try to come up with a few different topics to focus on in terms of what might be interesting to them.

For instance, get the list of cars from fueleconomy.gov for car enthusiasts, or grab a list of players for NBA, NFL, NHL, etc and pre-populate databases so you can riff off of something they have an interest in.

If possible, use tools and techniques they can do at home and even consider making a CD with free software and the results of your hour of exploration.

The web is a very interesting place, and showcases your skills very well for instance. There are now free web hosts which support MySQL and PHP - they aren't great, but they're cheap. You might consider doing very simple PHP and MySQL websites for each of them.

Adam Davis
Be careful :) A friend who lectured in computer science had some kids around and ended up giving them puzzles rejected as 'unfairly difficult' by the students.
Remou
I wish I could accept two answers--this was helpful, too. I made sure to have lots of data available with some queries that were fresh in my head. I made a lengthy list of topics to cover as you suggested, which worked well in conunction with @Robert's answer.
Michael Haren
Glad to have helped!
Adam Davis
A: 

I'm not really answering to your question, but some times ago, we got 1 14 year old kid at the office for 1 week.

we just gave him an old Sun U60 and asked him to : - install Solaris 9 - prepare a developper environment on it following our internal docs - run unit tests on our application

this kid had never used anything different from Windows, and had only some little knowledge on HTML/CSS/javascript + some macros in Office

I guess he learnt something from his internship

but 1 hour is different from 1 week so that's not the answer you're looking for

chburd
I can't imagine the kid had much fun! :(
the beginning was hard, and after a few days we let him test our software. this was an idea from my boss. i would never had imagined such a torture.
chburd
+2  A: 

Don't focus too much on technology. The technology will change by the time they do the job (if they ever do it). Show them what you do - walk them through requirements/change requests/finding problems/version control/etc. Maybe save a simple new feature or a trivial bug and show them the whole process. Lots of people have seen code/databases/etc. as a highschooler. How many of them get to see what software engineers actually do?

MNGwinn
+6  A: 

Have you watched any of the Microsoft video presentations of C#? They routinely program something spiffy within an hour. Their secret? The same as cooking shows! You have some app at different stages and fill in the important blanks by asking questions the audience can answer. A good solution on you tight schedule would be to pull out a few tags from source control. Also remember to make a bug along the way, something that you can show the debugger for, that way they can see how we conduct forensics. Anyways also let them take turns typing in some statements, say an SQL query or some LINQ, that way they can feel some first hand experience.

Robert Gould
This worked really well. I took a simple little hobby app and asked the students for enhancement suggestions. They came up with a great idea that we implemented together in about 40 minutes. I used the rest of the time to show them a spec, the project life cycle, etc. Thanks!
Michael Haren
That's great! Glad it helped. Even if they never become programmers they'll likely be more understanding about programming and make them good alies of the profession.
Robert Gould
+1  A: 

Why not take a website that they are familiar with, like MySpace, and deconstruct it from a programmers point of view. You could start by showing the HTML code, identifying the technology used by the URL, then extend the discussion to talk about dynamic HTML and databases in very general terms.

JohnFx