Exam board deletes C and PHP from CompSci A-levels
A-level computer science students will no longer be taught C, C# or PHP from next year following a decision to withdraw the languages by the largest exam board.
Schools teaching the Assessment and Qualifications Alliance's (AQA) COMP1 syllabus have been asked to use one of its other approved languages - Java, Pascal/Delphi, Python 2.6, Python 3.1, Visual Basic 6 and VB.Net 2008. The final resits allowing work in C, C# and PHP will be held in June 2011.
In a document detailing the withdrawal (pdf), the AQA said the move was a response to low take-up of some of the eight languages originally allowed under its syllabus.
The board "highly recommended" switching to Pascal/Delphi because it is stable and was designed to teach programming and problem solving. Teachers planning to use Java are warned that many universities are considering dropping it from their first year computer science programmes, "as has happened in the US".
"You have to consider carefully whether you should be teaching a language that could very well be taught in [higher education]," the AQA wrote.
The allowed variants of Python and Visual Basic are presented by the AQA without comment.
Simon Humphreys, the British Computing Society's coordinator of computing at school, backed the decision.
“I understand that the reason for AQA dropping C#, PHP and C from the AS Computing examination is one of demand," he told The Register.
"Most centres offer Pascal/Delphi and Visual Basic as the language of choice for their students. This selection is based on the experience of the teacher in that centre and their own comfort with that language.
"The Computing A Level is not intended as a programming course but a course that covers the fundamentals of computing of which programming (and problem solving) form a key component."
The AQA's exclusion of C, C# and PHP - languages that are arguably more useful in practice than the now-preferred teaching languages - is nevertheless sure to spark debate. Over to you. ®
Who told you that they need work experience?
They are to learn Computer Science in a uni, not to get work experience in it. You get work experience at work, not in the Uni.
Fundamentally it is a version of the difference between a structural engineer and a builder. A builder can become a builder by work experience alone. A civil engineer needs to study lots of boring stuff like math and such to become a civil engineer. He cannot become a civil engineer on work experience.
Coming back to your comment. First of all there is a reason for this. See this for an example:
You cannot teach even the basics of algorithms and data structures in java, C# or php. They simply disallow you access to pointers and low levels to do some of the basic data ops required to show the students a data structures problem. Try doing a doubly linked list in java for example. That is good for the trade, but it is bad for the teaching.
While it is possible in C or Perl making it readable and presentable is a nightmare.
While I am not a great fan of Pascal, credit where credit is due - it is a language designed for teaching. It is one of the very few languages which can be used to learn things like linked list manipulation, pointers, etc and it is _READABLE_. You simply cannot do that in C#, java or php.
It is the university job to provide higher education. It provides the CS equivalent of engineers, not builders. A person who knows data structures and the fundamentals of CS can start coding in _ANY_ language in a couple of days including Java, C# or PHP.
If however, the universities are to follow your great advice they will provide "builders" which can practice only their trade and cannot do any of the real stuff. No better way to ensure that this country never ever has a Google an Infovista or even a measly Yahoo to be proud of.
I can only say - applause, long overdue.
Re: Work experience anyone?
> What would you say Comp Sci undergrads should study then?
Algorithms, Math, C/C++
With these most other areas of computer science are open to you.
I learned pascal/delphi for my A levels in computing, did me no harm, taught me the basics of programming well and was simple enough, letting lose people with no idea about object orientation etc with Java seems silly to me