Well, the new Higher Computing Science is nearly with us and it’s probably a good time to start thinking about the software you’ll need in order to deliver this new course in your classroom. The new Higher brings in a number of new concepts for computing science and, if those concepts appear in the Assessment Specification, then learners can be asked about them in the exam and/or assessed on those concepts in the practical course assignment. So, I’ve spent some time looking over the new course and I have to say it’s a generally refreshing break from the past and a step towards where we should be going with a modern computing science qualification. Yes, there is a lot of new content, yes the old units (which we’ve had in some shape or form for over 20 years!) have gone and yes, there is an emphasis on coding and building systems using the tools of the web.
Change, for Computing Science is good BUT that doesn’t mean that all our Computing Science teachers are ready to tackle this new course. Many have a great deal of work to do to become familiar with the new areas of the course and to become proficient practitioners able deliver the significant areas of new and updated content. And that is why a significant number are choosing to wait for a year before delivering the new course. Such significant change, coming on the back of new courses at N3/N4 and N5 levels, means that many of our Computing teachers just haven’t had the time to develop the skills and resources to deliver the new Higher. In such a position, and with the very best intentions for their learners, they have chosen to wait. But if you are running the new Higher, what are you going to need? Here is my software shopping list and pointers to where it links to the Higher Computing Science arrangements. And all this software is free!
Software Development Languages
Still teaching Visual Basic? Still working on Visual Basic 6! Why? Python is one of the top 5 programming languages in the world, it’s used in a wide range of undergraduate programmes and there are a large number of resources available online to help you teach it. Some great examples are: Introduction to Python, Code Academy Python Course, TeachComputers Python Resources (heaps of stuff!), GCSE Computing Python Resources and CAS Teaching Programming with Python. You do not need to write a new programming course. You can use these resources to give your learners a great experience with coding!
HTML 5 Web Browser
This is kind of embarrassing but if you still have Internet Explorer 7 or 8 and Windows XP then you will need to upgrade your browser to something more modern…Google Chrome or Mozilla Firefox. Why? Because a significant part of the new course is based on web technologies and, although it isn’t prescriptive about which versions of HTML/CSS will be assessed, I would suggest that teaching HTML 4 and CSS2 is just a REALLY bad idea (especially since HTML 5 has been a main stream markup language since late 2010 and CSS3 has been formalised since 2011). So, you need a modern browser, even if your operating system is still Windows XP. And, with a modern web browser you will be able to access modern web sites and content to support learning and teaching (such as Code Academy and Codepen.io).
You are going to need a web server…a what!? No, no, no. Not a big server box in the cloud. You’ll just need a web server that runs on your computer – a localhost! There are a number of these available, most of them are free: WAMP, XAMPP and (my favourite) EasyPHP. Why do I like EasyPHP? Because it comes with Xdebug included. This is a tool which allows you to debug your PHP Server Side Scripts and it provides trace tables and feedback to help your do this.
Why do you need this software? The new Higher refers to Server Side Scripting, Database Driven Websites, Dynamic Web Pages and Server-side validation of online form data. Having a server allows you to build and test your server side scripts and do all this cool web programming stuff!
What does WAMP or XAMPP or EasyPHP provide? It gives you an Apache Web Server (on which the vast majority of the web runs!) which can run from your hard disc or from a USB stick. You also get the MySQL database server (the world’s most popular open source database) and a server web application called phpMyAdmin which allows you to manage your MySQL databases. Throw in PHP for the actual scripting (with Xdebug to debug your scripts) and you almost have a complete software development and web development toolkit!
There are 1000’s of tutorials, videos, worksheets, lesson plans on using PHP/MySQL and something like 70% of the Internet is built on this technology (including Twitter, Facebook, Worpdress.com etc.)
NetBeans is an Integrated development environment that is free to use and works really well when you are developing applications in HTML5 and PHP (there is a version that does Java/C etc but I just use the HTML5/PHP variant).
Wireframing is part of the Higher course and is a great way to make low fidelity prototypes and designs of your software development applications and/or web applications. These sites all provide great online tools to do this. I’ve got some Google Draw templates at http://glo.li/1dS9eWP but LucidArt, Moqups and MockFlow all offer some great free tools to design your wireframes (and there are a lot of other sites that do the same).
Other Cool Stuff (kind of optional I think)?
Run Linux or any other OS as a guest using a Virtual Machine Application such as Oracle’s free VirtualBox. Hands on with a virtualised OS – and virtualisation is how the vast majority of servers are now configured.
So where now?
The software is there and the new Higher Computing Science is the most fundamental change we’ve had in the subject in 30 years.
Now we need a greater level of collaboration and support to develop new learning and teaching resources to support the new Higher and for our national support bodies to step up to provide Computing Science with additional funding and resources in recognition of the huge change. Computing Science needs high quality support resources and significant investment in CPD for staff if it is to contribute to the aims of the ICT Skills Investment Plan launched by the first minister this week.