Computer generated random numbers are pseudo random numbers. They do follow some logic. Random number is not about following a logic, but properties such as very low predictability, non-repeatability, etc... These can be achieved to a large extent by these algorithms. A good algorithm book will give you a lot of algorithms and their trade-offs.
As mentioned above the traditional programs use pseudo random number generators.
If you are interested in good sources of randomness and how they function, I would suggest you take a look at chapter 10 of the book "Building Secure Software" by John Viega and Gary McGraw. In there it explains sources of randomness and explains their strength and weaknesses.
Examples of other programs besides pseudo random number generators are programs that generate data (depending on the program by pseudorandom generators or other inputs as explained below), encrypts it and that is the output.
Other products that can use keyboard, network or mouse input to generate randomness but you should measure how much entropy you are getting from these sources before using them (all this is also discussed in the book).
Pseudo-random numbers are old concepts. If I can suggest a good old book from Robert Sedgewick "Algorithms in C++" as a good starting point. It is not science, it is a text book. Of course, although I'm not sure, I think the Vol. 2 of Donald Knuth's Art of Computer Programming should cover this topic as well. Check it.
Computer does not generate true random numbers, it generates only Pseudo random numbers, using some kind of algorithm. Hence if you fix the seed point and other constant values, it generates same random number sequence again and again. There by it looses the tag of true random numbers.
it is not a true random number, it is a sequence of numbers that behaves like random numbers (no predictability from looking at the sequence only, uniform distribution in 1D, 2D, etc)
Firstly even if a computer generates a psuedo-random number, how would you know it isn't truly random? One weakness is that a psuedo-random number generator will often have a repeating periodic sequence of numbers, however for a 2^64 number this is still not so obvious. As a psuedo random number generator will not repeat any numbers in one sequence this is an easier way to determine if a number generator is truly random or not, the birthday problem states the probability of a repetition in a true random number generator.
Convincing psuedo random number generation is important in Cryptography, here is a chapter from the Handbook of Applied Crytpography with a lot of algorithms that you seem to be looking for and a discussion on their strengths and weaknesses. http://cacr.uwaterloo.ca/hac/about/chap5.pdf
There is no such thing as a random number. Only a random sequence. Is 7 random ? A random sequence is one which is not deterministic - i.e., one for which you can't predict the next element in the sequence based on the previous ones. The bext you can do purely with deterministic algorithms is a "pseudo-random" sequence, i.e., one for which it is hard to figure out the deterministic algorithm that WAS used to generate the sequence. To make a truly random sequence use a stochastic physical phenomenon, e.g., sample the noise on a resistor or the time between typing keys.
Is there such a thing as randomness? Einstein didn't seem to think so...
But Quantum Mechanics seems to open the door...
Otherwise we need to resort to the pseudorandom and chaotic!
If you want "real randomness" sample a real device, and you'll come closer, but you will have to deal with the vagaries of the distribution, which may not be "normal" or "Poisson" or "uniform".
Record the fluctuations in the Earth's magnetic field, connect the output to an A-to-D converter, and assign integer values to various magnetic levels. Fluctuations within this domain will appear to be truly random, i.e. cannot be predicted or compressed further.
For more information on randomization, I suggest a search on the publications of my colleague, Dr. Stuart H. Rubin.
deterministic chaos provides many kinds of pseudo-random numbers that are much harder to predict than the usual multiplicative (see Harald Niederreiter, Random Number Generation and Quasi-Monte Carlo Methods, Society for Industrial and Applied Mathematics, Philadelphia (1992) ) or linear feedback shift register ones (see wikipedia for some references); these two are the most common in modern computing systems
the reason they (pseudo-random number generators based on deterministic chaos) are not used very much is that they are much more time consuming to produce a sequence of "random" numbers than the others
if your philosophy or attitude makes "deterministic unpredictability" a hard concept to swallow, then you likely want a hardware random number generator (many exist; search the web)
Deriving a pseudo-random number and using some sort of random process to seed the process is a *very* well studied area. Seeding from a noise or queueing process related to computer operations is common. The PRN is constructed to provide the distribution and moments that you need for your model.