The Children Programming Analysis

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Kodu and Story-Telling

Abstract—Programing has become an important branch of computer science today which trains students to perceive various languages to design, develop and build applications and software. Some countries have given very deep attention to train their students from early ages as they believe that they have much higher learning potentials in comparison to adults. Besides, this can prepare them with basic understanding from young ages to gradually become familiar with it and start doing programming at their interested field much earlier and better than high school and university students. This paper is focusing on important factors that are affecting this matter (children programming) on the tools that are being used to train kids. It goes without saying that some kinds of tools that are having great focus on training young adults to learn programming will be introduced and discussed

Keywords-component; Methods; Attributes; Cost Factors; Programming Traits

Introduction

Computer Programming skills are quickly getting easy-learning topics and people are mutually becoming more and more familiar with it so that this ability is becoming part of essential life skills.

Development and popularity of Information and technology today brings children having opportunity to get much more accessibility to computers and enhances their familiarity with it. Technology i.e. computers change the way children study, play and interact. Compared to adults, children have their own characteristics and traits. The appropriate use of computer can direct children developing their cognitive, creative and life-long abilities.

Childrens’ Needs/Wants to Learn Programming

Broadly speaking, the "advocate" position here has argued that programming is an empowering, creative, and fertile medium for children’s activities; while the "opponent" position has argued variously that programming is unnecessary, overly difficult, or (in the extreme) cognitively harmful for children.

Computer is changing the way of children’s life and study. Compared with adults, children have their own characteristics. The proper use of computer can help and guide children enhance their cognitive and creative-ability.

With children’s using computers deeply, current software are unable to satisfy children's need. Although children are not professional programmers, they are also eager to create their own programs. When children participate in problem solving activities, they will have a high learning motivation. Therefore, we believe that building an appropriate programming environment has great potential to promote children to join and enjoy creative activities. One of difficulties in the field of children's programming is how to use proper programming language and interactive modes to express children's operation intention. This is done through analyzing the cost factors and common traits of the languages and tools which is this paper’s actually objective.

How Children Programming is Today

In order to reduce the complexity of learning programming for children, some key techniques are used, including simplifying the syntax of programming languages and designing programming language more consistent with children's cognitive level and matches the way of describing roles' behavior for children. Besides, they help users build program by assembling graphical blocks and programming through presenting actions in 3D animation scenes. Using some software like Kodu and Alice can be essential and beneficial to build programming mindset and conceptualize their understanding from early ages of youth.

Technology Capabilities

Programming tools can have some capabilities that might increase their availability, accessibility or functionality. These factors will provide ease of use and facilitate the ways/places that children can use the systems. Some of the factors are as follows:

Connectivity to servers

moving to upper levels of the systems

Information storage of the yet-done works of the applications

Ability of playing on tablets and iPads, cellphones

Connectivity of children to play games together: this ability brings a great attractiveness to users and enhances their performances through the interactive cooperative works. This is very good motive for kids that they strive to play and learn while competing with their friends.

Methods and Attributes Tools’ Common Traits

There are some common (similar) traits that are shared between all tools and software. This paper has split them into two categories, Methods and Attributes, as each trait is going to be studies in two dimensions. The main purpose is to clarify the major significances in tools used for programming children and to identify the weaknesses and strengths of a tool through this identification. This enables users to determine if a tool is suitable to them based on its attributes and methods of use. Besides, it provides proper info on how the tools are operating in various dimensions including looks and feels (Interface) of the systems

Cost Factors

The ultimate factors affecting decision on selecting a tool/software are the costing factors. These are analysed from the approaches of both users and programmers. The considerations within this realm associated with incurring costs for usage and production, include the following:

Collaborative – to what extend a graphical programming tool affords ease of collaboration with peers in learning computer programming and developing a programming based project. Specifically this feature allows children from across different schools and even continents, to work together in collaboration beyond the immediate learning environment.

Dependency – to what extend the tool is reliant on other systems, e.g. requires network access for libraries. Need follow-up on updates, restriction to certain platform and operating environment, restriction on use to only a mouse with keyboard inputs; difficult to evolve the software from one specified purpose to another.

Freeware – an open source application or software may not be free, e.g. proprietor charges for support services and literature. Some open source software has limited features or subset of functionality of the full featured application.

Mobility – can the tool run on mobile platforms e.g. tablets that enable it to be used at different locations. Ease of connectivity and accessibility to web resources, permits children to interact wherever and whenever they would want. Easy to carry perhaps because of weight and size for a small child.

