Slashdot Mirror


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

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?"

32 of 265 comments (clear)

  1. Lots of hot smart chicks by realsilly · · Score: 5, Funny

    should do the trick.

    --
    Life takes interesting turns, but the most interest is when you're off the beaten path.
    1. Re:Lots of hot smart chicks by gandhi_2 · · Score: 4, Insightful

      Hookers and coke.

    2. Re:Lots of hot smart chicks by mrzaph0d · · Score: 3, Funny

      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.

      --
      this is just a placeholder till i send back my real sig from the future.
    3. Re:Lots of hot smart chicks by Andover+Chick · · Score: 2

      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.

  2. Normal. by nospam007 · · Score: 4, Insightful

    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.

    1. Re:Normal. by Anonymous Coward · · Score: 3, Funny

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

    2. Re:Normal. by nospam007 · · Score: 2

      "Shouldn't that be 8?"

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

    3. Re:Normal. by drkim · · Score: 2

      Teach them how to break up blocks of text with the [ENTER] key.

  3. Do something for the school: by MurukeshM · · Score: 4, Interesting

    (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.

  4. Keep it interesting by Anonymous Coward · · Score: 4, Insightful

    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.

    1. Re:Keep it interesting by robthebloke · · Score: 4, Insightful

      +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)

    2. Re:Keep it interesting by samkass · · Score: 2

      Java? Kids? Write a mod for Minecraft.

      --
      E pluribus unum
    3. Re:Keep it interesting by Creepy · · Score: 2

      I agree - when you're talking about a club or even a high school level class, you're going to get people of all skill levels and interests. Since it's a club, find out what the kids want to get out of it, and don't make it about teaching programming, try to make it about learning from each other. If you can find people with similar interests, group them together on projects, even if their skill levels are drastically different. I learned how to write 6502 Assembly when I was 12 by looking over a friend's shoulder because I was curious. I also learned how to crack software the same way and from the same friend, but let's leave the notorious stuff out.

      You will always have someone with no programming experience that wants to come in and write and MMO and will be dejected that they can't do it in 3 days, but there isn't much you can do about this sort. You may be able to get them to download Unity free and write a simple scene, but usually they get dejected and quit.

    4. Re:Keep it interesting by stdarg · · Score: 2

      I agree that it has to be made more fun. One fun thing is making money.

      Many high schools let clubs do fundraising activities, and the computer club is a good place to showcase money making software. In my high school days, I wrote a matchmaking program that matched people up based on a survey. We printed out surveys and gave them to everybody in the school a few days before Valentine's day. Then on Valentine's day, we set up tables at the cafeteria and people could buy their matchmaking results for 50 cents. We made a ton of money with over 100% participation since many people took the survey multiple times to see who they would be matched up with for different answers. For the rest of the year the computer club had regular movie outings and pizza at meetings.

      The best part was the feeling of being responsible for a very popular event and having schoolwide recognition for coming up with something entertaining. Everybody in the club was happy. We went from 4-5 regulars to 10-15 pretty quickly.

  5. ask them by moorhens · · Score: 2

    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.

  6. Robotics by Anonymous Coward · · Score: 2, Interesting

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

    1. Re:Robotics by crymeph0 · · Score: 2

      That's what I would recommend as well. I work in industrial automation, building tooling for the kind of robots that build cars, and for me, it is really cool to see something physically move based on your programming. With a serial port or other kind of connection (maybe some sort of wireless) between the moving thing and your PC, you can also create stuff that's fairly advanced, e.g. a command program on the PC that uses voice synthesis to warn a student to leave the area before sending the robot to "attack" them, or something similarly interactive.

      --
      It should be illegal to say that freedom of speech should be limited.
  7. Kudos and ideas by edumacator · · Score: 2

    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.

  8. Step #1: toss Java. by Nutria · · Score: 4, Interesting

    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.

    --
    "I don't know, therefore Aliens" Wafflebox1
  9. Computing At School is your answer by SplatMan_DK · · Score: 3, Informative

    Take the time to visit non-profit organization Computing At School.

    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

    - Jesper

    --
    My security clearance is so high I have to kill myself if I remember I have it...
  10. Re:Forget Java by XxtraLarGe · · Score: 4, Insightful

    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.

    --
    Taking guns away from the 99% gives the 1% 100% of the power.
  11. Make something cool by slim · · Score: 4, Informative

    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?

  12. Something people can do. by HungryHobo · · Score: 2

    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)

  13. Invite speakers by nbauman · · Score: 3, Interesting

    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.

  14. Clubs Often Work That Way by mx+b · · Score: 3, Informative

    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!

  15. Get rid of the 4 regulars by arfonrg · · Score: 4, Funny

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

    --
    Your thin skin doesn't make me a troll
  16. 10% does not seem bad. by archshade · · Score: 2

    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.

    --
    Most Damage is done by people who are AWAKE
  17. Remove the computers by Culture20 · · Score: 2

    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).

  18. How to increase interest in a club .... by morbingoodkid · · Score: 3, Insightful

    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.

  19. I was president of my high school club by slashmydots · · Score: 3, Insightful

    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.

  20. Re:confidence and socialization by slim · · Score: 2

    To bring people out of their shells -- and I am not joking here -- make something, and make it with agile activities . No, don't get all anal-retentive about Scrum methodology, but:

    - Make design a group activity. Whiteboard. Write user stories on index cards.
    - Invite some kids who are *not* interested in coding, to be "stakeholders" -- have them help you write user stories, show them your work in progress, gather their feedback
    - Pair program (when I was at school, we were two-to-a-keyboard due to hardware shortages anyway)

    For example, one pupil has a vague idea for a game. Perhaps he's not much of a programmer, but he knows roughly how it'll work.

    Get him, some more technical pupils, some more arty kids, together for a design meeting. The arty ones all brainstorm for a bit. Then the technical ones step in and say, "OK, we've got a lot of cool ideas. By next week I reckon we can have a controllable square sprite, a jump control, some static target sprites, and a score that goes up every time he touches one.".

    Then the following week, they show off what they've done, and the non-technical ones are suitably impressed. And the semi-technical ones have learned some more coding skills. And the arty ones have maybe drawn pictures to be scanned into sprites in the meantime. Someone says "I thought the main guy would move faster", or "he should jump higher", or "now, those static targets should move... how should they move"? ... and you iterate with that, mixing with non-technical people to build up something cool.

  21. Re:Please don't delude the kids... by bill_mcgonigle · · Score: 3, Insightful

    especially when a call to Tata can get guaranteed results

    it's all a matter of what that guarantee stipulates.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)