Understanding proof for Busy Beaver being uncomputable
Just for the completeness, I will present my proof that shows uncomputability of BB function.
The structure of a correct proof would look something like the following.


Construct a universal Turing machine U that simulates any other Turing machines but writes ‘1’ on the output tape for every step of the simulation.
For any Turing machine M, there is an encoding 〈M〉for U. We create a new Turing machine by adding new states in U which first writes〈M〉on its input tape and runs it on U. Call this new Turing machine UM.
Let n be the number of states in UM, and m be the number of states in M. We can see that BB(n) upper-bounds the number of 1’s outputted by UM and also upper-bounds the maximal number of steps run by the halting Turing machine with m states. Hence, S(m) &lt;= BB(n), where S(m) is the maximal number of steps run by a halting Turing machine with m states. 
Given a Turing machine of size m, we can always determine corresponding value for n. 
If there is any function that always upper bounds S, it is uncomputable as it will contradict with the result from the halting problem. (Run a Turing machine that many steps to determine whether it halts or not)