This thesis establishes significant new results in the area of algorithmic randomness. These results elucidate the deep relationship between randomness and computability. A number of results focus on randomness for finite strings. Levin introduced two functions which measure the randomness of finite strings. One function is derived from a universal monotone machine and the other function is der...