Enhancing Student Learning of Programming via Gaming Technology

Enhancing Student Learning of Programming via Gaming Technology

ENHANCING STUDENT LEARNING OF PROGRAMMING VIA GAMING TECHNOLOGY Ari Butowsky and Dr. Mary Courtney Seidenberg School of CSIS, Pace University, White Plains, New York [email protected], [email protected] I. Introduction Computer programming can be so complex that it can push beginning students away. This is due to students initial difficulty in learning programming skills, as well as the notion that computer science programming is difficult and boring. Heres some data:

- 50% decline in incoming freshman computer science majors nationwide from 2000 to 2005. - 80% decline in female computer science majors from 1998 to 2004. To better motivate students into pursuing computer programming, various universities have turned to using gaming technology to teach their students. II. Background Information There are two different types of computer programming: 1. Structured Programming: uses top-down analysis for problem solving, modularization for program structure and organization, and structured code for the individual modules. 2. Object-Oriented Programming: based on a hierarchy of classes, as well as well-defined and cooperating objects.

Structured Programming - Terms Top-down analysis = breaking a large problem down into smaller tasks or parts. Modular programming = organizing the instructions that programs require for a computer by dividing programs into modules/subroutines/subprograms. Structured Coding = dividing modules into and organizing them within control structures. Control Structure = represents a pattern of execution for a specific set of instructions. determines the order in which a modules instructions are executed. GOTO Statement = provides a jump from the goto to a labeled statement in the same function. not included in structured code because a GOTO statement represents no exact pattern of execution; it just jumps to a statement other than the next one in line. Compound Statement = groups one or more statements into a single statement. For example: compound-statement = 'begin' statement-sequence 'end' statement-sequence = statement { ';' statement }

History of Structured Programming The timeline of the history of structured programming is as follows: 1964 Structured programming is introduced with only three control structures: 1. Sequence = represents sequential execution and is implemented in Pascal via a compound statement with a straight line execution path. Below is a flow diagram and accompanying code that illustrates this. BEGIN PROGRAM EXAMPLE_SEQUENCE (INPUT, OUTPUT); READ A, B, C VAR A, B, C, D: REAL; BEGIN D --- A (B + C) READLN (A, B, C); D = A * (B + C);

WRITELN (D) PRINT D END END History of Structured Programming (contd) 2. Selection = represents conditional execution and is implemented via statements that support decision making, where a computer program selects a result from among a list of alternatives. This is an Ifthenelse statement. If logical-predicate Then -- statements to execute if the predicate evaluates to true Else -- statements to execute if the predicate evaluates to false EndIf 3. DO-WHILE = represents repetitive execution and is implemented via statements where a condition is tested after

the loop bodys execution. If the condition is true, the loop is executed again. If the condition is false, the loop ends. program prog_19(input, output); var score, sum: integer; begin sum := 0; repeat write('Enter score (-1 to quit): '); readln(score); if score <> -1 then sum := sum + score until score = -1; writeln('Sum = ', sum); end. History of Structured Programming (contd) 1968 Edsger Dijkstra had been crusading for structured programming for 20 years. - He furthered his crusade by publishing a letter to the editor in the Communications of the ACM arguing that the quality of a programmers code increases as the number of GOTO

statements used decreases. 1972 The New York Times project by was developed Harlan Mills programming team at IBM. - Utilized in automating the New York Times clipping file. - Led to structured programmings wide acceptance. Structured programming became a programming revolution and an important advancement in computer software. People began turning more to its philosophy and techniques as a result. Object-Oriented Programming - Terms Class = defines the data and the methods needed to work on that data. All program data is wrapped in that class. Object = an executable copy of a class. There can be any number of objects of a certain class in memory at one time. Inheritance = defines relationships among classes. Methods from a superclass are inherited and implemented by its subclasses, namely every class in the Java API libraries.

History of Object-Oriented Programming The timeline of the history of object-oriented programming (OOP) is as follows: May 1964 The first OOP language, Simula 67, was introduced. - Simula 67 was designed for creating simulations, the work on which at the time dealt with exploding ships. - Simula 67 introduced the concepts of classes and the objects of classes. Early 1970s Alan Kays team at Xerox Parc created Dynabook, the first ever personal computer. - Dynabook provided graphics-oriented applications based on Simula 67. - Smalltalk was developed for Dynabook, introducing the concept of inheritance. - Simula 67 allowed OOP to gain momentum, leading to the creation of programming languages like Pascal and Lisp.

History of Object-Oriented Programming (contd) 1980s Bjorn Stroustrup created C++, which played a role in the creation of graphical user interfaces (GUI) that are compatible with OOP languages. - Event-driven programming was developed thanks to this paradigm. 1994 - James Goslings group at the Sun Company created Java. - Java was marketed to be used for programming Internet applications, which granted it widespread popularity for programming applications for the then booming Internet. III. How Universities Enhance Students Learning of Programming Universities are employing unique methods to make software programming appealing to their student populations. 1. Using MIT Scratch: During the summer, the University of Texas (UT) at Dallas holds coding camps where students are exposed to computer programming using MIT Scratch. MIT Scratch - features an interface with drag-and-drop programming. - lets users create 2D animations of objects, make characters sing, create drawings, and develop interactive games.

- can be used to control finch robots by writing programs that cause such robots to perform various functions. III. How Universities Enhance Students Learning of Programming (contd) 2. Using Actual Video Games to Teach Computer Coding Professor Alexander Repenning of the University of Colorado developed a curriculum called Scalable Game Design. Scalable Game Design: teaches students concepts of math and science, as well as how to create games. Goal: bring computer science to middle schools to create a larger IT workforce and combat the notion that computer programming is tedious and boring. Curriculum: utilizes the tool named AgentSheets. Outcome: students experience Flow so their design skills match certain design challenges. students develop IT fluency and learn fundamental IT concepts and IT skills.

