If September puts you in the mood for an educational challenge consider joining one of the MOOCs that start this month.
There is such a wide choice of Computer Science MOOCs that we can't possibly cover them all. But here are some on a mixed bag of topics that either start during September or can be started at any time.
Computer Architecture is an 11-week course that starts on September 20th and requires 5-8 hours work per week. It will be taught by David Wentzlaff of Princeton University and is targeted at senior-level undergraduates, first-year graduate students and others interested in compilers, operating systems, and high performance programming.
Students will learn to design the computer architecture of complex modern microprocessors, covering techniques such as multi-issue superscalar processors, out-of-order processors, Very Long Instruction Word (VLIW) processors, advanced caching, and multiprocessor systems. Prerequisites include a good working understanding of digital logic, basic processor design and organization, pipelining, and simple cache design.
Starting on September 22 and lasting for two months, Introduction to Cybersecurity is a free course on the Canvas Network that comes from the National Cybersecurity Institute at Excelsior College. It will be taught by Dr. Gary M. Jackson chief scientist and Technical lead within the National Security Operations Sector at Leidos, the organization that helps the US military, Department of Defense, and federal law enforcement respond to threats to national security. With video lectures, some peer assessment and some work assessed by a content expert this course aims to provide an overview of the evolving field of cybersecurity, with an introduction to cybersecurity standards and law. Students will learn about common cyber attacks and the techniques for identifying, detecting, and defending against cybersecurity threats and will also gain a basic understanding of personal, physical, network, web, and wireless security, as well as a foundation for more advanced study of cybersecurity.
One edX course that is restarting this month, on September 25th, is Learning from Data, an online version of a Caltech course (CS1156) taught by Yaser S. Abu-Mostafa based on 18 hour-long, "live" lectures that cover:
- What is learning?
- Can a machine learn?
- How to do it?
- How to do it well?
The course balances theory and practice, and covers the mathematical as well as the heuristic aspects. Its prerequisites are basic probability, matrices, and calculus plus familiarity with programming if you intend to tackle the homework. There are six student reviews of a previous presentation course, five of which award it top marks but the on placed top of the list gives the class 3.5 out of 5, with the comment:
The lectures are great, and the class covers a number of essential concepts in ML in much gory detail. Unfortunately, everything else in this class was rather disappointing. The translation to edX platform was an afterthought, and the homeworks are a mess: there's no opportunity to practice unless you come up with practice problems of your own, problem statements can be a bit on the undecipherable side, and with just one attempt there's no chance to recover from your mistakes. Lack of immediate feedback doesn't help there either. If you want to audit, this will be a great experience. Otherwise, prepare for some pain.
The Harvard Introduction to Computer Science is another port of a taught course to the edX platform CS50x and a similar criticism of "lack of translation to the online format" is levelled at it by a student who dropped out. Other students who completed it rate it very highly and found its use of a virtual machine for competing the problem sets very satisfactory.
This is a demanding course in that it has 9 problem sets each of which require 10-20 hours of work and you can audit it or earn an Honor Code Certificate for free. Alternatively you can pay a fee and work towards a verified certificate of achievement, which aslo involves validating your identity. A third option is to earn Harvard credit for the course by enrolling in the Harvard Extension School. This costs $2,200 for course tuition and registration for this Fall's session closes on September 9th.
All Udacity's courses are self-paced, and while the courseware can be viewed free of charge, if you want to engage in projects, have guidance from coaches and earn a verified certificate you pay a monthly subscription. There is a 2-week free trial that allows you to try any specific course. One of the latest additions to the Udacity catalog has the title Developing Android Apps: Android Fundamentals, which might suggest it is for beginners. In fact this course, which like other of Udacity's Andrriod-related courses has been developed in collaboration with Google, is at advanced level and is intended for students with at least 3 years of programming experience in Java or another object-oriented programming language. In it students build a cloud-connected Android app, and in doing so understand the tools, principles, and patterns that underlie all Android development. Students use Android Studio and code on GitHub and access to an Android device is helpful, but not required, to complete the final project.
In this video Google's Reto Meier and Dan Galpin explain why should you learn to develop on Android via this course:
If none of the courses suggested here appeal to you, refer to Keeping Track of Computer Science Courses which looks at websites that have details of many, many more.