I have a similar, but slightly different issue. I also have an undergraduate degree, and I did take courses in operating systems, compilers, and algorithm design. The trouble is that I don't remember anything. I remember taking the courses, but there was a huge amount of information that got shoved into my head and remained there just long enough to pass the exams and now it's gone.
This is an enormous pity, because it's only now, years later when I have a full-time job and not much time, do I realize what I missed.
If I won the lottery or somehow came into enough money ('fuck-you' money, I guess), I'd probably repeat my undergraduate schooling. However, there are a couple of options that you and I might have.
The first thing to remember is that no matter whether or not you take a formal course, you'll probably be reading some good books in the subjects that we're interested in. There are lots of lists of good, solid introductions to the subjects that we are interested in.
The second thing is that we'll have to make time for the subjects that we're interested in. As working people, we don't have the luxury of spending all our free time on a given subject, but unlike undergraduates, our attention is not necessarily divided over several subjects. In my last year of undergrad, I was taking plenty of courses and it's perhaps not surprising that I forgot so much. Now we can choose one subject (like compiler design), and focus our free time (however little) on it.
A third option is a sort of middle-ground. Is there a local university to you? Most universities allow you to take undergraduate courses as a continuing student. We have our degrees, we're more interested in the knowledge that the course can give us than the credential that the course grants us. The course would grant us the structure and discussion we'd benefit from as undergraduates, while not completely monopolizing our time.