About C-Sheep

About C-Sheep
About "The Meadow"
C-Sheep is an ANSI C-like educational programming language (mini-language) for learning the principles of computer science and for learning how to programm in the C programming language. C-Sheep allows you to program the behaviour of a sheep. The behaviour of the sheep can then be observed in its natural habitat, "The Meadow" virtual world.

There are a number of similar systems for learning programming, such as Prog&Play or M.U.P.P.E.T.S.. A common element of these systems is their similarity to programming games, such as Marvin's Arena or Gun-Tactyx.

C-Sheep was developed at he National Centre for Computer Animation, Bournemouth University (UK) to support teaching on the BA Computer Visualisation & Animation degree programme.

Programs for C-Sheep are written using a subset of the ANSI C programming language that implements a basic set of control structures (simple iteration, selection and sequence) as well as the definition of sub-routines (functions).

In terms of C, the control structures available in C-Sheep are the block, if and if-else alternatives, as well as while and do-while loops. Unlike other teaching languages which are variable free to provide an environment with minimal complexity, C-Sheep allows the declaration and use of variables and therefore includes a full set of arithmetical operators.

As with C functions, C-Sheep functions can return values of the variable data types (unless declared as void, i.e. typeless) and receive parameters. Identical to programs in the C programming language, C-Sheep programs always require the top-level function "main" to be defined. This function provides the entry point of a C-Sheep program from which it will begin program execution.

C-Sheep comes with a companion library for regular C compilers as a companion to "The Meadow". This library exposes C-Sheep functions to the ANSI C language, allowing C-Sheep programs to be written using off-the-shelf compilers. The idea is to simplify the transition from C-Sheep to regular ANSI C, as suggested by Untch (Teaching Programming Using the Karel the Robot Paradigm Realized with a Conventional Language).





developed at the NCCA

© 2006-2010 by Eike Anderson, Steffen Engel & Leigh McLoughlin, NCCA, Bournemouth University