How can I learn about the Monster group? There are several questions about the Monster group on this site, but none really answer the question in the title. 
While reading about groups in a first year algebra course, I was told about the classification of finite simple groups and the existence of the Monster group, but further research on my part lead me straight into a brick wall. Any answers I could find were either far, far beyond my current knowledge, or had so little detail, I learned nothing at all. I actually feel quite frustrated with this.
I suspect this is all for a couple reasons. The Monster group is very complicated and difficult to understand, in the realm of research level mathematics. Additionally, it's not really well-understood, but this makes it an exciting object to study as a budding mathematician. 
This leads to the question in the title; what is the necessary background and motivation needed to start studying the monster group? Also, what is the necessary background needed to study related topics like the moonshine conjectures and the $j$-function?
Keep in mind, I'm a second year undergraduate, though a little beyond the standard second year undergraduate program. I've studied some abstract algebra, to the level of Dummit & Foote on groups, rings and fields. I also have studied general topology and some very basic algebraic topology if that's of any use, and I'm diving into number theory right now. Hopefully this helps answers understand what "level" I'm at.
As a further note, it is obviously too early for me to know what I will be studying as a research mathematician, but I think it's unlikely that I'll become a finite group theorist. In any case, I hope that doesn't mean I'm doomed to never understand the Monster, moonshine, and the $j$-function.
 A: I was pretty much in the same position as the OP about 10 years ago. Now I think I can answer a specific aspect of the question:
What are the prerequisites to understand the definition of the monster and to do some calculations in the monster?
Here is my way toward the monster group:
Step 1: Learn as much as possible about the Mathieu group $\mbox{M}_{24}$, the binary Golay code, and its cocode.
Step 2: Study the Leech lattice, the Leech lattice mod 2, and its automorphism groups $\mbox{Co}_{0}$, $\mbox{Co}_{1}$, respectively.
Step 3: Study the Parker loop, which is a double cover (written multiplicatively) of the binary Golay code (written additively).
Step 4: Study Conway's construction [1] of the monster
For Steps 1 and 2, I recommend the corresponding chapters in [2]. Once you know enough about the Leech lattice and its automorphism group, you may look at Chapter 29 in [2], which is about the monster group. There you will find the Parker loop as a tool for constructing the monster. You may read Chapter 4 (about Symplectic 2 loops) in [3] for a deeper understanding of the Parker loop. Then you will be able to understand Conway's construction [1] of the monster, or at least a substantial part of that construction.
After studying the monster group I have written a python implementation [4] of the monster group.
[1] J. H. Conway. A simple construction of the Fischer-Griess
monster group. Inventiones Mathematicae, 1985.
[2] J. H. Conway, N. J. A. Sloane, Sphere Packings, Lattices and Groups, 3rd ed., Springer Verlag 1998,
[3] M. Aschbacher, Sporadic Groups, Cambridge University Press,
1994.
[4] M. Seysen, The mmgroup API reference
