Anyone wanting to plug the gaps in their computer science education is either going to be very busy for the next two months or has some difficult choices to make as a dozen free online courses all become available at once.
Four new computer science courses from Udacity get underway, April 16th, 2012, together with re-runs of its two inaugural modules which will be now be presented on a "self-paced" basis.
The new courses are designed to be suitable as a "follow-on" courses to Udacity's introductory course, CS101.
In CS212 - The Design of Computer Programs Peter Norvig, Director of Research at Google and a fellow of the ACM, will look at how you going from a problem description to a solution with each problem intended to introduce new concepts, patterns, and methods.
The final new Udacity course, taught by David Evans, Professor of Computer Science at the University of Virginia and the tutor for the CS101, has an extra pre-requisite, an understanding of probability and theory of computation and algorithm analysis, as well as previous programming experience. It is CS387 - Applied Cryptography and sets out to introduce the mathematical foundations of cryptography and build programs to perform encryption.
These new classes will take the same form as the two Udacity courses that have just finished - six weeks of video snippets interspersed with quizzes, some of which require code to be written, with weekly homework assignments culminating in a final exam. However, a new format is being trialled on the re-run of the two original courses:
These courses will now be presented as self-paced learning in which the homework questions are marked as soon as you submit them, rather than to a weekly deadline. A final exam with a deadline will be available for those who want a certificate. A new exam will be set at intervals of around 8 weeks.
I can see how this scheme simplifies things for Udacity. Instead of having to repeatedly devise homework questions for each unit, something that would become increasingly difficult at each presentation, it only has to set new exams.
But will it work for students? Judging by the responses on the Udacity Forum, students who have successfully completed the course prefer having the pressure of deadlines but appreciate it could help others. The main problem raised is that with students all working at their own pace the Forums won't be synchronized and therefore won't be as useful.
Professor Andrew Ng's Machine Learning, a re-run of the course that he taught last autumn is another course that was delayed from January as is the Computer Vision course from Berkeley's Professor Jitendra Malik.
Two more computer science courses which have been recently added to Coursera's portfolio are also starting on April 23rd
Automata is to be taught by Professor Jeff Ullman and covers finite automata and regular expressions, context-free grammars, Turing machines and decidability, and the theory of intractability, or NP-complete problems.
Compilers from Professor Alex Aiken is about the major ideas used implementation of programming language compilers, including lexical analysis, parsing, syntax-directed translation, abstract syntax trees, types and type checking, intermediate languages, dataflow analysis, program optimization, code generation, and runtime systems.
Finally there's Introduction to Logic in which students will learn how to formalize information and reason systematically to produce logical conclusions. The course, taught by Professor Michael Genesereth, will also examine logic technology and its applications in mathematics, science, engineering, business, law, and more.
When you add in the offerings from MITx and Caltech, there's an overwhelming choice of free online courses. It will be interesting to see if demand continues to meet supply as all these initiatives go forward.
Eliminating bugs from software requires attention to detail - or a good set of tools. In order to promote static analysis methodology in general and its own static analyzer in particular, PVS-Stu [ ... ]