26 October 2021
What is the Best Programming Language for A-Level?
It is only fair to say that each language is different and it has its own advantages and drawbacks that I will mention later on. The syntax can vary a great deal between them as well as the way you write, run, and compile the source code. Depending on the software developer, they prefer to work with certain types of languages. One thing to take into account is that it is much easier to migrate between similar languages, which is why the first one you learn is important.
However, demand in the job market is not the only thing to take into account of course. There is the issue of teachers’ knowledge and skills, exam grades pressure, teaching community support and CPD available and staff preference as many educators are very strongly for or against certain programming languages. Python has been undoubtedly winning the battle at GCSE and A-Level so far owing to syntax simplicity and the huge support available for teachers since January 2012, when many had to switch quickly from teaching ICT to Computer Science after the “Shut down and restart? The way forward for computing in UK schools” report.
There are loads of learning and teaching resources on the CAS resources section. Furthermore, if you are looking for a free website to learn yourself or your A-Level students, you can master any of the programming languages below and more on https://tinyurl.com/3ucsdzzy
Finally, let's take a look now at a few programming languages available, compiled, interpreted and web development languages that we can teach our students.
Python: It is very easy to learn and very versatile for software developers. Its high popularity means there is a myriad of resources for teachers and students. The main drawbacks are that it is slow and it doesn’t help students learn about basic programming concepts such as variable declaration, scope, static arrays, etc.
Java: There are thousands of jobs for Java backend developers and the demand is still high, making it a reliable option. It teaches students all basic coding concepts mentioned above. However, it has a more difficult syntax to begin with, which makes students struggle more at the start.
C++: A very fast general-purpose programming language is best known for its versatility; with it you can make applications of all kinds. Computer programs, mobile applications, video games, operating systems, etc. However, it is not the best for beginners for its complexity and it is not ideal for web development.
C#: It is quite popular and versatile for game development. C++ is more powerful and fast, but C# is simpler and easier to work with.
PHP: PHP is the language of choice for server-side applications, and it is easy to learn. Its popularity with new programmers and the plethora of open source projects like WordPress means that there are plenty of learning resources too.
What is your personal preference? Which languages do you teach you’re a-Level students and why?