This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
In Malta students attending secondary schools that would like to learn programming will select Computer Studies as a optional subject as from form 3. The subject will lead students to sit for Matsec Computer Studies exam by the end of form 5. Due to recent changes in syllabus, students are being thought Java as programming language during the course. The current curriculum does not include programming prior this phase, so Java will be the student's first exposure to programming. Java is currently one of the most popular object oriented programming language used within the labour market.
The purpose of this study is to measure the current effectiveness in teaching programming by using java when compared with a game based approach. There are a number of programming languages that are designed to teach programming to beginners. Such languages are defined as Educational Languages. Educational languages have a number of characteristics to facilitate learning such as visual programming and game creation. One of the programming languages that have all these characteristics is Scratch. Scratch will be used in this comparative study to teach students programming using a game based approach.
Game based, learn programming, visual languages, object oriented.
Students taking Computer Studies as option in our local secondary schools will be directed to sit for the Matsec computer studies examination at the end of form 5.About two years ago the syllabus has been revised. One major change was the removal of Pascal programming from syllabus. Instead of Pascal the board opted for the use of Java to teach programming. With the introduction of java, students are also being taught objects as part of the syllabus. One may question if using a language that is more industry driven at secondary school is appropriate? Students may be unprepared to fully understand the concept of object oriented approach and Java syntax is too verbose.
The purpose of this study is to collect empirical data to determine how effective the use of Java is in our secondary schools. This study will propose a game base approach in teaching programming through the use of Scratch. Students will be given a number of tasks in Java and Scratch, and asked question to obtain results which will be compared in this study.
A common debate between curriculum planners is what programming language is appropriate for teach programming to first time students. Can language relevant for industry be used? Or a language designed for teaching? Pascal and Logo have been designed for teaching programming but both languages suffered drawback that lost their significance in education over the years. Studies by Schollmeyer 1986 and Shaffer 1986 in (Linda, Mia, Back, & Salakoski) demonstrated their suitability in Education. Other scholars have suggested a number of features that a programming language should have for teaching. Features such as; simple syntax, easy input and output handling, easy output formatting, have meaningful keywords and give immediate feedback. Students shall spend more time programming instead of spending time trying to understand language constructs and identify syntax errors. The more verbose the language is the more chances of syntax errors a beginner can make. For a student that is being exposed to programming for the first time it is most important to understand the concept of programming, language syntax will not be a priority.
Java programming language has been released in 1995 by Sun Microsystems (nowadays is part of Oracle Corporation) and since then it constantly continued to gain popularity. Java is platform independent and supports a variety of systems ranging from web servers to mobile phones. Java is also popular for its rich built in graphics library enabling creation of high quality images. Another stronghold of Java is the development environment. For Java programming one can choose from a simple text editor to a fully integrated development environment such as NetBeans, Eclipse, JCreator, BlueJ and much more. Most Java IDE's are free but there is also some proprietary Java IDE's. The most popular IDE's are Netbeans and Eclipse which are both free.
Scratch is a visual programming language that enables programming beginners to get results without having to learn the syntax and have immediate output. In scratch programming is done by using code fragments called blocks. Blocks are dragged and dropped in a specified area and only slight modifications are required to the Blocks. Through scratch one can create interactive projects and games without having to depend heavily on the language syntax and constructs.
In Scratch: Programming for everyone (Resnick, et al.) list three main factors that will scare young students from programming. These factors are;
Children had difficulty in leaning the syntax of programming as early programming languages were too difficult to use
Programming was being introduced with exercises that are not of interest to young students such as generating lists of prime numbers
Lack of expertise when things went wrong or encourage deeper exploration when things went right
Therefore using Java may be too complex for a student to use. There is a number of educational programming languages such as; Alice, Kodu, RoboMind and more. Some are not categorized as Visual Programming Languages and some are proprietary. Scratch have been chosen as it is free, a Visual Programming Language and is backed by a community of over 1.3M members with over 3M projects (Scratch, Imagine-Program-Share) from where user can find help and new ideas. Users can upload their projects and received feedback on their project. There is no need to learn detail language constructs and syntax to upload and share your project. These are some of the reasons that may make Scratch ideal to use for introducing programming to beginners who have no or few idea of computing.
Why using a Game based approach?
By using Scratch it is relatively easy to manipulate and create multimedia objects, without much preparation. Scratch is a leading candidate to help introduce children to programming (Wilson & Moffat). Students are significantly more engaged by GBL compared to traditional teaching (Felicia, 2011). Scratch was created with the intention to make it easy for everyone, of all ages, backgrounds, and interests, to program their own interactive stories, games, animations, and simulations - and to share their creations with one another (Resnick, et al.). By using Scratch students will be able to create their own games while learning programming constructs. Scratch will enable learning by approaching students with hands on sessions where problem orientated activities will be given. . Ramsden in (Linda, Mia, Back, & Salakoski) suggest that most students cannot learn unless they are actively involved.
The first groups of students sitting for the Matsec exam with the current syllabus are going to be examined in June 2013. Previous Matsec exams were based on the previous syllabus which had Pascal as programming language. Therefore to date there is no clear feedback on how students are performing in Java. The only data so far are the marks that students will obtain after sitting for the annual exams in their respective school. The sample for this will be from secondary schools within three separate collages. The collages will be selected are the ones with the most number of students having Computer Studies as an option. The collage with the median number of students and the collage with the least number of students studying Computer Studies. Both boys and girls secondary schools within the selected collages are to be included in this study. Following the current syllabus, students will have their first exposure to Java in Form 4 and continue in Form 5. Thus it will require two years for students to complete the whole Java course. The ideal sample of students will be form 5 students as they have covered the whole computer studies syllabus. Time should be given for students to sit for the Matsec examinations. Based on this constrain the study will take place during June/July allowing students to finish their Matsec exams.
The study will consist of assigning students with a number of tasks using both Java and Scratch. Tasks are to be designed to be of similar complexity to assess the student's knowledge of the specific area analysed. Results will be obtained by analysing the completed tasks and questioners to students. Class teachers are to be included in this study too for the following reasons. Teachers will know there students better and vice versa, so the students won't feel uncomfortable as if being under test. Another reason is that teachers will be asked for their views on Scratch and Java.
The study will follow a variant of Experimental Methodology used in computer science as describe by Amaral in About Computing Science Research Methodology. The experimental methodology is divided in two phases, where the first phase is an explanatory phase where issues are identified. Then the following phases will be in addressing these issues. In our case in the first phase student's knowledge will be assessed and in the second phase students will be having hand on experience using Scratch and Java simultaneously. Sessions will be added accordingly if required. Although Scratch is being used for research purposes, the whole study being based on the perception that students will enhance their understanding and use of basic programming, and problem solving in due course.
During the first phase student's will be assessed for simple algorithm solving and their knowledge of Java. Algorithm knowledge is tested by asking students to write the required steps of simple everyday tasks in order. Typical examples are pouring a drink, preparing a cereal bowl, wearing a pair of socks etc. This phase will help the researchers to adjust their tasks and plan the session as necessary for the students participating in the study. To test their Java knowledge, students will be given a set of short exercises that involve simple tasks such as complete short simple programs, find syntax errors in displayed programs and other similar tasks. The purpose of this exercise is to identify the student's level of knowledge in order to adjust accordingly following tasks in Java.
The second phase is based on Dale's model in (Linda, Mia, Back, & Salakoski) which states that 90% of the learners retain information by what they do, 10% by what they read, 20% by what they hear and 10% by what they observe. The first encounter of the second phase will commence by having an introduction to Scratch through a short demonstration followed by a discussion. Students will be given a worksheet allowing them to experiment with Scratch blocks. In the second lesson students will be introduced to sequence with scratch. Students will be given a worksheet with a collection of short sequence exercises to be worked using scratch. A worksheet containing similar tasks same is to follow and have to be worked using Java. At the end of the lesson a discussion will be held where students are to share their experiences. Then each student will fill in a questioner containing a set of questions related to the tasks assigned. Questions are answered on a Likert-type scale. The following two lessons will be similar to the second lesson in which students will be guided to use iteration and selection.
After the fourth lesson students will be given a small project. Students are free to choose whether to use Java or Scratch to deliver this project. Apart the task students will have an interview in which they will explain the approach they used in delivering the project and discuss any issues encountered.
Computer Studies teachers are to be included in the study. It is the teacher responsibility to communicate knowledge with enthusiasm and understanding of what is happening in the background. This is especially important in computing as this subject is often complex and abstract. Teachers will express their views on Scratch and Java in a focus group. Teachers of all schools participating in the study are invited to attend.
The result of this study will give an indication which approach is the most suitable to introduce programming to students. Java is very useful in industry and some may argument that introducing it at secondary level will prepare students for work after completing their compulsory education. However it may be introduced too soon to beginners and maybe to complex to understand thus discouraging students from pursuing their studies. Java is too verbose and the whole concept of objects is too complex for students at that age. By adopting a game based approach students will learn while they having fun creating their own games. Through a game base approach there will be only one limit for learning, which is student's creativity. Through scratch students will be able to create their own projects, continue building on other projects and will see results of their work after a short period of time.
So far no such study has been done in Malta. It would be convenient to have such data that may outline any positive and negative issues in introduction programming through Java, or through a game based approach.