In NUS, I took CS3234, a Logic and Formal Systems course. The course instructors decided to use Coq, a theorem prover, to help us learn better. We used Coq to prove mathematical and logical theorems. For example, you could prove that the solution to the Towers of Hanoi is correct using mathematical induction in Coq. You could of course do it on paper but when the problems become tough, it’s much easier to use Coq.
I found this resource that seems great for those wanting to learn Computer Science or for those who want to brush up on certain concepts. It’s the ArsDigita University alumni website. ArsDigita apparently used to be a one-year intensive program to bring students up to speed in Computer Science. The program was based on the undergraduate CS curriculum in MIT and all the professors are from MIT, which means the entire program should most likely be good. You can access the courses here or you can visit the page at archive.org.
I just started on the theory of computation course to solidify my knowledge and it seems good so far. I’ll also be reviewing the other courses, such as the one on Structure and Interpretation of Computer Programs, just to see how it’s different from the course being taught in NUS.