Read the paper Mathematical Foundations of Computer Science (actually, a tutorial) published at JCSC. It provides a link to an interesting site with learning resources about formal languages:
http://www.asethome.org/mathfoundations/. At a first glance, my course on computing theory covers all that content, but it is often nice to compare my material with other courses.