Thls text ls about one small fteld on the crossroads of statlstlcs, operatlons research and computer sclence. Statistleians need random number generators to test and compare estlmators before uslng them ln real l!fe. In operatlons research, random numbers are a key component ln !arge scale slmulatlons. Computer sclen tlsts need randomness ln program testlng, game playlng and comparlsons of algo rlthms. The appl!catlons are wlde and varled. Yet all depend upon the same com puter generated random numbers. Usually, the randomness demanded by an appl!catlon has some bullt-ln structure: typlcally, one needs more than just a sequence of Independent random blts or Independent uniform [0,1] random vari ables. Some users need random variables wlth unusual densltles, or random com blnatorlal objects wlth speclftc propertles, or random geometrlc objects, or ran dom processes wlth weil deftned dependence structures. Thls ls preclsely the sub ject area of the book, the study of non-uniform random varlates. The plot evolves around the expected complexlty of random varlate genera tlon algorlthms. We set up an ldeal!zed computatlonal model (wlthout overdolng lt), we lntroduce the notlon of unlformly bounded expected complexlty, and we study upper and lower bounds for computatlonal complexlty. In short, a touch of computer sclence ls added to the fteld. To keep everythlng abstract, no tlmlngs or computer programs are lncluded. Thls was a Iabor of Iove. George Marsagl!a created CS690, a course on ran dom number generat!on at the School of Computer Sclence of McG!ll Unlverslty.