I have been taking a community college class on advanced Java. The instructor is experienced in Java and that helps. However our text is a Deitel book that just can't seem to explain these advanced concepts to me successfully. I feel ripped off because the book cost me $130. Now I still read the chapters each week and work through the exercises. But I find myself googling around to figure out what the heck is going on.

The latest chapter was on common structures like stacks, queues, and lists. We got into the internal implementation of these structures. I worked through almost all the exercises in the back of the chapter. I was pleased with a calculator app that used a stack to convert math expressions to a format the computer could read. I was amazed that such little code could figure out complex expressions.

The last exercise in the chapter was to build a compiler for the BASIC programming language. Damn. That's a tall order. The problem was that this task relied on you finishing some exercises from previous chapters. Our advanced class had skipped over those chapters so I did not do them.

The crucial exercise was to implement a computer called the Simpletron. This thing has its own set of assembly language instructions, registers, memory, and so on. I started hitting those Simpletron exercises hard. I wrote out some small programs in Simpletron assembly language. This was fun. The real challenge was to build a Java program that would implement the Simpletron computer. More about that grand task later.