Open Source – to what extend the output of a computer programming project can be demonstrated or used by the creator. This include whether if the utility or tool itself can be changed and modified into another desired form. Open source enables users to collaborate, contribute and share the application development.

Portability – is the tool restricted to a certain hardware or operating platform. The outcomes from the tool may need certain proprietary components, e.g. Lego graphical block programming for its NXT cube. The tool may be locked to certain access points on a network. It may also implement language and use culture constraints which will restrict the tool for use at only at a given location.

Shareability – whether the license for use allows the tool to be installed on more than one computer system.

Web Publication – The intended tool should allow the user to choose whether to lodge their creations for public access i.e. on the web as software programs under the Commons License agreement; or not to reveal their creations but for commercial gains. Web access may connect and bring children together for competitions, enables crowd sourcing in teaching and learning computer programming, more importantly to encourage, excite and motivate children to embark on learning computer programming.

Integrity - like medicines have side-effects, in the same way software might have a side-effect, means, it may affect the working of another application or might cause to interruptions to it. But quality software should not have side effects.

Reliability - The software product should not have any defects and malfunction. Not only this, it shouldn't fail while execution. In case it has limitations, it needs to let the user know how to work the errors out.

Efficiency – regards to the way software uses the available resources and tools. The software should make effective use of the storage space and execute commands as per desired timing requirements.

Security - With the increase in security threats nowadays, this factor is gaining importance. The software shouldn't have ill effects on data / hardware. Proper measures should be taken to keep data secure from external threats; in case something goes wrong with the data storage like a virus, it must be able to either handle it or save the file correctly.

Safety - The application should not be hazardous to the environment. I.e. negative impacts on people/societies.

Interoperability - Interoperability is the ability of software to exchange information and data with other software applications and make the best use of information transparently.

Reusability - If we are able to use the software code with some modifications for different purpose then we call software to be reusable. I.e. the software is multitasking and provides this availability.

Maintainability - Maintenance of the software should be easy for any kind of user. This includes saving, deleting, copying or updating the system at any time.

Flexibility – Changes and modifications in the software should be an easy work. E.g. dragging and dropping objects, changing the interface or commands.

Extensibility - It should be easy to increase the functions performed by it.

Scalability - It should be very easy to upgrade it for more work; in case we require more functions for higher number of users available.

Testability - Testing the software should be easy. The system must provide debugging and building it before running it.

Modularity - Any software is said to make of units (aspects) and modules which are independent of each other (the existence of relationships between the behaviours of parts of a system). These modules are then integrated to make the final application. If the software is divided into separate independent parts that can be modified, tested separately, thus, it has high modularity.

Ease of Use – this relates to the software users usability, indicates how much of technical knowledge users need to have in order to be able to work with the application. Software must be as less complicated as possible for users and should have determined and clarified every option in it precisely.

Software availability - this factor determines how easy users can obtain the software from markets.

The above costs are connected with the purpose for using and capability of the tools. These primary trait factors describe the overall characteristics of the software. All aforementioned factors must be seriously watched in order to see how the tools appeal to users/kids.

The equations are an exception to the prescribed specifications of this template. You will need to determine whether or not your equation should be typed using either the Times New Roman or the Symbol font (please no other font). To create multileveled equations, it may be necessary to treat the equation as a graphic and insert it into the text after your paper is styled.

Story-telling and kodu analysis

Story-telling tools

Kidpad

(1) click event (2) keyboard event ( 3) start event

Figure1. Event Trigger Block

kidPad tools are normally using as a group of children, means that a group of children are playing with a tool together. Some researchers called kidPad tool as a collaborative storytelling tools. Collaborative storytelling helps children develop interpersonal and story-related skills. Oral traditions are an example of how stories can provide an effective way of transferring and retaining information. Storytelling also helps children develop communication skills. These skills are necessary for collaboration, and learning to work with others is another important skill to acquire. Collaborative storytelling is often present when children play. However, there is currently little computer support for children’s collaborative storytelling.

Jabberstack

Is a tool for children to embed audio recordings into drawings created on paper. This tool allows children to compose and arrange their recordings on a graphical canvas, but does not provide tools for children to manipulate their recordings.

Story Mat

Recorded children’s oral stories and the movements of stuffed animals made on a technologically augmented play mat. When another child played with the mat, the stories were played back as animations – echoes of a previous playmate. Results demonstrated that interacting with peer stories on Story Mat led children to tell more imaginative and structurally advanced stories.

