MOOC not MOOCH!
'What a strange headline,' I hear you saying to yourself. 'There must be some clever wordplay going on here.'
MOOC is an actual thing and it continues our theme this week - online learning.
For, ladies and gentlemen, MOOC is an acronym for Massive Open Onlines Courses of which Udemy (see the last blog post) is but one of many.
Today we are looking at the larger (largest) and better established ones but there are literally hundreds of smaller course sites - often absolutely free - that can take you from a beginner to intermediate in all sorts of subjects.
The trend to online learning has been growing for some time now, initially seeded by online forums for sharing knowledge about programming, but now encompassing a full range of subjects taught by some of the best known institutions in the world.
Why should you be paying any attention to this?
According to the Harvard Business Review:
"Technology is transforming jobs and skills faster than organizations or people can adapt. Coursera’s Global Skills Index 2019 found that two-thirds of the world’s population is falling behind in critical skills. Research from the World Economic Forum suggests that the core skills required to perform most roles will change by 42% on average by 2022. At this level of disruption, companies are scrambling to identify and source the skills they need to stay competitive. The availability of key skills is now one of the top three business threats for CEOs globally, according to a recent PwC survey."
What this means is that, if you have the skills, it's a market for the employee.
Even lifestyle websites are seeing the writing on the wall with SheerLuxe.com noting:
"In recent years, employers have been creating more digital roles, which means pay is on the increase. CodeClan estimates an average starting salary for a junior developer to be around £25,000-£27,499, rising to around £40,000 within just two years"
Then it tells you how to make fresh fish tacos. Yummy.
But it also went on to give a very handy list of specialist coding providers and a list of the top coding languages to learn at the moment.
Code Academy - easily accessible, with all course material available online. The interactive nature makes for an engaging learning experience. It’s completely free for basic courses then £16pm for the pro.
Khan Academy - is a non-profit for all ages. It's free and relies on donations on the site to keep going. A more personal experience is created by enabling you to build your own dashboard and share your creations with other users.
MIT Open Courseware - onlinelectures and assignments from the Massachusetts Institute of Technology (MIT). This one is for the more academic amongst you as it is just a repository of undergraduate and graduate lectures and assignments. As far as I could tell there's no marking but I only checked out a couple of the computer science courses. You'll need to really root around and make sure you select complete courses as many of them seem to be partial lecture notes to give tasters.
Free Code Camp - is an open, online community where you can learn to code, build your portfolio and even do good by helping non-profit organisations with their coding needs once you’ve mastered the basics. It's set up with each course written on a blog platform by the looks of it. It's not very interactive but you can get an overview of the whole course just by scrolling down the page. This ones for people who want to code but aren't interested in highly structured course progression.
MIT App Inventor - this one is designed for younger learners by the looks of it, but I checked a couple of the later courses and it still looked pretty full on. Consider this a beginner’s introduction to programming and app creation. The cloud-based tool will guide you through the simple steps to building your first app via your own web browser, all the way through to live testing.
If you are thinking of getting into coding, I can say from personal experience that it can be challenging but also seriously rewarding. Perhaps I'm just reliving those halcyon days of youth, when the Sinclair ZX81 hit the high street, with it's massive 1kB of memory (storage was on tape), and when I managed to write a program that drew a circle in as little as 30 seconds, but writing code that actually does what you expected is always exciting, don't you think ... ?
erm. Right. To continue, some of the most useful 'languages' to learn are;
HTML & CSS - for building web pages. HTML structures text, images and more. CSS is used to style HTML content.
Python - is a general-purpose, easy to learn, versatile and modern programming language. It's a good place to start because it is concise and easy to read. It's built on C++ but has a massive library of ready written code that does most of what you'd need.
C++ - is a very popular language for applications which require speed and efficient memory management, such as gaming, VR, robotics, scientific computing and embedded CPUs. I found it really tricky because it's a very low level language that is not at all forgiving. However, because it forces the coder to understand memory management and to write most code from scratch, it could be a good place to start as it develops a more comlete understanding of what's happening under the hood.
Java - is one of the most popular programming languages and is used for software development, mobile applications and large systems development. It's a higher level language between C/C++ and Python.
SQL - used for relational databases, which makes it a great skill to have for data almost everyone. It's also the least 'codey' of the languages.
Bash/Shell - You know those films with hackers writing quick lines of code on a black screen. It's basically using the command-line / terminal / bash, which is one of the most powerful tools in a computer. You need to learn the fundamentals of commands first and then move on to Bash Scripting to automate tasks e.g. to change key words on every document in a folder without even opening them!
Ruby - A general-purpose language that is still used commonly, Ruby is considered easy to learn but powerful. “Companies like Twitter, Soundcloud, Goodreads and Kickstarter got their products off the ground with Ruby,” explains Code Academy.
R - I've never heard of until now but ... “R is a widely used statistical programming language that’s beloved by users in academia and industry,” says Code Academy. “[It] works well with data, making it a great language for anyone interested in data analysis, data visualization and data science.”
Go - Another new one for me, Google’s programming language is feature-packed, straightforward, fast and also used by Medium, Pinterest, Slack and Twitch, among others.
PHP - a server-side programming language (i.e. it serves up the web pages to the requesting host), PHP is becoming increasingly fast and powerful. It's a good tool for adding database functionality to web pages.
Swift - specifically developed for Apple iOS app development and as such there are benefits and frustrations. I wouldn't start with this unless you only ever want to code for iOS. However, it is relatively easy to learn the basics as you really only write it with X-Code which is an IDE with graphical interface for the visuals.
If your looking at rebooting your career, changing direction altogether, getting a degree or even taking a masters degree, then these sites are for you.
edX - has top university courses from Harvard, MIT, Berkeley, Sorbonne, Georgetown and many more. Non-profit & open source – Single courses, micro programs and full Masters Degrees. Although it's non-profit, you will have to still pay a significant amount to study - a Masters in IT Mangement from Indiana University comes in at $21,000. However, a four to six month course with three university credits comes in at at $375 on sale.
Coursera - University & company courses incl Google Imperial College London, Stanford, IBM, Penn State Uni… Again it's similar prices to actual attendance at uni. £28,000 over two years for a Masters at Imperial College London.
FutureLearn - Open University fronted but backed up by other top unis incl University of Edinburgh, Durham, Goldsmiths, Kings College London, University of Leiden, etc and Organisations incl British Council, Amnesty International, Foreign & Commonwealth Office (UK), UNESCO, UK Parliament etc. This seems to be a more flexible system, although courses have a couple of fixed start dates and a Masters in CyberSecurity over 2 - 5 years comes to £15,800.
Other Benefits to online learning is that it is 'stackable', enabling learners to close specific gaps in their abilities or add specific skills to meet their career goals. Upskilling or Levelling up allows people to add unusual but useful skills and to differentiate themselves from the competition. A Growth Mindset is one of the top ten soft skills in the marketplace for 2020 according to the Udemy Data 2020.
So that is just an introduction to the massive volume of courses, languages & providers out there. I could go on and on but Google is your friend now.
Again, the disclaimer is that YOU still need to do the research and make sure that any courses you do are value for money but also value for time. Sometimes paying a bit works out cheaper than doing something that's free. Conversely you could save a LOT of money by searching for smaller courses that you need to develop specific skills to get on.
Apologies for focusing on the programming side of things. The reasons are that I myself am learning to use some of these courses to develop skills touched on at university and because the move to digital is happening everywhere. You may be a risk manager for a large company who'll never write any code, but you will be able to better understand your colleague's needs and outcomes if you've learnt a little bit about what they do.
If you are going to take on any of these or other courses then you can join our Accountability Group Sessions on Tuesdays and Thursdays to help keep you motivated in hitting those learning targets. We'll be there too.