Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: How Can I Make a Computer Science Club Interesting?

samzenpus posted about a year ago | from the just-add-beer dept.

Education 265

plutoclacks writes "I will run a computer science club at my high school next semester with two other friends. The club was newly introduced this school year, and initially saw a massive success (40+ members showed up at the first meeting). Unfortunately, participation has decreased a lot since then, down to four active members. I feel that the main reason for this decline was the inability to maintain the students' interest at the beginning of the year, as well as general disorganization, which we hope to change next semester. The leaders of the club all have fairly strong Java backgrounds, in addition to enthusiasm about computer science and programming. We have a computer lab with ~30 computers, which, though old, are still functional and available for use. What are some ways we can make the club have an impacting interest to newcomers?"

Sorry! There are no comments related to the filter you selected.

easy (1)

Anonymous Coward | about a year ago | (#43870903)

pron...lots of pron

Re:easy (1)

Selur (2745445) | about a year ago | (#43870911)

LOL my first thought exactly,... (porn&forbidden stuff)

Re:easy (1)

robthebloke (1308483) | about a year ago | (#43871017)

Well the Memotech MTX512 probably hasn't got enough power on it's own, but if you were to hook a government mainframe upto a barbie doll and a lightning bolt, you might just be able to make a computer science class stimulating enough to fill out a 90minute film....

Re:easy (1)

SplatMan_DK (1035528) | about a year ago | (#43871113)

that's pr0n, you insensitive clod ...

Re:easy (1)

nopainogain (1091795) | about a year ago | (#43871151)

if only i got up early enough to beat you to this joke.. If i were 15 years younger (that would make me class of 2007 instead of 1992),,, i would totally have done this and gotten a nice suspension. our computer club had "the Oregon trail" and "Turtle Command"... in case anyone wondered why brilliant programmers were so scarce in the 80s, the PC gaming in-school sucked hardcore. mornin slashers. nopainogain.

Re:easy (1)

Zemran (3101) | about a year ago | (#43871431)

Meet in a Go-Go bar...

Re: easy (0)

Anonymous Coward | about a year ago | (#43871627)

You must pick topics that a current and controversial to go over. Hack a iPhone or android. Show how to hack into any PC, wirelessly.

Lots of hot smart chicks (5, Funny)

realsilly (186931) | about a year ago | (#43870907)

should do the trick.

Re:Lots of hot smart chicks (4, Insightful)

gandhi_2 (1108023) | about a year ago | (#43871029)

Hookers and coke.

Re:Lots of hot smart chicks (1)

mmcxii (1707574) | about a year ago | (#43871091)

If you're going to have Coke you need some Jim Beam to go with that.

Re:Lots of hot smart chicks (0)

Anonymous Coward | about a year ago | (#43871139)

Jack Daniels goes better with Coke.

Re:Lots of hot smart chicks (1)

mmcxii (1707574) | about a year ago | (#43871183)

Jack is what the 14 year old kids drink. But since this is for high schoolers it just migjht fit the bill.

Re:Lots of hot smart chicks (0)

Anonymous Coward | about a year ago | (#43871579)

In fact, forget the computers!

where is the blackjack? (1)

Joe_Dragon (2206452) | about a year ago | (#43871645)

where is the blackjack?

Re:Lots of hot smart chicks (1)

Andover Chick (1859494) | about a year ago | (#43871059)

True, girls are far more attracted to asperger/loner computer types then they are to say the dashing hunks on the soccer or football team. What girl won't want to hang with a bunch of scrawny/overweight neruotics in a dark computer room!!

Re:Lots of hot smart chicks (3, Funny)

mrzaph0d (25646) | about a year ago | (#43871331)

well, at first they had all the lights on to not scare the chicks away, but that made it worse. they've now calculated the lighting level to allow them to get as close as possible to the girls before they sense something's wrong and bolt from the room.

i think the next step is to be able to raise and lower the lights as the girls enter and move about the room, allowing them to get even closer.

Re:Lots of hot smart chicks (1)

turgid (580780) | about a year ago | (#43871419)

i think the next step is to be able to raise and lower the lights as the girls enter and move about the room, allowing them to get even closer.

And what about the sweaty stink from the geeks' armpits?

Re:Lots of hot smart chicks (2)

Andover Chick (1859494) | about a year ago | (#43871469)

That's excellent. Maybe they could have mini-drone light sources flying about. Sensors could calculate the girls position and eye direction. Based on these inputs the light drones could illuminate they boys so as to minimize their acne or maximize their biceps. A fun computer project.

Re:Lots of hot smart chicks (0)

Anonymous Coward | about a year ago | (#43871383)

Drink! It will make any chicks that stay seem hot by the end of the night.

Normal. (4, Insightful)

nospam007 (722110) | about a year ago | (#43870909)

First, reduce your expectations.

From your initial 40 'applicants' only 20% will stay, that's everywhere the case, from Pilates to Yoga, from Knitting to Pottery.

So in the best case, you'll get 4 additional members.

Re:Normal. (0)

Brandano (1192819) | about a year ago | (#43871285)

Shouldn't that be 8?

Re:Normal. (3, Funny)

Anonymous Coward | about a year ago | (#43871461)

Hey, it's the Computer Science Club, not the Math Club.

Re:Normal. (2)

nospam007 (722110) | about a year ago | (#43871493)

"Shouldn't that be 8?"

8 total, yes, but they have already 4, so 4 more is the goal.:-)

Do something for the school: (4, Interesting)

MurukeshM (1901690) | about a year ago | (#43870917)

(Re)Design your website.
Create a course-management tool.
Try to use Moodle.

In general, a year-long project that will have a lasting effect on your high school.

Re:Do something for the school: (0)

Anonymous Coward | about a year ago | (#43870935)

Right. DO something.

Re:Do something for the school: (1)

XxtraLarGe (551297) | about a year ago | (#43871115)

Moodle is a very good suggestion. Each user can experiment with their own local copy on a flash drive. There are a ton of different things that can be done, like updating the styling with CSS, create new blocks with HTML & Javascript, etc. You can make all sorts of improvements with a few lines of PHP & MySQL code as well, if your students want to get REALLY adventurous.

Keep it interesting (4, Insightful)

Anonymous Coward | about a year ago | (#43870925)

As and educator for 20+ years (University level) I can attest that I too have had the same problems. The way to stop the declining numbers it to make it more fun. Have everyone War Drive on the way to the meeting and hand out a $5 gas card to the one who fins the most open AP's. Have a contest to find the most expensive computer on ebay. Have a hackathon over a 12 hour period where they get to try their hand at protecting and attacking computers in a safe environment.

Re:Keep it interesting (4, Insightful)

robthebloke (1308483) | about a year ago | (#43871121)

+1 (and an ex-educator)

If you want to bore the pants off people, teach them the syntax of a programming language. If you want to maintain an enthusiastic class, teach the bare minimum language skills (for-loop, not for/while/do-while. std::vector, not std::vector/std::deque/std::stack/std::list. member funcs, not member funcs/operators/static methods/etc), and encourage them to 'build' interesting things (simple games, basic apps, image editing tools, sound sequencers, etc). Enthusiasm for programming and computer science is something that you develop over time. Enthusiasm for being creative and making your own computer game, is something that can grab peoples attention. Just remember that whilst *you* might love the inner workings of a 6502 processor, there will be a large number of people that will find that dull and unexciting! Constantly ask yourself the question: "Why am I showing them this? Is this going to help them be creative?", and you can't go too wrong imho (and try to encourage the people to make links with other passions they may have, e.g. art, sound, etc)

anyamous sorry (0)

Anonymous Coward | about a year ago | (#43870929)

none of these methods would help for them, sorry,..

Re:anyamous sorry (1)

OakDragon (885217) | about a year ago | (#43871653)

When I was a kid, computers were interesting enough all by themselves. It's a sad state of affairs that they no longer seem to be...

ask them (2)

moorhens (564268) | about a year ago | (#43870947)

Ask them what they want and adapt accordingly. They probably won't ask for pron because they can get that elsewhere and aren't dumb enough to think you can offer that at school. But if you get them to choose from a list of things that you know you are capable of offering them, you will give them some ownership in the club. They often find that easier than starting from scratch. In my experience, high school kids rarely get asked their opinions about anything that matters directly to them . . . and if you ask their opinions your club will start to matter to them.

Re:ask them (1)

nospam007 (722110) | about a year ago | (#43871621)

"Ask them what they want and adapt accordingly.

A pony in which language?

Re:ask them (1)

moorhens (564268) | about a year ago | (#43871671)

True enough . . . hence the "pick from a list of stuff you can deliver" in the rest of my post.

Mission Possible (1)

Anonymous Coward | about a year ago | (#43870955)

Covertly install video games on the schools network drive, and then have lots of gaming sessions. That's what my friends and I did in high school.

bribery (0)

Anonymous Coward | about a year ago | (#43870981)

Pizza

2 words (1)

puddingebola (2036796) | about a year ago | (#43870985)

Computer Calisthenics

Robotics (2, Interesting)

Anonymous Coward | about a year ago | (#43870993)

Build an autonomous Ardurover. That will raise lots of interest.

Kudos and ideas (2)

edumacator (910819) | about a year ago | (#43870995)

First of all, congratulations for starting the club. Too many students sit passively by in high school.

A couple of things that could help. Do you have a dynamic teacher in your building that might be willing to sponsor the club? They can help you with recruitment and ways to keep people interested.

Also, try to have some really clear goals. Can you build an app for students in the building? Can you collect scraps from your IT person, and build some extra computers for the cafeteria for students to use or to give to underprivileged students? Can you find some local places to visit on a field trip or two? As much as I wish as a teacher that students would readily join clubs for their own edification, typically you need to find a "hook" to get them in the door. Once they've built something or seen the glory that is coding, they are going to be more likely to stay in the club. Try to find something they can SEE at the end of the year. Nothing beats seeing the fruits of your labor.

Good luck! If you need more advice or ideas, I could introduce you to some great AP computer science teachers.

Please don't delude the kids... (0)

Anonymous Coward | about a year ago | (#43871341)

Getting kids into coding is like getting them interested in meat packing or textiles -- industries which are career dead ends. No business hires domestic programmers anywhere, especially when a call to Tata can get guaranteed results for a fraction of what a full time employee would cost, not to mention the other benefits (smaller payroll tax, less building space needed, one less employee that you have to worry about suing at a drop of a hat.)

Instead, get them interested in what matters: Debate, accounting, business, finance. It would be nice to even have a class that discusses critical court cases and encourages legal research. These are majors that once they are in college, they might have a hope of feeding themselves and paying back student loans.

Last college job fair I went to, the only people recruiting CS majors in the US, was the Army for enlistees, and you don't even get a choice of MOS, unless 11X is your choice.

Re:Please don't delude the kids... (1)

buddyglass (925859) | about a year ago | (#43871399)

Do you really believe this? I'm curious; what do you think the jobless rate is for U.S. citizens with at least a bachelor's degree in C.S.?

Forget Java (1)

Andover Chick (1859494) | about a year ago | (#43870997)

Heavy languages like Java/C++ are tedious for kids/adolescents. Program in something fun and lite like Python/Ruby/Perl.

Re:Forget Java (4, Insightful)

XxtraLarGe (551297) | about a year ago | (#43871041)

Heavy languages like Java/C++ are tedious for kids/adolescents. Program in something fun and lite like Python/Ruby/Perl.

Javascript is better still. No compiler, near instant results. You just need a text editor & browser.

Re:Forget Java (1)

Andover Chick (1859494) | about a year ago | (#43871087)

Yes, good one. And it is nice and flashy in a web browsers right off. Lots of codes snippets around the web for fun stuff too.

For Javascript, what about Plunker? (1)

matmota (238500) | about a year ago | (#43871679)

What about Plunker?
You can point people directly at their online editor, ready to write and run Javascript applications:

http://plnkr.co/edit/ [plnkr.co]

On the left, select "script.js", type something like alert("hello") then click the Run button at the top. Template projects using jQuery, Angular and Bootstrap are available in the green "New" button dropdown; they are not limited to basic Javascript.
If they want to download their creation, use the button at the top right (next to the blue GitHub button): "Download your Plunk as a zip file"

You could use that to show newcomers to the club that they can write and run programs with just a browser and internet access, then organize other activities based on their feedback.

Re:Forget Java (0)

Anonymous Coward | about a year ago | (#43871095)

ISO-C is fun like no other language. I think that Perl was "fun" in the previous century, though...

Re:Forget Java (1)

gandhi_2 (1108023) | about a year ago | (#43871127)

It's not just a matter of tedium, but of time.

It's the time and meta-programming overhead of environment, precompiler directives, massive API knowledge it takes to actually GET ANYTHING DONE.

In the small amount of time highschoolers get to actually concentrate on any one topic, you can't really get all that far into it.

Something that lets the kids get the flow in a shorter period of time is critical.

Re:Forget Java (1)

buddyglass (925859) | about a year ago | (#43871427)

As someone who spends most of his time in Java but has had to dabble in Ruby, I find Ruby to be way more tedious. If I were going to recommend a language in that vein, though, I'd stick to Python. It seems to have wider adoption and generally be more future proof.

Programming contests (1)

Anonymous Coward | about a year ago | (#43871005)

Programming contests/competitions are fun. If you are not aware of how they work, you have teams of programmers. They are given a set of problems, for which no one could complete all of them within the time limit. If you have teams of four, usually one two members at a time can be at the computer. At the end of the time limit the judges rate who completed the most tasks. It has been a while since I was in one, but we did a few in college using C programming. An example of a task is a program that is run while two parameters (month and year) and the output is the month calendar. No one got 100% on that because of a special leap in in year 10,000 or something. Usually you are given 5 to 10 "projects" and 2 to 4 hours to work. You can tackle the ones you are best at. I think they scores were weighted so the easier tasks were worth less. I imagine there are lots of write ups on how to set these up.

Step #1: toss Java. (4, Interesting)

Nutria (679911) | about a year ago | (#43871011)

Step #2: understand that Computer Science isn't the same as Computers.
Step #3: decide what the current club members want to do.

Redesign the school web site? Robotics? Arduino/RasPi hacking? Learning new languages? Etc etc.

Installing FreeDOS and writing graphics programs in C that directly write to the VGA memory while controlling the sound "card" is an interesting first project. You learn a lot about the h/w, too. Then there's manipulating the FAT in assembly, banging bits out of the serial and parallel ports, etc, etc.

Obvious. (0)

Anonymous Coward | about a year ago | (#43871013)

Butterscotch. Network cables. Nipple clips. Chestcutters. A whole lot of fondue. Lots of rum. Fire.

Easy (0)

Anonymous Coward | about a year ago | (#43871019)

Let there be beer.

Re: (0)

Anonymous Coward | about a year ago | (#43871025)

Look into things that groups like LUG (http://en.wikipedia.org/wiki/Linux_user_group) and 2600 meetup groups do. (Not the illegal or questionable things, obviously.) Try to arrange for guest speakers or have weekend hackathons (http://en.wikipedia.org/wiki/Hackathon). Maybe try to participate in something like 7DRL (http://roguebasin.roguelikedevelopment.org/index.php?title=7DRL_Challenge_2013)

Computing At School is your answer (3, Informative)

SplatMan_DK (1035528) | about a year ago | (#43871031)

Take the time to visit non-profit organization Computing At School. [computingatschool.org.uk]

Their own description of themselves is:

The Computing At School Working Group (CAS) is a grass roots organisation that aims to promote the teaching of Computing at school. CAS is a collaborative partner with the BCS through the BCS Academy of Computing, and has formal support from other industry partners.

They are dedicated to finding and sharing the best ways to teach IT to the young(er) generations, and they have a proven track-record with great results.

I am not affiliated with them; but I use their website and material for my own children, because nothing better is available to me locally.

You can join their online Educators Community here:

http://community.computingatschool.org.uk/door [computingatschool.org.uk]

- Jesper

Jason (0)

Anonymous Coward | about a year ago | (#43871035)

If you've managed to retain 10% of applicants that's not too bad. Quality rather than quantity is the best way to go in this area. Just because something isn't popular doesn't mean it isn't good. Once you go off to college you will realize very quickly that after your introductory computer science course the class size gets significantly smaller. Think of it as filtering the riff raff...

You might actually want to make it harder for people to join (exclusivity) makes things like this more appealing (night clubs and facebook did this). Best of luck!

Have a project. (0)

Anonymous Coward | about a year ago | (#43871039)

Code game, modify some OS game, make mod.

That way, "testers" and "idea guys" will also stick.

Make something cool (4, Informative)

slim (1652) | about a year ago | (#43871043)

Make something cool; something you can show off to people outside the club, that will impress them and make them want to join in.

  Something involving robotics or sensing devices, perhaps -- that seems to engage young imaginations somehow. It's 20 times cooler to make a turtle robot draw a picture, than to draw the same picture on a screen. What about a Raspberry Pi powered school weather station that tweets the current wind speed and temperature, and serves visualisations of historical data on the web?

See if you can come up with a project that can scale -- so your 4 core members can make a start on it, but other people could be brought in whenever they show an interest?

Re:Make something cool (1)

PetiePooo (606423) | about a year ago | (#43871487)

Agreed. Java by itself is boring.

At younger ages, pure software is not always that interesting. I'd suggest starting out with a hardware/software mix, like Arduino. Make something cheap with blinking lights that they can take home with them. Buy a few AVRs, a handful of resistors and caps, some LEDs, voltage regulators, and mini breadboards so you can make Arduino clones. If they want to keep them, sell them at cost; it's only a couple days of lunch money.

Once they've outgrown that, move their skills over to the Raspberry Pi and have them blink a LED using Java or Python. Now, they're on a cheap, fully functional (albeit a bit underpowered) Linux system. They can learn BASH, Python, C/C++, etc. by seeing and tweaking what's already there. And if they break it, you're only out $35. Or if they want to continue playing at home, they're only out $35 plus accessories.

How do we know? (1)

mmcxii (1707574) | about a year ago | (#43871053)

Ask them what their expectations are and work from there. Everyone's ideas on what computing is or should be are different.

But I would suggest that if coding is going to be part of what this club is that you get a group consensus on what kind of project they'd like to do and start something on SourceForge or the like. It'll get some public recognition even if it's not too great and people will see their name on the web. People like that kind of thing.

I do a public astronomy outreach with my local amateur astronomy group. It's nice to work with the public and get some recognition even though I'm not great at it. It's one of the few reasons I still set up my equipment on public nights. I'm more comfortable working within the group but it's still nice to be part of a bigger community through public participation.

Scratch (1)

Torodung (31985) | about a year ago | (#43871055)

MIT's scratch is pretty fun:

http://scratch.mit.edu/ [mit.edu]

some thoughts (1, Insightful)

buddyglass (925859) | about a year ago | (#43871089)

You have to think about what peoples' motivation will be to be part of a "computer club". Despite being generally interested in coding, most folks don't want to sit around and talk about it all the time. Some ideas:

1. Serve others. For instance, offer to tutor kids in lower-level programming classes. This won't be well received if you just end up doing their work for them.
2. Prepare, as a group, to enter local programming contests. Where I grew up, there were one or two schools in the area that had "invitational" team programming contests. See if you can get a staff sponsor to drive you to these events so you can compete.
3. Try to build something functional, and invite club members to help in the effort. Maybe a website that allows students at your school to plan out their course schedules based on your areas degree requirements. Maybe something that lets them sign up for automatic SMS updates containing news about your school. Etc.
4. If you have any sort of budget then provide food at your meetings. Cheap pizza usually does the trick. People flock to free food.
5. Invite speakers people might want to hear speak. If you live near a research university, see if some of their CS faculty might consider speaking to your group. If you live near any companies that do software development (and most people do), see if you can get some "real developers" to come talk about how things are in the "real world" and impart wisdom. (Caveat: many professional developers are not, in fact, very wise.)

One thing you'll realize in high school, and college for that matter, is that about half the people in most "clubs" are there just so they can put it on their resume. I say that not to criticize, necessarily; it is what it is.

Old tried and true... (1)

securityfolk (906041) | about a year ago | (#43871099)

Programming competitions. Sounds boring, I know, but I've seen such events bring out some very creative, lore-worthy, er, um, "logic" to win.

projects... (0)

Anonymous Coward | about a year ago | (#43871103)

You need to find a project that is interesting and doable. How about some sort of activity where people can drop off old and/or "broken" computers for the comp. sci club to fix up and donate to charitable institutions? Guarantee that data will be wiped with DBAN or some other utility before disposal/redeployment. Idea here is to build up and inventory of hardware to play with, or redeploy.

You can then set up a process for dropping images on machines by usb stick, or something like clonezilla. Go with something free like Linux Mint.

Maybe some sort of project where you are setting up a classroom environment for an elementary school? Use something like edubuntu. Obviously this would need approval and supervision of the local IT dept of that school.

Or some kind of virtual server project? Again going with free, something like ESXi or proxmox and any linux server flavor.

Something people can do. (2)

HungryHobo (1314109) | about a year ago | (#43871105)

Right, simplest way to maximise the number of people who stay.

give them something immediate which they can do and see a result.

Get them thinking about other things they'd like to do.

It could be as simple as getting people to design some 3d objects then dropping them into garrys mod and letting people play with them.

Immediate small success is more important than technical significance

some basic scripting perhaps, the sort people can build on later without any setup like bash for linux/mac and vbscript for windows (even if VBscript is a horrible language)

RENAME NEEDED !! (0)

Anonymous Coward | about a year ago | (#43871109)

Teh Geek & Nerd Party Club at Rydell High !!

(Only Geeks and Nerds Need Apply !! NO JOCKS ADMITTED)

What have you got to lose ?? Four ?? And ditch Java !! Too hard !! Go BASIC !! Interpreted BASIC !! Instant gratification !!

Instead of "No Girls Allowed" (0)

Anonymous Coward | about a year ago | (#43871119)

The sign on the club door should be:

This is a GOOGLE GLASS site. All personnel are required to wear GOOGLE GLASS at all times.

although I guess the effect would be similar.

confidence and socialization (1)

anthony_greer (2623521) | about a year ago | (#43871123)

I remember the CS club in my school back in the day and as I recall, it was a room full of very bright students but they all pretty much kept to themselves, not because they were mean or bad or anything, it was just a room full of introverts - if my experience is any indication I would recommend any activity that gets the group working together to meet a goal and or have them share what they are tinkering with and offer to help others and receive help. the club in my school got a lot better when it was taken over by a teacher who really forced engagement.

Invite speakers (3, Interesting)

nbauman (624611) | about a year ago | (#43871129)

Find some interesting guys in your neighborhood who are doing interesting things.

Try the local businesses, colleges, IEEE chapter, etc.

That's a "speaker" who comes in to describe his work, but then you spend an hour just hanging out with him or her.

Strippers (0)

Anonymous Coward | about a year ago | (#43871135)

They are like nerd bacon.

Simple answer (1)

Sparticus789 (2625955) | about a year ago | (#43871137)

You all are mostly familiar with Java. So create some sort of large project that is based in Java. Minecraft mods come to mind as an easy one, but there is still the possibility of some sort of web app/game that you all could participate in creating.

Get your facts straight. (0)

Anonymous Coward | about a year ago | (#43871149)

Get used to the thought that the target audience is not hackers, but rather the opposite. Non-hackers with maybe a little interest in how a computer works.
The "strong Java Background" is a moot point - you are not about to discuss the pros and cons of multiple inheritance, but rater why you have to put a ";" at the end of al line.
Lower your expectations.
Make sure you present yourselves well (I'm thinking of a Website / Facebook Group mostly here). Have this Paged audited by somebody who's absolutely not interested in computers, peferrably a girl. Only when she finds it interesting, it's good enought. Don't go about geeky stuff on the official pages. If you really have the urge to do so, make an "inside group" or a Password-protected part of you site where you can geek about your geeky stuff :)

Competition + food (0)

Anonymous Coward | about a year ago | (#43871153)

You could find some competitions to enter as a club, hackethons, game contests, things like that. That would give you a cohesive goal to shoot for and something to do as a team. If all else fails make sure every meeting has donuts and pizza. That always got me out.

Design a game... (0)

Anonymous Coward | about a year ago | (#43871155)

And get it on kickstarter.

Hello World...? (1)

Half-pint HAL (718102) | about a year ago | (#43871175)

My philosophy is simple: Hello World is stupid. When I started programming in C at university, it bugged the hell out of me how long we took struggling with the language before being allowed to actually do something. The real way to start C is to start teaching the *n*x command prompt, and start making simple programs for shell extension commands (square, square root etc). That's the quickest way to get to something conceptually useful, because you're starting with divide-and-conquer and effectively teaching procedural programming by stealth -- the barrier between the command line and the program is less abstract than between calling procedure and called procedure.

Things are obviously a bit different for Java, but the point is that you should be looking for the real core design goal of the language and starting there. C was designed for Unix, in the days when everything happened in a shell, and getting it to do anything else takes a few steps longer.

RoboCode (1)

Anonymous Coward | about a year ago | (#43871177)

A modern version of CoreWars. There's nothing better than competing against each other!

http://en.wikipedia.org/wiki/Robocode

Insight the little bastards.... (1)

Toddman (2937353) | about a year ago | (#43871185)

Anything you can do to create buzz is going to have a gravitating effect. Keep in mind you're talking about a bunch of teenagers. Make something explode (safely), fly something around the cafeteria, do a community service engagement project (stolen from above). Also... to get the parents to endorse... put some structure behind it and guarantee some publication. Anything to help a college application look better will also bolster support from the parents. Finally - to the 4 kids you have who are proficient in JS - remind them they need to act as leaders, mentors and teachers to the other kids. Perhaps a little difficult for kids who are trying to break out of their nerd shells but it'll be a good crash course in human interaction for them!

Robots and video games. (1)

Anonymous Coward | about a year ago | (#43871193)

Robots and video games.

At that age they are ready to begin a serious investigation into CS, but the majority of students lack discipline/motivation/focus to really dig deep and learn their ADT's and foundational algorithms, etc. So, you dress it up with something cool. I taught in similar circumstances, and used robotics and video game programming as an excuse to teach kids math/computer science/physics.

We made a 2 degree of freedom, planar robot arm (oriented against gravity) that would read commands from a text file, and faithfully carry them out. This involved me teaching them about trigonometry, the PID control algorithm (and thus the integral and derivative), Taylor series approximation (and then, table look-up and first order Newtonian approximation), parsing text files, and most importantly, how to break a complicated problem into approachable subproblems.

You can do lots of similar stuff with video game programming. Teach them how to make a Monte Carlo tree search based AI (it is a heck of a lot simpler than it sounds!), and have a tournament to decide who wrote the best AI for some board game. If you want to teach a particular abstract data type or algorithm, find a way simple way it is used and introduce them to that. The rest will follow.

The Unity game engine is pretty awesome. Nothing drives concepts home like immediate, tangible, visual results. It has something of a learning curve for absolute beginners, but more people will try harder to climb that mountain.

The point is, make is keep it (small) project oriented. There is more than enough meat in even unambitious projects to keep the club interesting and active for years. You don't have to worry about the 'purity' of keeping it *only* computer science. Show them some interesting ways in which CS is used, and then show them what is going on behind the scenes how to reach in and fix/break it. Remember it is not a primary education environment: there are no grades in a club, no compulsion for them to be involved, just cool stuff that they want to be around to explore and other people similar interests.

If you want you can introduce the real nerds to the nerd-lore. (Is the jargon file safe for kids? Been a while since I've read it; regardless there are a lot of hacker koans you could print out and decorate the walls with.) Show them Duff's device (and spend a good long while explaining WTH it does), the "0x5f3759df algorithm", teach them about Babbage's analytic engine, introduce them to a variety of famous algorithms, teach them about who Knuth, Shannon, Turing, etc are and why they should care. Bring in a guest speaker, if you know someone who would like to. Less people will go for that sort of stuff, but it'll have a larger impact on the ones who do. Point them to the very large number of online resources for learning how to code. Udacity has a very approachable class on AI (from the guy who made the first self driving car).

Clubs Often Work That Way (3, Informative)

mx+b (2078162) | about a year ago | (#43871195)

As someone heavily involved in clubs in high school and college, let me first say that it is entirely common to have the numbers thin out quickly. Everything I've ever been involved in has mostly been done by a "core" group of say 3-6 people, everyone else is only helpful here and there on temp basis. Do not let that discourage you as it did me in the beginning. You don't need or even want too many people that actively involved or it will be a nightmare to manage. Instead, I would say get your core group together and vote more or less on an interesting project to work on. Build a robot, set up new computer labs in the school (with linux? ;-) ), contribute to an open source project mutually agreed on, or whatever makes your boat float. Cool things happening will get interest from others, who will then start to participate.

The other thing I can say about attracting newbies is that you have to be sure you don't make things *too* technical up front. Some people have an interest but do not know where to begin, and will get scared off if the first meeting is too focused on the cool advanced projects everyone has. Make sure you include some plain "social" events to make people feel comfortable. Maybe with a computers theme. Maybe participate in a Distro Release Party (openSUSE I think encourages everyone to plan a pizza party and play with the new release every time it comes out, maybe try that? social but gives new people a chance to learn something new in a non-threatening environment). Remember: there are probably more people with interest in programming, but did not learn it yet, and so you have to be sensitive to their emotions. Not everyone teaches themselves programming at age 8 (for any number of reasons), so just remember your first priority is fun with friends with an interest, and then from that build a core that does cool stuff (maybe the core has extra meetings in addition to the monthly social meetings that attract new members). Contests are often a good way to get interest because it gets people involved. Maybe have some fun computer related contest (jeopardy! type game, whatever) and have some cheesy prize for the winner.

Do you have a faculty sponsor? Having a teacher at bat for you can help you get resources: computers, software, pizza, or maybe even just get permission for use of a certain room as the club hangout and lab. An area to call your own is always good at getting people comfortable and happy to join.

In any case, do not worry *too* much about planning to attract help. Just be involved in the school, have a lot of enthusiasm and do cool things, above all be casual and friendly, and people will naturally start showing up and helping out. Have a lot of fun and good luck!

If they don't find CS interesting (0)

Mrreh (2882685) | about a year ago | (#43871197)

If the participants don't find it interesting, they will leave. Which is fine, because they probably don't belong there in the first place.

Keep it current if possible (1)

Braavosi (2937349) | about a year ago | (#43871211)

If your dealing with grade school kids, keep the topics fresh and relevant to their world. Try giving them weekly coding challenges consistent with the technologies they currently deal with, like Android, Twitter, Facebook, etc. Have people from the industry come in and speak every so often. Not just from pure coding perspective, but also from some of the more fun areas of Computer Science like Game Development, research, medical, engineering just to give them an understanding of the world and it's implications to CS. For a year challenge, have them poll the students and see what they would want most from a new mobile app, and work through creating it. Have a prize or even submit it to ITunes or Google Store for download. That would give them real experience is developing against actual user/customer need, a skill that I feel becomes jaded as we spend years in corporate IT.

Oolite (1)

Smivs (1197859) | about a year ago | (#43871215)

Oolite [oolite.org] is a free open-source cross-platform space trading and combat game inspired by Elite. It is infinitely mod-able and is written in objective-C.
The OXPs (expansion packs) use javascript and open-step plists and graphics can be produced with Gimp etc.
There is also a big community behind it so there's plenty of support available.
The game is great fun, and it is easy to make expansions - your kids will be able to produce good results quickly.

Get rid of the 4 regulars (4, Funny)

arfonrg (81735) | about a year ago | (#43871231)

Get rid of the 4 regulars because they are driving everyone else off.

Robots (1)

Maximum Prophet (716608) | about a year ago | (#43871235)

Anything that moves in response to commands is going to be more interesting that stuff that just sits there. Start a robotics curriculum that can be expanded as you find more resources and sponsors.

Throw in a 3D printer and there will be all sorts of interest.

Three things to consider (0)

Anonymous Coward | about a year ago | (#43871267)

Three suggestions:

1. Ask the some of the kids that left why they did so
2. Be sure the kids are in charge, picking the ideas they work on, organizing the teams and so on. Guide them.
3. Do some android development. The kids can build apps quickly they can use themselves on their own devices. It could be something used school wide. That provides immediate feedback and should not be a lot of work.

Ask them what they want to learn to do (1)

Anonymous Coward | about a year ago | (#43871273)

If they say program games, get them the tools, make it a place to show off what you have learned. A true geek session

instructibles (1)

Meyaht (2729603) | about a year ago | (#43871289)

Make stuff. Pyrophoric reactions, ferrofluid toys, hovercrafts from shop vac s. Make your club project based, and try to made it competitive somehow.

Field Trips (1)

boristdog (133725) | about a year ago | (#43871299)

I'm not sure if this is as relevant as it was when I was in a computer explorers club in the late seventies, but the coolest thing we did was go on field trips after school to see what sort of equipment and jobs were out there. Someone's parent or friend of their parent would usually take us into the "computer room" and explain the equipment and what they were doing. It was pretty cool.

Of course, I did grow up near the Johnson Space Center and most of our field trips were NASA contractors and NASA itself, so that probably helped. And it was the late 70's, so paper tape, 9-track, punch cards, disk packs, etc. were the norm. And a fairly knowledgeable high-school student named Richard Garriott was our club leader, and he was pretty enthusiastic about this computer stuff.

But it DID get me interested in these here computer things.

BEER (0)

Anonymous Coward | about a year ago | (#43871355)

BEER

Robots! (1)

LtNacho (2712541) | about a year ago | (#43871365)

... that should do the trick. But seriously, find something cool to work on. Maybe a competition like robot soccer.

Write video games with this book (0)

Anonymous Coward | about a year ago | (#43871375)

From the Pragmatic Programmers, so it's likely to be very good (NOTE: Haven't read the whole thing yet, but the intro looks good):

http://pragprog.com/book/csjava/3d-game-programming-for-kids

10% does not seem bad. (2)

archshade (1276436) | about a year ago | (#43871391)

10% of people staying on for a year does not sound to bad (especially for a disorganized group). I would say that making the group accessible to people during the year (certainley the first term) will help boost numbers.I highley doubt you will achieve more than 25% of people to stay. I would say that 20% is really the best you can hope for. If you want more people your probably better off trying to get more people though the door (although this will drive down your %)

Have goals, - what do you want to achieve? Come up with a few ideas yourself for projects, then in the first few meatings get suggestions from members, do whatever you can to keep then involved and take ownership of the project. The decsion of which projects to follow needs to decided by the group. Don't run to many projects in parralel (not a problem if you only have 4 people) but have everyone working towards a common goal.

Don't be autocratic, members are putting time into it they don't want someone pushing them around, do be prepared to take on the role of arbiter in disagreements.

Don't assume everyone is at the same level, some people will have experiance, others will want to learn. Come up with an itroduction corse that is not mandatory, even if the course is just go away and read this documentaion/work though theese examples at home. Be prepaired to help. Agree on a group language, make it appropriate for the type of project you want to do, for application stuff I would recomend python.

I asuming that this will be be coding based - thats not a requirment but I would definatley go for somthing where you make/design somthing.

Remove the computers (2)

Culture20 (968837) | about a year ago | (#43871447)

I'm not kidding. Make it a social gathering for people who are in CS, not a place to discuss more CS concepts (that's what your classes are for).

How to increase interest in a club .... (3, Insightful)

morbingoodkid (562128) | about a year ago | (#43871457)

I currently run a club with about 230 members about 100 active on a weekly basis. Here is the principles I use to run the club.

Basic principles:
1. Challenging
We try and target classes and projects just slightly above the students current level.

2. Fun
Let's face it if it's not fun people don't come.

3. Sense of achievement
People do not want to feel like they wasted their time. We give certificates for specific achievements.

4. Do what you promise
This is a way to make sure your club does not die. If you say you have meeting you have to have a meeting regardless if 1 person pitches or 100.

This is the only way I know how to do it. And it seems to be working.

Make it Relevant (1)

Brian Foley (2937381) | about a year ago | (#43871553)

You can try to ask students what they want to do - but most teenagers dont have a clue. But find out what they are into - what games they play, what topics they spend their time interested in and develop activities around those. It helps to have some ideas in mind. Here are a few possibilities
  1. Games, everyone likes games. You can recreate simple videogames (most kids today have never played asteroids - its a not too hard game to make).
  2. Use sensors and robotics to get the computer to interact with the rest of the world (e.g. have the computer respond to people walking by). Scratch and Kinect is a great tool for this.
  3. Create something useful - find a need in their house or school and figure out how to solve it. Kids (especially girls) like to be helpful. The Hacking for good meetups have been pretty successful.

I was president of my high school club (3, Insightful)

slashmydots (2189826) | about a year ago | (#43871555)

I was the president of mine in high school and we turned it into the gaming club. We kept the title for funding reasons but really we just threw LAN parties. Membership was pretty high. We also held a dance dance revolution tournament with the finals in the lunchroom.

I've heard from other places though that the biggest success is always building some sort of overclocked, ultra-high storage, superocomputer but sort of an ironic one number-wise since nobody ever has the budget for a brand new one. Basically, throw together a ton of spare parts in a gigantic 1995 era-case with other computers' hard drive cages glued in for like 10 used drives with PCI IDE controllers (like $10 on ebay) and dual power supplies. You can get cages, fans, drives, and all that donated from people who just want to get rid of their junk computers laying around at home. Then run through how to run a proper chkdsk on them all and other technical stuff and definitely paint it and anyone into computers at all will love the project.

Make a game. (0)

Anonymous Coward | about a year ago | (#43871593)

I'd try something which is interesting and varying overtime: Designing a computer game.
If you want to stick to Javascript, I'd say have a look at Unity. At the moment you can freely release your projects on mobile devices, PC and Mac with their Free/Indie version. Besides Javascript, it also allows C++ and Boo for coding languages. There's a huge community, great toolset, and a lot of free usable assets. Hell, it kept a class I'm running in the UK interested (70% retainment after running it for a year; and we recently published our free game :-) )

make a theme / activity "story arc" (1)

Speare (84249) | about a year ago | (#43871609)

I suggest you develop some sort of "story arc" or pathway or series of activities that build on each other, but where each step is fun on its own. Then new members can see how things will evolve over time, and not just be a purposeless hangout time that's easy to replace with Final Fantasy XX when that hits the shelves.

As an example, they probably already know about Minecraft. For a minimal cost, you can get two Raspberry Pi units, then expand as kids start acquiring their own. Get them interested in the simplest Linux environment, then install Minecraft for Pi, then a tiny bit of Python will let them construct various Minecraft structures or mob AIs using Python coding. Mix it up but stay in the theme by setting up a Minecraft/Bukkit server on your full PCs, and learn to write plugins there, using the Java that your seniors already know.

Diversify (0)

Anonymous Coward | about a year ago | (#43871631)

Expand your club reach; change to being technologists vs being "computer science."
By opening up to other technology fields you will get to meet, socialize, and hang out with other people interested in pretty much the same thing as you.

You can't (0)

Anonymous Coward | about a year ago | (#43871639)

....

arduino, makey make and hackerspaces (0)

Anonymous Coward | about a year ago | (#43871665)

An important part of comp sci is how it connects to other subjects. Team up with some artist types and those who want to play with electronics. Look up arduino, makey make and go visit your local hackerspace for some ideas.

Games. (1)

Chris F Carroll (2937391) | about a year ago | (#43871673)

Games programming. Seems to get and retain a good level of interest -- look how much stickability http://scratch.mit.edu/ [mit.edu] has got. Of course, it's a whole new ballgame and a learning curve for you too if your background is enterprise Java.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?