element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum After School club projects
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 16 replies
  • Subscribers 678 subscribers
  • Views 2658 views
  • Users 0 members are here
  • raspberry_pi
  • school
  • eduction
Related

After School club projects

GreenYamo
GreenYamo over 12 years ago

Hello, Hopefully within the next couple of weeks I'll be helping out in a local school's Pi club.

The format is pretty much free form, about an hour or so after school.

 

I'd love some ideas from this group as to what would be a good project for an hour or so - it can be anything, a Python Project, some GPIO interfacing, Scratch.

 

The Teaching and Learning Resources topic on the foundation's forum only has just over 300 posts, I was hoping for a bit more than that !

 

Thank you.

 

Steve

  • Sign in to reply
  • Cancel
  • Former Member
    Former Member over 12 years ago

    Hookup an couple of relays to the let them turn on lights (home automation) or a train set.

     

    Make a Fake TV like set up with some LED's.  Fake TV is new product that turns LED's on and off during certain times of the day to make it look like you're home over vacation.  Supposidly the algorithm emulates the average light pattern of a TV.  Think of it as the digital version of the old lamp timers.

     

    Write a pong game.  Maybe get an Aurdino and have it emulate a keyboard so you can hook up a could of game controller or get some USB controllers.  I don't know how well the Python API works with joysticks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago

    Steve,

      What age level? 

      Just one one-hour session, or ongoing one-hour sessions?

      Eben likes to show a working program, like snake, and have

    the kids try to change something in it, like the color of the snake.

    If you only have one session, that allows the kids to say they did

    something impressive.  But they know they didn't really understand

    what they were doing.  If you have multiple sessions, I think I'd

    have them start from the ground up, with "hello world" and such,

    so they go away feeling that they have a more solid understanding

    of what they did at each stage.  Programming is all about building

    elaborate programs out of simple building blocks, ultimately down

    to simple logic gates.

     

    Personally, I don't think that "physical" computing, such as blinking

    LEDs is any more desirable than "non-physical" computing, such as

    displaying values on a screen.   The programming logic is essentially

    the same for both.  I don't have any experience teaching beginning

    programming, but from my own learning, I found it valuable to use

    programming to reinforce mathematical concepts.

     

    For example, you could remind the students what a prime number is,

    and then show how to write a loop to test whether a number is prime.

    Once you have a subroutine that can do that, you can use it multiple

    ways, by writing an interactive program to input a number and report

    prime or not; or by writing a loop to find all the primes from say 1 to 100.

    The two main concepts in computer science are algorithm and abstraction.

    Using a prime-testing subroutine in a loop is an example of abstraction.

     

    Then you can show a completely different way to find primes from 1 to 100

    by using the sieve method.  Which teaches that there are usually several

    completely diffferent ways to solve the same problem, and that it is worthwhile

    to look beyond the first solution that you can think of.

     

    Similarly, you can review the algorithm for adding fractions:  find a common

    denominator, add the numerators, and then reduce to lowest terms.

    You can use subroutines to break up the program, showing abstraction.

     

    You can reinforce all sorts of statistical concepts, such as finding the mean

    and standard deviation of a list of numbers.  You can reinforce algebraic

    concepts such as finding the slope of a line through 2 points.   You can

    find the best-fit line through a given set of data points.

     

    You can compute Pi in a number of different ways. 

     

    You can reinforce probability concepts using random numbers.

    For example, empirically find the probability in the game of risk

    of the attacker rolling 3 dice winning over the defender rolling 2 dice.

    Or empirically test the monte-hall problem.

     

    You can teach base 2.  A good exercise is to write a program that

    does arithmetic (add,subtract, multiply, divide) on numbers in base 2.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    Coder27: I just want you to know that there are a number of us old timers who are just now finding the time in their life to try and learn some new & exciting things! If it had tubes I could fix it. If it had punch cards I could run it!

     

    What you provided in your post to the fellow who has an opportunity to encourage a lot of younger people to become interested in programming was EXCELLENT! It certainly gave me some things to think about as I am certainly a 'new' beginner.

     

    Thank you again for taking the time to help, what looks to become, quit a few people.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    Hello

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • GreenYamo
    GreenYamo over 12 years ago in reply to Former Member

    Hi Coder27,

     

    Some great ideas there, thank you. To answer some of your questions, the ages are around 13-16. The sessions are one hour each, but with not necessarily the same set of people at each - it is after school, so the pupils cannot be compelled to attend, although it would be nice to think that they will *want* to if it is interesting enough.

     

    I very much agree with your comment around doing something, but not really understanding what they did and I think that may be a problem we will come up against with the possibly fractured nature of the attendance we may get. I also think part of the problem is that from feedback at another school that my employer is involved in, the children what to do something impressive *very* quickly (questions like 'When can we write an app' in the second 'lesson) so it is getting the balance right.

     

    On that theme, does anyone have any experience with Livecode, either on Windows et al or on the Pi ? It seems about the easiest way I can see to write an app on iOS and I've been tasked with looking into that option more, to see if we can indeed write an app, however simple.

     

    Again, thank you for taking the time to respond and with some great ideas.

     

    Steve

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    Ron,

      Thanks for the kind words. 

    I have found it to be empowering to be able to say "lets try it out"

    in response to a question like what are the odds in the game of Risk.

    I realize that other people have different motivations, so I certainly

    wouldn't suggest that all beginning programming be based on

    mathematical concepts, but I think it would work well for those

    who have an aptitude for math or even a willingness to try.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to GreenYamo

    Steve,

      I am quite alarmed at the notion of wanting to do something impressive on

    the first or second lesson, whether that notion comes from the students or

    the administration, or from the parents.  When teaching skiing, there are

    some students who think the bunny slope is too unimpressive, and they

    want to quickly move on to a steeper slope, usually ending in tears.

    When teaching piano, there are some students who think scales and

    arpeggios are unimpressive and they want to quickly move on to

    Moonlight Sonata, but that usually ends in frustration too.  So please don't

    allow yourself to be pressured into doing something too advanced too soon.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 12 years ago in reply to Former Member

    While my teaching children programming an Arduino was with younger age, I found that it best to achieve something very early on.

    We had 4 x 1.5 hr sessions,(one per week), and eventually had a full day in the holidays.

     

    In our case we followed the printed instruction to load Blink.

    Once that was able to be accomplished I got them to modify the times, and to see the changes.

     

    They then wanted to see what happens with various times, and of course 1 of them had to use a ridiculously long number ...

     

    This gave them a basis to upload and a starting point they could relate to.

    It got them engaged knowing they could easily and simply change something and see it.

     

    I was then able to explain how each step of the program (simple as it was) worked, and it was surprising the intelligent queries that followed.

     

    These children live in a 'now' world, and expect instant results.

    I've been on enough courses that delve into the theory and you are left trying to put the pieces of a 3 dimensional jigsaw together inside your head.

     

    Small steps, but have enough material to progress faster if you need to.

    You'll get the feedback from the class ... they will either be asking questions about how to do it, or things to try next.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jamodio
    jamodio over 12 years ago

    I'm about on the same page, trying to figure some projects that are not just programming and can be "pre packaged" for a ~45 minute or less session.

     

    We are starting rolling with the Geekbus from Geekdom, the idea is to go to middle schools and high schools (10-15 years age group) and have kids arrive in groups for about 45 minutes and have a hand on experience with electronics, computer science, networking, etc.

     

    Right now we have some simple projects with Arduino, but the time we have is so limited that we have the projects almost pre-wired and the kids only need to add few connections to the Arduino board, power and load and run the sketch for the project.

     

    We are now putting together some project with simple Lego Mindstorm projects.

     

    I've been struggling to find something interesting and easy to setup and quick to put together but with a Raspberry Pi, now that the Model A is becoming available in the US, if we are able to power it with a WiFi dongle included so we can use the same Netbooks we use for the Arduinos as a power source and console via vnc, that will be a plus since we won't have to deal with extra setup to provide power to the Rpis (we have two generators on the bus.

     

    We are also planning some summer camps at Geekdom where we'll have more time and better space to setup stuff, so we can go for more complex projects, I found that the project that Drew showed during the webinar about driving a stepper motor from Scratch could be an interesting and cool experience for the kids.

     

    I'll share whatever we learn putting this stuff together.

     

    Cheers

    Jorge

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to jamodio

    > ... but the time we have is so limited that we have the projects almost pre-wired and the kids only need to add few connections to the Arduino board, power and load and run the sketch for the project.

     

    I suppose any exposure to electronics is a good thing, but it frightens me to see

    such limited exposure hyped as a meaningful learning experience.  I can't think

    of any other skill, whether it be learning a sport, or a musical instrument, or

    a foreign language, or an academic subject, where a single 45-minute exposure

    is so hyped.

     

    I am reminded of Little Jack Horner, who stuck in his thumb, pulled out a plum,

    and thought he was really cool, when he wasn't.

     

    > We are also planning some summer camps at Geekdom where we'll have more time and better space to setup stuff, ...

     

    I like that plan a lot better.

     

    There's something in particular that rubs me the wrong way about handing a

    beginner a complicated program and suggesting that they try to modify it,

    on the theory that software maintenance is something that can be done by

    rank beginners, without any programming skill and without any understanding

    of how the program works.

     

    Yes, you can find where it says "green" and change that to "blue", and

    maybe that will have the desired effect.  And yes, there is a certain amount

    of trial-and-error involved in real-world programming, particularly in maintaining

    someone else's code.  But the goal in programming is to understand what

    you're doing, not just thrash around until the program seems to work.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube