September the traditional month for the college year to start. If you are in the mood for an educational challenge how about enrolling in a MOOC and joining thousands of others in an online course.
MOOC (acronym of Massive Online Open Course) has just officially made it into the Oxford Online Dictionary where it is defined as
"a course of study made available over the Internet without charge to a very large number of people"
and as we have seen over the past two years there's a large and expanding choice of such courses available in computer science and related topics.
While this month sees several restarts of courses that are already established, there a large number of new completely new offerings or ones that I've not noticed previously. Click on the links to go to the course pages for introductory videos and to sign up.
One that I almost missed as it's listed only in the Information, Tech & Design category of Coursera's course catalog, is Metadata: Organizing and Discovering Information.
The course description notes:
Metadata is important to many fields, particularly Computer Science; but this course is not purely a Computer Science course. [It] approaches Metadata from the perspective of Information Science, which is a broad interdisciplinary field that studies how people create and manage information.
Jeffrey Pomerantz of the University of North Carolina starts teaching it September 2 and knowledge of HTML or HTML5 is a prerequisite for this 8-week course.
In the same category but also under Computer Science: Artificial Intelligence is Introduction to Recommender Systems, a class that starts September 3 for 14 weeks. Taught by Joseph A Konstan and Michael D Ekstrand of the University of Minnesota, the course sets out to introduce the concepts, applications, algorithms, programming, and design of systems, such as that employed by Amazon, that recommend products or information, often based on extensive personalization.
With a workload of 4-10 hours per week. has two tracks to cater for different groups of students. The Programming track is for those with significant programming and mathematics experience and will cover the skills needed to implement basic recommenders from scratch, and to use software libraries and tools to implement more advanced recommenders. Students on the alternative concepts track are still expected to have significant familiarity with computing systems and college-level mathematics, but need not be accomplished programmers. It will be useful to those looking to understand recommender systems concepts without the workload associated with programming the systems themselves.
Networked Life, an artificial intelligence class that looks at how our world is connected, socially, strategically and technologically, comes from Michael Kearns of the University of Pennsylvania and covers questions such as:
What science underlies companies like Facebook, Twitter and Google?
How does Google find what you're looking for... and exactly how do they make money doing so?
Lasting 7 weeks it starts September 3 and according to its description will be presented in a way that is accessible to an educated audience with or without a strong technical background.
September 2 also sees the start of a multi-disciplinary course, Linear and Integer Programming taught by Sriram Sankaranarayanan and Shalom D. Ruben of the University of Colorado, and listed under Computer Science: Theory; Economics & Finance; and Engineering in Coursera's catalog.
According to its introduction, Linear Programming (LP) is:
arguably one of the most important optimization problems in applied mathematics and engineering
and that the Simplex algorithm, covered in weeks 2 and 3 of this 9-week course is widely regarded as among the "top ten" algorithms of the 20th century.
Programming of algorithms will be an optional component to this course and assignments to set up and solves LPs can be done using Open source software such as GNUs GLPK or alternatives such as Matlab or APIs in languages like Python, C/C++, Java, Scala or OCaml.
Analysis of Algorithms, a 6-week course starting on September 6 is a Maths/Computer Science course is from Princeton University's Robert Sedgewick. His previous course, Algorithms Part 1, would be good preparation for it. In general the prerequisites state:
"Math through calculus and basic familiarity with programming in a modern language such as Java".
The course covers recurrence relations, generating functions, asymptotics, and fundamental structures such as trees, permutations, strings, tries, words, and mappings, in the context of applications to the analysis of algorithms.
Coursera also has a new course for complete beginners to programming starting on September 16. The description of Beginning Game Programming with C# an 8-week course taught by Tim "Dr. T" Chamillard of the University of Colorado states:
Computer programming is really fun in general, and programming games is even better!
As well as C# you'll learn about Microsoft XNA and the Unity games engine and develop games for Windows, Android, iOS, Mac OS, and others.
A course in Computer Architecture that will provide a foundation for students interested in compilers, operating systems, and high performance programming starts on September 23rd. The 11-week class, taught by David Wentzlaff of Princeton University, will explore how the computer architect can utilize the increasing number of transistors available to improve the performance of a processor and is targeted at senior-level undergraduates and first-year graduate students. It will focus on architectures that can exploit different forms of parallelism, whether they be implicit or explicit and will cover architectural techniques such as multi-issue superscalar processors, out-of-order processors, Very Long Instruction Word (VLIW) processors, advanced caching, and multiprocessor systems.
Students who want to know about General Game Playing (GGP) to develop GGP programs capable of competing against humans and other programs will be interested in a new course from Stanford University, presented through Coursera. Starting September 30 its an 8-week class for those familiar with symbolic logic and can read and understand program fragments.
Its descriptions tells us:
General game players are computer systems able to play strategy games based solely on formal game descriptions supplied at "runtime". (In other words, they don't know the rules until the game starts.) Unlike specialized game players, such as Deep Blue, general game players cannot rely on algorithms designed in advance for specific games; they must discover such algorithms themselves. General game playing expertise depends on intelligence on the part of the game player and not just intelligence of the programmer of the game player.
Another Stanford Online course, Quantum Mechanics for Scientists and Engineers, which starts September 24, is on the OpenEdX platform. A 9-week course it is taught by David Miller and .If you've ever wanted to know more about Schroedinger’s equation this is your opportunity as the course is specifically designed to be accessible not only to physicists but also to students and technical professionals over a wide range of science and engineering backgrounds. It would be a good place to start if you want to understand quantum computing at a deep level.
For those interested in big data Data Mining with Weka is a new course from The University of Waikato, New Zealand, to be taught by Prof Ian Witten starting on September 9. According to the course information:
Weka is a powerful, yet easy to use tool for machine learning and data mining. This course introduces you to practical data mining.
Swinburne University of Technology, Australia has a 4-week class on Concepts in Game Development, taught by Dr Clinton Woodward using the Open2Study platform, starting September 9. It sets out to explore key technical concepts in game development and, with a workload of 2-4 hours per week has been developed for people of many different backgrounds and skills. Some programming experience would be nice but is not required.
If none of the new courses appeal here's a list of the Coursera restarts for September, all of which have been mentioned in previous MOOC roundups:
September 2 Algorithms: Design and Analysis, Part 2
September 4 Introduction to Systematic Program Design - Part 1
September 9 Cryptography I
September 16 Functional Programming Principles in Scala
September 16 Networks: Friends, Money, and Bytes
September 30 Introduction to Logic
Also restarting this month, on September 29 is the Santa Fe Institute's Introduction to Complexity which is being reoffered with improvements, including some new material, homework, and exams. The course is taught by Melanie Mitchell,Professor of Computer Science at Portland State University, and External Professor and Member of the Science Board at the Santa Fe Institute and author of Complexity: A Guided Tour.
Topics to be covered in this 12 week course include dynamics, chaos, fractals, information theory, self-organization, agent-based modeling, and networks and how they fit together to help explain how complexity arises and evolves in nature, society, and technology. There are no prerequisites for this course apart from an interest in the field and willingness to participate in a hands-on approach which uses Netlogo.
While not being a computer science course, this one crosses paths with computer science in several places to provide a novel perspective and having completed it last time around, I can recommend it for anyone who wants a different and illuminating approach to some of the things you may already know about, such as Mandelbrot fractals, Shanon's information theory and network theory. The course also offers optional homework assignments programming NetLogo, a platform that deserves to be better known. If you want to know more about it, see our Getting Started With NetLogo.
Two of the free MongoDB courses from 10Gen are also starting again in September. The Python version of the developer course, M101P: MongoDB for Developers starts on September 9. It covers basic installation, JSON, schema design, querying, insertion of data, indexing and working with language drivers, and working in sharded and replicated environments and a brief introduction to Python is also included. Over its 7-week duration participants will build a blogging platform, backed by MongoDB. M102: MongoDB for DBAs taught by Dwight Merriman, one of the original authors of MongoDB, starts September 30.
You may wonder why I've not included any Udacity courses this month. It's because there are no new courses debuting in September. However, there's a good selection of existing ones that you can join it whenever your chose to and do at your own pace.
If this list of MOOCs hasn't covered all the subjects you are interested in, consult the comprehensive one maintained by Class Central which has links on classes on all the platforms I've mentioned and some others as well.
Open 2 Study
Computer Science MOOC Round Up August
Online Computer Science and July MOOCs
June Computing MOOCs and Open Courses
May Computing MOOCs and Open Courses
April's Crop of Computer MOOCs
Computer Science MOOCs for March
Free Online Computer Science Courses Starting February
A Dozen Free Online Computer Science Courses
Going Further Into Complexity With Santa Fe Institute