Skip to content
Colkerr edited this page Jan 5, 2020 · 24 revisions

Prewired Workshops

Motivation

Although the main ethos of Prewired is to support attendees in developing their own projects, it can also be useful to give them more structured input in the form of short workshops. There are a number of reasons for doing this:

  • stretching the kids' capacities and providing a new focus for their work (we still have a few attendees who default to playing shoot-em-up games);
  • they don't know what they don't know -- most of them could benefit from improving their coding skills in one area or another and there are always new technologies to learn;
  • it can be fun for mentors to get more involved in this way.

How

Basic approach:

  • short presentations (10-20 mins) which act as a lead-in to activities by the workshop participants [MUST]
  • clear expectations of participants' prior knowledge of topic and some rough idea of learning outcomes [MUST]
  • participant activities should be graded in difficulty (start easy, build up to something challenging) [MAY]
  • written materials (ideally kept on GitHub/GitLab):
    • for participants [MUST]
    • for other mentors and as something to build on for future iterations [MAY]
  • follow-on activities that workshop participants can carry on with in regular evening sessions [MUST]

In addition, we might want to have something like: feedback forms after each workshop; certificates of completion; target projects that could be worked on over a course of weeks and demo-ed.

For every workshop there should be at least one mentor who takes ownership of defining the topic, delivering the workshop itself, producing learning materials and managing follow-up activities. Of course, this could be done with a team but one person needs to take overall responsibility.

Topics

Preliminary list of topics...

General

  • thingy on OSS licensing
    • Not sure how to make this into a workshop but it could be a cool talk

Games

  • Snake on Micro:bit (EaRS)
  • Rock, Paper, Scissors (EaRS) (This one is short and would make an easy test)

Robotics

  • Self-balancing mobile robots
  • Remote controlled car with Micro:bits (EaRS)

David: I am talking to EaRS about their workshops. I can run them myself. They are fun and friendly for beginners

Cybersecurity

  • Prompted exercise to control a public display (and show name in lights) ESP8266 controlled lights/display.
  1. find SSID,
  2. connect, get login screen, suggest common ID/passwords to try, succeed and get User sign in screen showing company/device, google and find website - user manual + binary code, text search for "password" and find default, use manual to post own name. Display name until next person cracks it.

Electronics 101

(Maybe two weeks or more depending on time spent simulating ? )

  • Powering gadgets Hand out a selection of batteries. Assume building a project. What thoughts do they have ? Introduce volt, milliamp, size(capacity), chemistry. What do they know about any of these ? Discuss voltage of various items. (car battery, torch, Raspberry Pi, USB supply, mobile phone, Tesla, house mains. Which are dangerous ? Even low voltage can start a fire if current high - power a combination of V & I.) Show clip art illustrating volt/amp/ohm. Discuss current. Discuss energy then power, emphasise difference. Discuss power requirements of various items (light bulb, sound system, heater, Tesla). Show formula for power. What other forms of electricity are there ? Static, lightning. Discuss characteristics. Mention how static can damage electronics. Final discussion about tradeoffs when choosing a battery for a project. Mention internal leakage and internal resistance. (Could have a practical session now using simulator ?) https://pm1.narvii.com/6687/370a561d123dbb614b319034cb6cee1c19e222d2_hq.jpg

  • Connecting to gadgets Resistors - used to stop I/O pins floating, and to protect them (eg LED). Revisit clip art for volt/amp/ohm. Discuss how restriction leads to voltage drop. So can make a voltage divider. Ohms law, V=I/R. Value and ratings, colour code. Example resistors. Simulator exercise ?

  • Cleaning the power supply Discuss spikes (transients), surges, dips, noise and effect on sensitive electronics. Show clip art for capacitor. Discuss how it smooths and is used in power supplies and surge protectors. Can DC can pass through ? Can AC ? Describe supercapacitors. Pros/cons over batteries. How used in regenerative braking. Also some small gadgets and toys. How capacity is measured. Different chemistry, polarity, voltage, etc, similar to batteries. Example capacitors. Simulator exercise ? https://github.com/prewired/workshops/blob/master/capacitor_anaogy.png

  • Protecting gadgets and getting DC from AC Use LED to introduce diodes, must be right way round. Show symbol and explain one way current. Mention back emf and damage it causes, how it can be dumped harmlessly. Rectifying AC, half wave, full wave, then smoothing with capacitors

  • Electronics of gadgets Passive versus active components. Transistor like a diode with a valve so 3 wires. 3rd wire controls valve and can turn on/off the current and as small effort to turn it can amplify. Belongs to family of semiconductors. Many kinds (transistor, MOSFET, SCR/TRIAC)

  • Wireless communication Electromagnet/loudspeaker/earphone/relay/motor, back emf again: magnetism from electricity. Electricity from magnetism. Transformer, inductor. Radio waves, frequency./ bands & free/licence, aerial design.

Building a computer from basic components

Networking

Intro to Linux / be your own sysadmin

Version control - GIT + general good coding practice

David:

  • I can make redo my git workshop to be nicer. We can stretch it out and make it interactive.
  • I noticed that even kids that know how to use git don't actually know what they are doing most of the time. So we may even do a more "in depth" workshop

Python

David: I feel like it's more interesting to do workshops where they do python instead of a straight up python workshop. The Micro:bit workshops I have are good for this. They also force you to figure things out.

Beginner

  • How to get started e.g., programming micro:bits.
  • Simple intro to basic syntax; loops; how and when to write functions -- ideally run this via JupyterHub

Post-beginner

  • Classes
  • List comprehension
  • Documenting code
  • ...

Internet of Things

HTML, CSS, Javascript

  • HTML elements; write your basic page and put it on a server
  • Add some CSS
  • Try to write a consistent set of pages (menus, consistent headers) and bang your head in frustration; learn a simple framework (which one?)
  • Execute JS in the browser

David: maybe show them something like jekyll instead? It's a super easy and nice way to get their websites up.

Data Visualisation and Maps