\documentclass[12pt,twocolumn]{article}
\usepackage{fullpage}
\usepackage{balance} % to better equalize the last page
\usepackage{graphicx} % for EPS, load graphicx instead
\usepackage{times} % comment if you want LaTeX's default font
\usepackage{url} % llt: nicely formatted URLs
\usepackage{soul}
\usepackage{color}
\usepackage{subfig}
\usepackage{float}
\title{CodeCraft: Teaching Basic Concepts of Computer Science through Minecraft}
\author{Reniel Irizarry Del Toro\\ Gerardo E. Serrano Rodriguez\\
\texttt{ririzar@ncsu.edu}, \texttt{ geserran@ncsu.edu}}
\begin{document}
\maketitle
\begin{abstract}
CODECraft develop a new way to teach programming basic skills while you play a super popular game called Minecraft. Using different Minecraft modification (Forge, Mystcraft, Agrarianskies and Computercraft) to create what we call CODECraft. In CODECraft, the students will program a “turtle “that is a robot, to do some specific task faster than if they do it manually using a program language called LUA to create structures like houses, floors, walls in 3D using loops, variable, statements and functions. Our hope is that students will find this game amazing and engaging and they will demonstrate transferred programing skills from the game to real programing languages like Python or C++. This summer we create a really impressive level in CODECraft as proof of our concepts, and we look to test that level in middle school students from the NCSU summer camps.
\end{abstract}
\section{Introduction}
In this generation the youth are playing a lot with videogames and the researchers make a game to teach computer science basics. When those youth grow and go to college they can choose a lot of different careers but there are one that it’s going down fast, the computer science career. With this new game those youth will be able to play it to lost their fear and see programming like something attractive and fun. This new game it’s called CODECraft. The students will have a turtle and with that turtle they can build whatever like walls, floors or even houses, but first they need to program it. What we want is that the student programs the turtle and learns how to use loops, variables, functions, statements, etc. Inside the game there are some quests that will be guiding and making the game engaging for the student to keep them interest and improve their learning. With CODECraft they will learn the basics of the programing language LUA that is just like Python and we hope to transfer this learning to real life with a post-test to proof our concepts of the level we design. Our hypothesis is that if the students play a game that’s designed to teach programming and they find the game engaging they will see programming a lot more fun and learn faster the basics of programming and consequently they can be more likely to pursue a computer science career.
\section{Related Work}
\label{sec:relatedwork}
Acey Kreisler Boyce et al., (2011) make an investigation about the Virtual Bead game, that have tools for the players, and the BeadLoom game that leave the player to experiment and learn themselves how to complete the puzzle. This experiment concludes that the BeadLoom game is better than the ones with the tools because makes the player to think and create their own ways, they learned faster than with the tools (Acey Kreisler Boyce et al., 2011). This connects with CodeCraft, because right after the player ends with CodeCraft the tutorial for programing in LUA, they would be able to use their knowledge in the game and keep learning by themselves, discovering new things about ComputerCraft, but not only to keep learning and discovering in Minecraft but in real world. Minecraft is a 3D game and an investigation of Alexander Repenning et al., (2014) has shown that kids or students who play Minecraft are more likely to create new 3D games. CODECraft is an educational game that the researchers create in Minecraft. It’s not only teaching them to programming but it is also engaging young kids to create their own designs. Results showed that ownership is a great way of motivation (Alexander Repenning et al., 2014); they saw that middle school kids like their designs since they created them. Overall, programming and designing in 3D engages young people who have experiences with 3D virtual worlds like Minecraft. The researchers choose Minecraft because the students from middle school like this game a lot. Based on an investigation by Michael Eagle and Tiffany Barnes (2009) creating educational games will help students to learn something faster than with a normal class. The result of the investigation of this paper shows that the students prefer a game assignment, where they are playing and learning instead of the traditional class (Michael Eagle and Tiffany Barnes, 2009). Our primary goal is that students from middle school learn the basics of programming by playing our game called CODECraft and then they will be more likely to pursue a Computer Science Career.
It has been proven that everyone thinks different. For a specific problem a person can find one possible solution but another one can find a completely different solution for the same problem. In this paper they find that not because a person has find a solution for the problem there are no more possible solution that anyone can discover (Tony McCaffrey, 2012). The project incorporates the idea of searching for every aspect of the problem and find different solutions in order to write the quest a lot more precise. Because the project can have a quest that might be solve in one way but some of the kids might find a totally different way to solve the problem. If the kids have some problems finishing the quests they will have some hints inside the game to help them. The researchers took this idea from the paper “Building Games to Learn from Their Players: Generating Hints in a Serious Game” (Andrew Hicks, Barry Peddycord III and Tiffany Barnes 2014) were those scientists ask some volunteers to play the game and while they are playing it the scientist ask them questions and look what are the most difficult parts the volunteers found and after making evaluations place some hints in the game. In CODECraft the researchers can select some persons to play the game and by making them questions while watching how they solving the quest and after evaluating the data they can implement some hints inside the game.
This generation the people are increasingly playing videogames. In an investigation by Sebastian Deterding et al., (2009) they try to extract things from the videogames and transfer them to real life to attract people to different things they called this “gamification”. Like “A User-Centered Theoretical Framework for Meaningful Gamification” they put piano chords in normal stair to attract people to use them instead of the escalators (Scott Nicholson, et al., 2012). CODECraft implement the gamification by adding different quest not related to programming; the researchers put them like bonus quests to keep the player interested in playing the game. The quest might be like build four cubes of oak wood and then we reward them with something that will give them a good advantage in the game.
\section{Method}
\label{sec:method}
CODECraft is a game where the student will learn how to program in LUA, the Minecraft programming language. He has to complete ten levels in order to learn the basics of programming. In these levels they will learn the importance of loops, variable, statements and all the basic concepts of programming. The lessons consist in challenges about programming like: building walls, floors and houses. When the student starts the level he will be in front of a big screen that will welcome to the respective level (Figure 1). Then, he walks a little and encounters some monitors that will tell what he need to do in order to complete the level. It maybe says something funny just for entertainment. The first level will show the student how to code inside the LUA’s terminal and how to make the turtles move (Figure 2). After he code and solve the quest will get a linking book that links other worlds inside one dimension. Basically, the student will put the book he earned in the portal and it will transport to the next level.
\begin{figure}{}
\centering
\includegraphics[width=0.4\textwidth]{Welcome.png}
\caption{\label{fig:welcome}Level one start screen.}
\end{figure}
\begin{figure}{}
\centering
\includegraphics[width=0.4\textwidth]{Terminal.png}
\caption{\label{fig:terminal}Terminal of LUA Minecraft.}
\end{figure}
To create the educational game using Minecraft the researchers install and combine different mods. The mod that able the student to work in computers in Minecraft was the Computer Craft mod (Figure 3). This mod let the students have computers, disk drives, turtles, floppy, monitors and a lot more. Will let him use the computers as a programming tool where he will write the code and the turtle will do the hard job. When the student start coding will see a black terminal like real programming and there is where he will write all the codes for the turtle to do the job. Something the researchers don’t like of the mod is that if the students don’t use a floppy and they broke the computer or turtle all the program will be lost. This is basically the mod that makes the whole investigation work. With the computers the students will write the necessary codes to complete the level and then if they write them well the turtle will do the job. Something they need to know is that turtle needs fuel in order to work and do the job. After the students finish the ten levels they should be able to transfer all that they learn to real life in languages like Python or C++.
\begin{figure}{}
\centering
\includegraphics[width=0.4\textwidth]{ComputerCraft.png}
\caption{\label{fig:computercraft}ComputerCraft Tols.}
\end{figure}
To connect the worlds after the students finish the level the mod the researchers install was the Mystcraft mod (Figure 4). With the Mystcraft the student can transport to the other level and continue learning without exit Minecraft. This mod gives the student crystal to build a portal, descriptive and linking books to transport him to another dimension. To build a portal he will arrange the crystals in a way that looks like a vertical rectangle and then put the descriptive or linking book in the book receptacle and the portal will open to transport him to another dimension.
Also with the mod the researchers rebuild the interface in Minecraft and make the world smaller for the student not to get lost. The researchers did this by creating new linking books with the writing desk and the book binder because if we use the books that the mod supply it will transport us to a random world. The Mystcraft mod will assure that the student complete the levels in order and don’t jump to another level.
\begin{figure}{}
\centering
\includegraphics[width=0.4\textwidth]{Portal.png}
\caption{\label{fig:portal}Mystcraft portal to next level.}
\end{figure}
The Agrarian Skies mod is the mod that makes the quests to teach the student the basics of what programming is (Figure 5). This mod works by giving the student a book with pre-write quests. But when the researchers downloaded they go to the code of the mod and write some codes to make an edit part in the mod and with that we can write our own quests inside the mod. After the researchers change the code of the mod we write some quest and test them to see if it works. Then after we finish with all the tests translate those quests to the levels of the game. The researchers change the original code to let the student die every time they want because in the original code the student just have three lives and if he lose them he cannot play again in that world. So if for some reason the student die they will not lose everything they have and continue playing.
\begin{figure}{}
\centering
\includegraphics[width=0.4\textwidth]{Book.png}
\caption{\label{fig:book}Agrarian Skies mod, Hardcore Questing Mode, quest book for level one.}
\end{figure}
If the students are able to complete the ten levels and transfer what they learn to real life the researcher’s primary goal will be achieved. A secondary goal of the investigation is to make the students who play the game more interested in pursuing a computer science career by making them see that programming is a very fun job and they do not have to fear it.
\section{Future Work}
\label{sec:futurework}
The researchers complete one functional level and ten level designs. In the next summer they will test the game in a summer camp at NCSU and will make an experiment with the volunteer students who play the game. The researchers want to see if by playing the game the students learn faster some basics of programming language than some students that don’t play the game. The researchers will prove the learning of the students by providing a post-test to both groups of students.
\section{Conclusion}
\label{sec:conclusion}
This summer the researchers make a new game called CODECraft. The researchers create a really impressive level as proof of their concepts, and they look to test that level in students from the NCSU summer camps. The researchers make the game by putting together Minecraft mods and using the creativity to create quests related to programing inside the game. The primary goal of the game is to teach students the basic of programming and determine if by playing the game the students learn faster than students who do not play the game.
\section{Refereces}
\label{sec:references}
\textit{ A. {Boyce}, A. {Campbell}, S. {Pickford}, D. {Culler} and T. {Barnes},
"Experimental evaluation of BeadLoom game: how adding game elements to an educational tool improves motivation and learning.",
"University of North Carolina at Charlotte",
(2011).}
\textit{ S. {Deterding}, D. {Dixon}, R. {Khaled} and L. {Nacke},
"From Game Design Elements to Gamefulness: Defining “Gamification”.",
"IT University of Copenhagen",
(2009).}
\textit{ Michael {Eagle} and Tiffany {Barnes},
"Evaluation of a Game-based Lab Assignment.",
"University of North Carolina at Charlotte",
(2009).}
\textit{ Andrew {Hicks}, Barry{Peddycord} and Tiffany {Barnes},
"Building Games to Learn from Their Players: Generating Hints in a Serious Game.",
"North Carolina State University",
(2014).}
\textit{ Tony {McCaffre},
"Behind every innovative solution lies an obscure feature.",
"University of Hong Kong",
(2012).}
\textit{ Scott {Nicholson},
"A User-Centered Theoretical Framework for Meaningful Gamification.",
"Syracuse University",
(2012).}
\textit{ A. {Repenning}, D. {Webb}, C. {Brand}, F. {Gluck}, R. {Grover}, S. {Miller}, H. {Nickerson} and M. {Song},
"Beyond Minecraft Facilitating Computational Thinking through Modeling and Programming in 3D.",
"University of Colorado Boulder",
(2014).}
\end{document}
$
Boyce, A., Campbell, A., Pickford, S., Culler D., andBaner, T. (2011). Experimental evaluation of BeadLoom game: how adding game elements to an educational tool improves motivation and learning. Retrieved from http://dl.acm.org/citation.cfm?id+1999816
Deterding, S., Dixon, D., Khaled, R., Nacke, L., (2009). From Game Design Elements to Gamefulness: Defining “Gamification”. Retrieved from http://85.214.46.140/niklas/bach/MindTrek_Gamification_PrinterReady_110806_SDE_accepted_LEN_changes_1.pdf
Eagle, M. and Barnes, T. (2009). Evaluation of a Game-based Lab Assignment. Retrieved from http://www.game2learn.com/wp-content/uploads/2011/03/EvaluationGamebasedLabAssignment.pdf
Hicks. A., Peddycord III. B., and Barnes, T. (2014). Building Games to Learn from Their Players: Generating Hints in a Serious Game.. Retrieved from Retrieved from http://link.springer.com/chapter/10.10072F978-3-319-07221-0_39
McCaffre, T. (2012). Behind every innovative solution lies an obscure feature. Retrieved from http://www.kmel-journal.org/ojs/index.php/online-publication/article/view/142/138\
Nicholson, S. (2012). A User-Centered Theoretical Framework for Meaningful Gamification . Retrieved from http://scottnicholson.com/pubs/meaningfulframework.pdf
Repenning, A., Webb, D., Brand, C., Gluck, F., Grover, R., Miller, S., Nickerson, H., Song, M., (2014). Beyond Minecraft Facilitating Computational Thinking through Modeling and Programming in 3D. Retrieved from http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6813968$
@techreport{Boyce+Campbell+Pickford+Culler+Barnes,
author = A. {Boyce}, A. {Campbell}, S. {Pickford}, D. {Culler} and T. {Barnes},
title = "Experimental evaluation of BeadLoom game: how adding game elements to an educational tool improves motivation and learning.",
institution = "University of North Carolina at Charlotte",
year = 2011
}
@techreport{Deterding+Dixon+Khaled+Nacke,
author = S. {Deterding}, D. {Dixon}, R. {Khaled} and L. {Nacke},
title = "From Game Design Elements to Gamefulness: Defining “Gamification”.",
institution = "IT University of Copenhagen",
year = 2009
}
@techreport{Eagle+Barnes,
author = Michael {Eagle} and Tiffany {Barnes},
title = "Evaluation of a Game-based Lab Assignment.",
institution = "University of North Carolina at Charlotte",
year = 2009
}
@techreport{Hicks+Peddycord+Barnes,
author = Andrew {Hicks}, Barry{Peddycord} and Tiffany {Barnes},
title = "Building Games to Learn from Their Players: Generating Hints in a Serious Game.",
institution = "North Carolina State University",
year = 2014
}
@techreport{McCaffre,
author = Tony {McCaffre},
title = "Behind every innovative solution lies an obscure feature.",
institution = "University of Hong Kong",
year = 2012
}
@techreport{Nicholson,
author = Scott {Nicholson},
title = "A User-Centered Theoretical Framework for Meaningful Gamification.",
institution = "Syracuse University",
year = 2012
}
@techreport{Repenning+Webb+Brand+Gluck+Grover+Miller+Nickerson+Song,
author = A. {Repenning}, D. {Webb}, C. {Brand}, F. {Gluck}, R. {Grover}, S. {Miller}, H. {Nickerson} and M. {Song},
title = "Beyond Minecraft Facilitating Computational Thinking through Modeling and Programming in 3D.",
institution = "University of Colorado Boulder",
year = 2014
}
\subsection{How to Make Tables}
Use the table and tabular commands for basic tables --- see Table~\ref{tab:widgets}, for example.
\begin{table}
\centering
\begin{tabular}{l|r}
Item & Quantity \\\hline
Widgets & 42 \\
Gadgets & 13
\end{tabular}
\caption{\label{tab:widgets}An example table.}
\end{table}
\subsection{How to Write Mathematics}
\LaTeX{} is great at typesetting mathematics. Let $X_1, X_2, \ldots, X_n$ be a sequence of independent and identically distributed random variables with $\text{E}[X_i] = \mu$ and $\text{Var}[X_i] = \sigma^2 < \infty$, and let
$$S_n = \frac{X_1 + X_2 + \cdots + X_n}{n}
= \frac{1}{n}\sum_{i}^{n} X_i$$
denote their mean. Then as $n$ approaches infinity, the random variables $\sqrt{n}(S_n - \mu)$ converge in distribution to a normal $\mathcal{N}(0, \sigma^2)$.
\subsection{How to Make Sections and Subsections}
Use section and subsection commands to organize your document. \LaTeX{} handles all the formatting and numbering automatically. Use ref and label commands for cross-references.
\subsection{How to Make Lists}
You can make lists with automatic numbering \dots
\begin{enumerate}
\item Like this,
\item and like this.
\end{enumerate}
\dots or bullet points \dots
\begin{itemize}
\item Like this,
\item and like this.
\end{itemize}
\dots or with words and descriptions \dots
\begin{description}
\item[Word] Definition
\item[Concept] Explanation
\item[Idea] Text
\end{description}
We hope you find write\LaTeX\ useful, and please let us know if you have any feedback using the help menu above.
\end{document}