If you're interested in learning about MongoDB, I would highly recommend the course. It's free - which is amazing when you consider how much work has gone into the material and the cost of running and hosting such a system. It runs for seven weeks and 10gen suggest allowing up to ten hours a week to run thru the lectures and do the homework (in the first six weeks) and completing the final exam (week seven). Most weeks took me between two and four hours but some students reported substantially more time investment than that. Many of the homework exercises are non-trivial so you should be prepared to put in a decent amount of work. It's worth it. 10gen said that almost 20% of the initial students actually completed the course. That may sound like a high drop-out rate but it's actually a pretty good completion rate for a free, online course.

So what do you actually learn? The first week introduces MongoDB concepts and data structures, covers installation, shows how to use the mongo shell, and introduces the project that will be used for a number of the homework exercises. Week 2 covers the basics of CRUD and various query operations. Week 3 covers schema design and trade offs you need to be aware of. Week 4 covers performance-related issues (indexing, monitoring and profiling, some aspects of sharding). Week 5 covers the aggregation framework (introduced in MongoDB 2.2). Week 6 digs into application issues that arise from replication, sharding and various features inherent in the standard MongoDB drivers.

If you take the M101P course, it will teach you a little Python along the way, enough to do homework exercises based on a simple blogging engine written in Python that 10gen provide. I blogged about learning Python thru this course back in October and I'll be honest, I ended up being a little disappointed at how little Python 10gen taught. Even so, some students complained bitterly about being "forced" to learn Python. I just don't get that attitude at all - isn't part of taking a course about learning new stuff?

If you take the new M101J course, it will not teach you Java. You are expected to know Java for that course.

1 response

Thanks for sharing your experience on the course Sean. I've been toying around with MongoDB recently by just throwing myself in the deepend. So it'd probably fill in a lot of the knowledge gaps if I put myself through this... plus it's priced perfectly for me.