Java A Beginners Guide 1720064
Java A Beginners Guide 1720064
LANGUAGES GUIDE
June 2014
CONTENTS
Introduction
Page 3
Page 4
Python
Page 4
Page 4
C#
Page 5
C++
Page 5
Java
Page 5
Visual Basic
Page 5
Delphi/Object-Pascal
Page 6
Page 7
This resource is an exemplar of the types of materials that will be provided to assist in the teaching of the new
qualifications being developed for first teaching in 2015. It can be used to teach existing qualifications but may
be updated in the future to reflect changes in the new qualifications. Please check the OCR website for updates
and additional resources being released. We would welcome your feedback so please get in touch.
INTRODUCTION
This guide compliments the Appendix in the A Level Computer
Science specification which gives the scope of the specific
languages learners could expect to encounter in the written
examinations. Below is an overview of languages that might be
used in the classroom for teaching and project work.
The choice of a programming language for A Level Computer
Science is no simple matter. On one hand, console mode
procedural languages appear better for learning theoretical
concepts, while the Object-Oriented drag-n-drop GUI languages
seem to simplify the coursework process. The ultimate choice
will depend on the preferences of the teacher and their
experience.
The hardest language to learn is the first one - all other
languages will be easier to learn once this has been achieved.
The OCR A Level specification will allow any appropriate
language to be used as the most important concepts are
common to all languages: sequencing, logic, and experience in
troubleshooting.
The following are popular and appropriate languages.
C
In the ideal world, C would be the language to teach: it is
accepted by almost all platforms and has plenty of free and
paid resources available. It requires limited hardware, can be
programmed in any text editor (then the code can be compiled
with a small compiler) and is very fast. C has the ability to
incorporate Assembler into its code allowing learners to find
out a lot about their operating system and how it allocates RAM.
It also allows learners to write software drivers, ie for a Linux
environment which doesnt always have the same level of driver
support as Windows or Mac. Data structures are handled very
well through pointers and stacks. In fact, most C++ IDEs (and
Delphi) are backward compatible and can compile C. Some
syntax features are similar to a whole of family of languages
dominant in design: C++, C#, Java, Javascript, Objective-C, etc.
C is popular as a robotics language, such as the popular Arduino
platform. While less powerful than Raspberry Pi, Arduino is
used in the industry and has a great number of resources and
hardware modules available (http://www.arduino.cc/).
C#
C++
C++ shares a lot of features with C. It is also aimed at desktop
development rather than web and mobile, it is a compiled
language with cryptic error messages and it also excels in
giving learners knowledge of the operating systems. Drivers
and utility software can also be effectively written in C++ using
one of the many available industrial strength IDEs. Like C, C++
gives graduates some very employable skills and will provide
continuity should they choose to study Computer Science
at University. Unlike C, however, it supports Object-Oriented
programming which is excellent for minimising repetitive
code and has better GUI generation facilities. There are plenty
of resources available for learning C++ but they are aimed at
university level and will not provide an inclusive experience for
learners at A level.
VISUAL BASIC
JAVA
Java is from the same family of languages as C++, but its
strength lies in its multiplatform capability. It is possible to
develop Java programs for every platform: desktop or mobile,
and therefore is much more popular than C++ or C#. There are
a lot of resources and free IDEs available for Java. Alternatively,
it can be developed in a Notepad window, as long as the Java
SE Development Kit (JDK) is installed on a computer. Java is the
most popular university teaching language, there are plenty of
resources (but mostly university-oriented) and Java skills make
graduates very employable.
which are second to none and comes with many wizards, for
example for integrating with Access or compatible databases.
Some of the coding can be done by these wizards. On one hand,
this help pupils get the projects done faster, on the other hand,
they could create a big part of their data handling from wizards
which will obscure the real working from them.
Visual Basic for Applications is an interesting and a simple
language built on the foundations of classic pre-.NET VB.
Running on top of Microsoft Office products, it is available on
all but Starter editions by pressing Alt+F11. Interestingly, it also
runs on a Macintosh version of MS Office, so it is possible to do
programming cross-platform. Using VBA in Access allows for
simple and integrated data-handling projects, while using it in
Excel allows leveraging of all of Excels graphics and functions.
Using it in Powerpoint gives a great multimedia interface.
Even when Microsoft Office is not available, it is possible to
program in a simple text editor. As Vbscript is Microsofts answer
to Javascript, it is possible to create a web application in VB
with GUI and proper programming using nothing but Notepad.
However, the best features will only work with Internet Explorer,
leaving out users with Chrome, Safari or Firefox. Another use of
Vbscript is for system administration, together with Powershell
(an obscure and hard-to-learn language that imposes Windows
group policies, etc). Among other things, it can be used to bulk
move folders and set up user accounts.
DELPHI/OBJECT-PASCAL
Delphi is an excellent and efficient language, based upon a onetime standard teaching language, Pascal. It has all the strengths
of VB without its weaknesses but the industry adoption rate
has been poor. Its current distributor has rolled out versions for
cross-platform capabilities.
Desktop game
Language: X#
Web game
Languages: HTML5, ActionScript, Visual Studio Dot Net via
Silverlight (http://en.wikipedia.org/wiki/Silverlight)
Maths/scientific
Languages: Python via numpy, Java
3D scripting
Language: Blender with Python (http://en.wikipedia.org/wiki/
Blender_(software))
Robotics
Combinations
Languages: Cython Python but with all the features and
libraries of C, Iron Python Python but with all the .NET libraries
and features baked in
To give us feedback on, or ideas about the OCR resources you have used, email [email protected]
OCR Resources: the small print
OCRs resources are provided to support the teaching of OCR specifications, but in no way constitute an endorsed teaching method that is required by the Board and the decision to use them lies with the individual
teacher. Whilst every effort is made to ensure the accuracy of the content, OCR cannot be held responsible for any errors or omissions within these resources.
OCR 2014 - This resource may be freely copied and distributed, as long as the OCR logo and this message remain intact and OCR is acknowledged as the originator of this work.
ocr.org.uk/alevelreform
OCR customer contact centre
General qualifications
Telephone 01223 553998
Facsimile 01223 552627
Email [email protected]
For staff training purposes and as part of our quality assurance programme your call may be recorded or monitored.
OCR 2014 Oxford Cambridge and RSA Examinations is a Company Limited by Guarantee. Registered in England.
Registered office 1 Hills Road, Cambridge CB1 2EU. Registered company number 3484466. OCR is an exempt charity.