Completely Free and open source!
Fantastic Course. Definitely one of the best Computer Science courses I have taken. The top-down approach to combine Programming Language, Algorithm, Computer Architecture, Software Engineering, Compiler, Operating System knowledge into one single course is just brilliant.
Of course, if you want to really "Finish" the course with all the projects, you gonna spend a lot of time programming and debugging. But You are going to be proud of yourself once you have done that. And for me, it's absolutely worth it. You are really going to have a deep understanding of how programming language 'works' inside computers and become a much 'richer' programmer.