Children tell stories by creating a variety of drawn props the robotic character can recognize and respond to. Children do this by drawing on a set of colored cards and programming what they want the robotic character to say and do when the character sees different cards. On an interactive tabletop, the robotic character comes to life with the behaviors and recordings the children programmed into each of the colored cards.

Technology serving as a facilitator for children’s design activities has been successful in learning domains beyond math and science.

Kodu

It lets children create games on PCs and XBoxs by a simple visual programming language. This advantage makes this tool very attractive and amusing for kids as it becomes an entertainment for them rather than a boring system.

Kodu can be used to teach creativity, problem solving, storytelling, as well as programming. There are all done through playing around with symbols and objects.

Anyone can use Kodu to make a game, young children as well as adults with no design or programming skills due to its user-friendliness which simplifies the programming game.

Kodu is a rich tool for narrative creation and storytelling because of the way that it works, through narrative story creation which enhances users’ analytical ability.

Kodu makes programming an interesting and creative tool as it plays the other way around, instead of writing strict codes in program, users use and create objects and plays around with them.

Kodu assists children with breaking a complex aim into manageable steps with critical thinking and iterate on the design process – an approach applicable to all academic subjects, business and personal relationships.

The Kodu icon lets you add a new character or object by clicking in a space without an object, or edit an existing object, by moving the puck to a space where an object is.

Kodu introduces conditions and sequences, which teaches cause and effect. It is tidily structured and shows changes made by misputting objects to users because it functions based on sequences and terms.

This tool is also available on portable format. I.e. the computer you are using will not need to have .NET Framework or XNA Framework installed to run Kodu so you can use any computer you want (assuming that it's Windows). To operate your program. This advantage distinguishes this tool from other corresponding ones.

The Creating Games with Kodu Game Lab course is a designed primarily for teachers looking to introduce game design into their classroom program. This two day intensive course will introduce Kodu Game Lab and demonstrate how anyone can create rich and exciting games.

Users can program each character (e.g., a fish, cycle, apple, tree) individually, and the programming defines how it interacts with the world, much like an intelligent agent.

While the Kodu language is unlike most mainstream programming languages, it allows its users to explore many fundamental concepts in computer science which are also shared with other programming languages.

Global variables in Kodu can be read from or written to by any character. Kodu uses the metaphor of pages to describe different states a Bot or Object can have. Each bot and object can have up to 12 pages of code or 12 different states.

Kodu contains code applied to various bots and objects that can responded to game events. Bots and objects can be created in the design phase or created programmably as needed using a special class of creatable objects.

In Kodu, the scores, which hold integer values, act as global variables means are accessible to every class action. There are totally 37 global scores that can be maintained by any program, one for each letter of the English alphabet and color supported.

Characters have four local properties that are analogous to local variables. These are color, glow, expression, and health. Colour, glow, and expression each hold an enumerated value (e.g., orange, happy), and health holds an integer value.

A character can read and write all properties for itself and some of the properties of other characters.

Each bot and object has a specific set of actions, behaviors and properties (methods and attributes). Properties (eg. scale, invisible, damage) cannot be set or altered programably and needs to be written by the programmer.

Each object reacts to a slightly different set of events (eg. see, hear, bump) and actions (eg. move, launch, glow, create) :

A common way to introduce no determinism in programming is through random variables. There are three random variable tiles that can be used, one for time, one for score, and one for colour. These are to be sued as modifier to set properties and take actions (behaviors).

All Kodu code statements start with a When condition, followed by a Do condition to be executed. The choice of tiles at any point is determined by what went before. Conditions are evaluated simultaneously. If there are no tiles in the When area, then the action will be done at all times.

The "switch to page x" construct is used for code to be run only after a specific event or condition has been achieved – it is used to create multiple states for a character or object.

Summary

In summary, as discussed, programming is a concept that is tried to be taught to young adults from early age for many reasons. There are a couple of common tools traits for learner’s programming (especially kids). The traits are divided into two categories, Methods, what/how the elements are operated in the system and Attributes which is consist of the elements included in the application plus look and feel. Subsequently, all the tools for children programming (Kodu and Story-Telling discussed in this paper) are having a number of cost factors which are influencing the tools to be selected for children. These factors must be carefully watched in order to select appropriate tools according to kids/ users preferences and abilities. At last, the mentioned specifications and traits about tools can help children to obtain the interested skills and knowledge and utilize them as they grow up.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now