Jump to content

Haggis (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by CS104G14 (talk | contribs) at 20:08, 8 November 2016 (History section updated). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

HAGGIS is a high-level, dynamic, educational programming language used primarily to teach Computing Science to Scottish pupils taking SQA courses on the subject. HAGGIS is used as a tool to bridge the gap between pseudocode and typical computer programming, allowing users to easily understand how the program is functioning.


HAGGIS is not based on any one specific language but a mixture that provides easy to learn syntax. It has multiple programming paradigms of functional, imperative and object-oriented, to provide an adaptable learning environment for pupils.


Online HAGGIS interpreters have been developed to provide a way for pupils to check their programmes run as expected. Other third-party tools are available to download such as VisualHaggis which provides users with a visual interpretation of the programme running and the ability to translate the HAGGIS into other programming languages.

History

HAGGIS was commissioned by the SQA by 2010 to provide a uniform syntax and form in which to present questions to pupils in assessments. It was developed primarily by Quintin Cutts of University of Glasgow in collaboration with Greg Michaelson (Heriot Watt University). The aim of developing HAGGIS was to emphasise the core idea of ensuring pupils could view various versions of code and then demonstrate their understanding to develop their computational thinking and programming skills.


HAGGIS was first introduced into the Computing Science curriculum as part of the Scottish Government’s Curriculum for Excellence development programme in the 2013/2014 session in National 5 and new Higher courses and into the new Advanced Higher curriculum in the 2015/2016 session. HAGGIS was not introduced as a language to replace other languages already used in education, but to be taught in conjunction, enhancing the pupil’s understanding of mapping pseudocode like structures (HAGGIS) to other languages such as Visual Basic and Python.

Features and Philosophy

HAGGIS was designed with 8 core principles in mind:


  • Not to be inspired by any existent language.
  • Be adaptable to programming languages already taught in the Scottish Curriculum.
  • Provide enough complexity for Advanced Higher teaching whilst being appropriately useful for earlier teaching years.
  • Provide an instinctive element, eg variable types are self specified.
  • Be concise in use but open to interpretation of multiple ways to solve a problem.
  • Allow different constructs have different meanings when used in certain context.
  • Don’t visualise the non-useful elements such as Memory being allocated.


It was designed to be both functional/sequential and object-oriented based in order to be simple and complex for National 5 / Higher students and Advanced Higher students simultaneously.


HAGGIS was designed to allow pupils across Scotland to enhance the learning and understanding of computer programming through reading examples, and aid the step of converting from pseudocode to full programming. It was not created with the intention of asking pupils to write it in assessments but provide a uniform language in which to present code examples to students, ensuring that all pupils have a fair understanding and is not hindered by learning a different programming language different to the one exemplified in the assessment.


References

Further Reading