Need EASY approaches to getting unif random from non-random sources

Computational Complexity 2018-08-02

Teaching crypto for the first time next semester I am looking into lots of stuff I always meant to look into but now I have to. NOT a complaint- good to be forced to expand my horizons (within TCS). I"m also finding out that the web is great for easy and hard stuff but not so good for medium stuff. Here is what I want to know so I am reaching out to my readers. KNOWN: you want to generate a unif rand seq of 0's and 1's. The bits you can generate are Independent (yeah) but biased (boo). So here is what you do: generate 2 at a time and if see 00 then DO NOT USE if see 11 then DO NOT USE if see 01 then generate 0 if see 10 then generate 1 KNOWN: You can do similar things if you have 00, 01, 10, 11 independent. And also if you have 000, 001, blah blah , 111 independent. I tried looking up if there is a better way and I came across some complicated papers. I need material for a senior course. So, are there INTERMEDIARY results Suitable for a classroom, on better ways to us an imperfect source to get unif rand?