IV. Coding Software Programs Despite the best efforts of universities, however, new software needed to be developed to bring back an interest in computer programming amongst students due to the complex and frustrating nature of computer programming itself. This software included Alice, Greenfoot, and Objectdraw. Alice enables the creation of 3D animated movies and games where users can control the behavior of 3D objects and characters in a virtual world. - has a drag-and-drop interface. - introduces students to programming in a supportive and engaging environment

from which they gradually transition to programming. - prevents users from making syntax errors. - displays program sequences as animations so users can see mistakes and fix them. IV. Coding Software Programs (contd) Greenfoot enables the creation of classes, instances/objects, and members using a graphical user interface (GUI). - has each program divide user-created classes into three categories: World, Actor, and Utility. - features a Greenfoot World, which is an invisible grid of cells, each containing one or more Actor objects. The grid corresponds to a coordinate system, except that the Y-axis points down instead of up. - allows users to invoke methods and create classes by clicking the mouse. - provides much of the foundation needed to implement many games and simulations.

IV. Coding Software Programs (contd) Objectdraw takes the approach of objects first, events first, and concurrency early. - uses graphics to help teach various computing concepts to students. - supports the teaching of Java by simplifying the construction of programs that draw graphics and interact by reacting to mouse events. - provides simplified support for handling mouse events, facilities that help simplify the management of multiple Threads, and an assortment of classes for displaying drawings that provide a more object-oriented look and feel than the standard Java Graphics class. IV. Coding Software Programs (contd)

Alice, Greenfoot, and Objectdraw are all very powerful. All three present similarities and differences, which cause them to be most suitable for different types of users (i.e. See the table below.). Installation Tutorial Usage Display Suggested Education Level Alice

Greenfoot Objectdraw JDK required for Available on website, Must be added as an versions below 3.0. but requires JDK. extension of current Java coding software [20]. Found on the Found online. Found online. software. Interactive Comprises several Comprises several and easy to follow.

articles [22][23][24] articles [44]. [25][26]. Requires no knowledge of Java. Methods are created and put in editor screen without coding. Operates based on user input. Middle school, high school, and college

students. Requires much Requires much knowledge of Java. knowledge of Java. Operates based on Operates based on user input. user input [11]. High school and High school and

college students. college students. VI. How to Create a Module that Would Peak Students Interests in Programming The ideal module would include the following step-by-step curriculum: 1. Students should use Alice, MIT Scratch, or AgentSheets to get introduced to programming without learning any coding. 2. Students should use Greenfoot to get introduced to Java. 3. Students should use Objectdraw to understand how Java works regarding methods that need various parameters to function properly. 4. Students should create their own projects by utilizing the skills they learned from using the software discussed in steps 1-3.

VII. Conclusion In conclusion, computer programming has come a long way since the 1960s. Hopefully the knowledge gained throughout the decades can help educators find ways to get students interested in this topic area by utilizing the one thing many kids of the 21 st century like above all else: video games and/or gaming technology. THE END

Recently Viewed Presentations

  • Measuring Information Architecture

    Measuring Information Architecture

    Shasta was too simplistic…I did want a little more structure guiding my browsing. No . It was awkward and cumbersome resorting all the images. Awkward. more specific categories. Links between pieces--related works not grouped by theme but perhaps by genre,...
  • Titre de la présentation - Rhône-Alpes

    Titre de la présentation - Rhône-Alpes

    État d'avancement Comité de suivi Pôle Flore 16 juin 2010 Émergence du projet (2006-2007) Juillet 2006 : Politique régionale en faveur du patrimoine naturel et des réserves naturelles régionales Novembre 2006 : Dépôt de candidature des CBN Juin 2007 :...
  • Warm Up: Block day (9/9 or 9/10) Complete

    Warm Up: Block day (9/9 or 9/10) Complete

    A Long Way Gone is the harrowing, true account of a child solider in war-torn Sierra Leone. Ishmael Beah struggles with losing his family, his home, and his innocence as a young boy, but his story of redemption and healing...
  • True or False? Sales are rising rapidly! 4370

    True or False? Sales are rising rapidly! 4370

    True or False?There are more 15 year old boys than girls. 15 year olds. 16 year olds. 18 year olds. 17 year olds. 15 year olds. 16 year olds. 18 year olds
  • Pa Spread

    Pa Spread

    Restricted to physicians who are engaged in 12 months of quality improvement via PA SPREAD. Must complete short PA SPREAD form in May to describe engagement in PDSAs, team meetings, performance improvement. Forms will be reviewed by PA SPREAD team...
  • Suicide &amp; Violence in Mental Health &amp; Addiction Cultures

    Suicide & Violence in Mental Health & Addiction Cultures

    Target Hardening. Interventions focused on the potential victims of violence that are designed to increase their protection from or resilience to the client's potential violence. Warning or notification of identifiable, potential victims in cases in which a client is considered...
  • 2015 - Univerzita Karlova

    2015 - Univerzita Karlova

    EPSP. IPSP. Influence of one cell on the signal transmission. 1.AP, activation of the voltage-dependent Na+ channels (soma, area of the initial segment) 2. ADP, after-depolarization, acctivation of a high threshold Ca2+ channels, localized in the dendrites.
  • Humanism Through deconstruction - Oakwood CUSD #76

    Humanism Through deconstruction - Oakwood CUSD #76

    In broad, philosophical terms, "humanism" is a world view or perspective that rejects anything supernatural as an explanation for existing phenomena. Everything that we can observe with our senses can be explained by human investigation and thought. Humanist Critical Theory...