CodeBots Process Book

Page 1

code PROCESS BOOK Alecia McEachran


DESIGN BRIEF What general topic or subject matter are you interested in? Computer Programming Within this general topic, what problem appeals to you that you would like to solve? Many say they would love to learn the basics to coding and programming, but do not think they have the time or tools necessary to do so or they think it is too complicated. Children at a younger age do not get enough exposure to the field. There needs to be more interest in it, as programming is becoming an essential tool in the world today. What research will be necessary? The basics of computer programming, the “Hour of Code� initiative, integration of Computer Science into K-12 curriculum, and teaching strategies What are some goals for this project? To teach the basics of computer science and gain more interest in the field, especially to younger age groups that may want to go into computer science when they get older Where might this fit in the field of design? Visualizing data, art and science, and education What medium/s are you interested to work with? Print materials (workbooks) and games (online, card, or board games) What do you want to learn about that you have not yet, or would like to get a deeper understanding of? The basics of teaching strategies and how design plays a part in that

1


SCHEDULE Here is the schedule I created for myself for this project: March 31 April 2 April 7 April 9 April 14 April 16 April 21 April 23 April 27 April 30

Game Ideas/Game Design Research/Printing of Game Research Finalized Game Idea/Begin Writing Game Instructions/Begin Design Finish Design/Instructions Send Game to Printer/Finalize Workbook Content Begin Design of Workbook Design of Workbook Design of Workbook Design of Workbook Finalizing Content/Design PROJECT DUE

I was able to stick with my schedule and even complete the board game ahead of schedule, since I knew shipping could take awhile.

2


RESEARCH BOARD GAME For my board game, I researched game design and development as well as other board games already out there. I looked into other computer programming board games, which were far and few between. One board game I ran across was called C-Jump. It was a little too complicated for younger kids, but I took some ideas from that to use towards my game. I decided to create a board game that focused on the operators in computer programming, much like C-Jump. I also took some ideas from an existing game that I’ve played before. I didn’t want to make a game that was overly complicated and I felt as though Sequence was a simple enough game that I could alter to fit the purposes of my own game. Here are the two board games that were the inspiration for my board game:

I also researched into how I could get the game printed. I ended up deciding to create my board game through The Game Crafter (www.gamecrafter.com). They are able to create boxes, boards, game pieces, cards, instructions, etc. at a reasonable price. This helped because I would be able to create my entire game from one place. I would also be able to create my own store on the site and others could purchase my game as well.

3


WORKBOOK I also researched how others have gone about teaching computer programming. I wanted to create an easy to read workbook that would teach the basics of programming to anyone who wanted to learn. I researched different books and tutorials that taught Java to beginners as well as good examples and exercises to use as well. I researched different workbooks and how they are designed as well as how the information is laid out. Here are some of the examples I found:

4


BIBLIOGRAPHY Here is the bibliography for the research I did throughout this project. Burd, Barry. “Java for Dummies.” (2011): Robot.bolink.org. Wiley Publishing, Inc. Web. <https://robot.bolink.org/ebooks/Java%20For%20 Dummies %205e.pdf>. “Java Applications Programming.” FunctionX. Web. 9 Apr. 2015. <http://www.functionx.com/java/index.htm>. “Java For Beginners.” Home and Learn. Web. 9 Apr. 2015. <http://www.homeandlearn.co.uk/java/java.html>. “Java Tutorial.” Tutorials Point. Web. 9 Apr. 2015. <http://www.tutorialspoint.com/java/index.htm>. “The Java Tutorials.” Oracle. Web. 9 Apr. 2015. <https://docs.oracle.com/javase/tutorial/java/index.html>. Silverman, David. “How to Learn Board Game Design and Development.” Game Development Tuts+. 29 Nov. 2013. Web. 9 Apr. 2015. <http://gamedevelopment.tutsplus.com/articles/how-to-learn board-game-design-and-development--gamedev-11607>.

5


LOOK AND FEEL/BRANDING To start, I came up with a name I wanted to use as the branding for my two pieces. While many of the names I could think of were already taken, I eventually landed on CodeBots. This gave me a theme I could use throughout with robots, which makes sense for computer programming, as robots are computers. I decided upon two different fonts to use in my game and workbook.

Franklin Gothic Book Arial Rounded Bold I also came up with a color scheme to use in my game and workbook.

Here is the logo I ended up with.

code

I also created the robots that would appear throughout my game and workbook.

6


BOARD GAME I started with the board game because I knew it would take less time than the workbook and that I would need to give some time for the printing/production and shipping of the board game. I started by coming up with my idea, which was basically a board with the numbers one through ten on it. Each player would have cards and colored chips. The player whose turn it was would roll the die and use that number to determine which card they would like to play. These cards had different Java operations on them that would result in a number from one through ten depending on the die roll. The player would lay a card and calculate the answer and then put a chip on whatever number on the board they got for their answer. The goal was to get five chips in a row on the board. I started by making the board. I rearranged the numbers so that there were six of each number on the board and so that they were spread out. I added the little robots around the board to keep my theme involved. Next I created the cards. Here is what I came up with for the backs of the cards. I wanted to keep it consistent with the board.

7


The fronts of the cards took the longest because I had to make each card different. I also created wild and remove cards. Here are some examples of the cards:

I then created the outsides of the box to match the rest of the board game. Front Back

Also included in the game would be a single die and 3 sets of colored chips. The last thing I created were the instructions.

8


BOARD GAME CONT. Creating the instructions was one of the harder parts of making the game. I had to make sure to be detailed enough to be sure people would understand how to play. I started out by creating a two page document that would be printed on letter size paper and would just be folded down to fit in the box. Here is the layout I first started with:

While it works, this just seemed too boring and predictable. I decided to play around with the layout of the instructions a little more.

9


I eventually came up with a layout that allowed me to fold the page in half to create a miniature booklet. This seemed to be a much better solution. Back Front

Inside

10


BOARD GAME CONT. I created the board game through The Game Crafter. I had to create an account and make my game through their website, which was a little complicated at first. They had templates to use to create each item, so you had to make sure everything was the correct size and format. Here are some screenshots of what it looks like when creating a game through their website:

This was the main page for creating my game. I could click the Edit button next to any item to add and edit parts.

11


Once I clicked on the edit button, it would come up with different items I could choose from. I would then have to click Edit on that item to add and edit it.

For example, here is where I added the die, chips, and box to my game:

12


BOARD GAME CONT. Here is where I added and edited the game board. In the upper right hand corner you can see that they have templates you can use. You can then add a png of your item. You must proof each item and confirm that it looks alright before you are finished.

The cards took the longest because I had to create and then add each of the 80 cards manually, as well as proof each as well.

13


I also had to create other assets for my online store on the site. Here is what my board game looks like in the store:

14


WORKBOOK After sending the board game off to the printer I began working on the workbook. I finalized the content I wanted in my workbook, being sure I was as detailed as possible and not overlooking anything that needed further explanation. I made sure to add lots of examples, as it is easier to learn by seeing examples of what I am talking about, as well as adding in exercises for each section to allow the reader to show what they have learned. I made sure to add an answer key in the back in case they got stuck on something they could look at the answer to help get some clarification as to why it was they way it was. After finalizing the content, I began designing it. I first created the cover. I really wanted it to have the same look and feel as the board game. I intended for the board game and workbook to go together. So someone could read the workbook to learn the basics and play the game to be sure they have the basics down as well as to be a more fun way of learning.

LEARN JAVA WITH THE

CODEBOTS

asy n, e A fu or kids f way ages to ll of a n code! lear

BEGINNERS

15


I next created some icons I wanted to use throughout the book to mark certain things in the workbook, such as reminders/tips, warnings, code snippets, and exercises. I have seen other workbooks use icons and I really think they are helpful. I wanted the icons to be bright and eye-catching, as they mark important things throughout the book. Here are the icons I created that matched the color scheme of my book:

I began adding content to my workbook, but wanted to be sure I was being consistent in everything I did. I made sure to always keep the same margins, same fonts, sizes, and colors, the same treatment for page numbers, etc. I used a different font (Andala Mono, which is the font used when writing Java code) as well as highlighted in orange different pieces of code throughout the book, like so: switch (variable) { case 1: //code here break; case 2: //code here break; default: //code here break; }

I also wanted to allow the readers to decide whether they wanted to write code on the computer too or if they would just like to read along in the workbook, so I made it easy for the reader to do either by adding in screenshots of code I wrote and ran on the computer. I only used the robots when there was a screenshot of the terminal (as seen below) in order to keep the consistency and so as to not overuse the robots.

16


WORKBOOK CONT. I also added some fun illustrations throughout the book to keep it fun, lighthearted, and interesting so that it could be a book for kids and people of all ages.

Here was an example of a spread in my workbook: PRINTING VARIABLES REMEMBER! To print out variables, your variable must have a value, so be sure to initialize your variable before printing it. You can use the System.out.println() command. Inside of the parentheses, you would put the name of the variable with no quotation marks, as shown below: int x = 6; System.out.println(x);

You can print out both text and a variable in the same command by using the plus sign, as shown below:

int x = 6; System.out.println(“My favorite number is ” + x);

WARNING! Notice in the last couple examples, there are spaces added in between the text to be printed and the quotation marks. This is because Java will not know to add spaces between different parts. Take the example below:

System.out.println(“My name is ” + firstName + “ ” +

lastName);

Without the space after ‘is’ and without the “ “ in between firstName and lastName, it would print out as:

EXERCISE 1

If you want to add text before and after a variable, it would look like this:

Find the error(s) in this code and fix it.

class Variable

int x = 6; System.out.println(“I am ” + x + “ years old”);

{ public static void main(String[] args) {

You can do this with any kind of variable.

String birthdayMonth = February; int birthdayDay = 24;

Example:

int birthdayYear = ‘2015’; System.out.println(“My birthday is ” + birthdayMonth + birthdayDay + “th ” + “birthdayYear”); } }

EXERCISE 2 In the space below, create any kind of variable (int, String, char, or boolean) and give it a value. Print out a line of text using that variable along with other text, as we did above.

17

17

18


As you can see in the example on the previous page, it is kind of hard to differentiate or distinguish between the different items on the page. Everything seems to run together a bit and was a little hard to follow. I made some changes and decided to add some transparent backgrounds to make things a little more clear and easier to read. Here is the previous page after making these changes:

PRINTING VARIABLES REMEMBER! To print out variables, your variable must have a value, so be sure to initialize your variable before printing it. You can use the System.out.println() command. Inside of the parentheses, you would put the name of the variable with no quotation marks, as shown below: int x = 6; System.out.println(x);

You can print out both text and a variable in the same command by using the plus sign, as shown below:

int x = 6; System.out.println(“My favorite number is ” + x);

WARNING! Notice in the last couple examples, there are spaces added in between the text to be printed and the quotation marks. This is because Java will not know to add spaces between different parts. Take the example below:

System.out.println(“My name is ” + firstName + “ ” +

lastName);

Without the space after ‘is’ and without the “ “ in between firstName and lastName, it would print out as:

EXERCISE 1

If you want to add text before and after a variable, it would look like this:

Find the error(s) in this code and fix it.

class Variable { public static void main(String[] args) { String birthdayMonth = February;

int x = 6; System.out.println(“I am ” + x + “ years old”);

You can do this with any kind of variable.

int birthdayDay = 24; int birthdayYear = ‘2015’; System.out.println(“My birthday is ” + birthdayMonth + birthdayDay + “th ” + “birthdayYear”);

Example:

} }

EXERCISE 2 In the space below, create any kind of variable (int, String, char, or boolean) and give it a value. Print out a line of text using that variable along with other text, as we did above.

17

18

It is much easier to see what information goes along with the different icons. I made sure to leave space in the exercises for readers to write things, as it is a workbook that I would like people to fill out as they read it. The hardest part of creating the workbook was trying to fit all of the pertinent information on each page so that each page only had to do with one topic. When I wanted to add more information than was able to fit on a page I either had to make images smaller or add another page or spread related to that topic.

18


WORKBOOK CONT. Some other pages in my workbook I had to create were the table of contents, answers, index, and a page to explain the icons. The answers ended up taking up an uneven number of pages, so it was suggested to me that I create an index at the end of my book. I went through the workbook and wrote down the important words that were talked about and found what pages they were mentioned on. This, along with the table of contents, helps the reader find things easily throughout the workbook without flipping through all of the pages. The index, unlike the table of contents, also shows all the pages that mention that word, since some things are discussed in other sections as well. The answers are easy to follow as they show the page number and then the exercise number on that page. It gives clear and conscise answers, but also explains that there are other possibilities and that the answers may be only one of the many possibilities.

19


I originally had the table of contents next to the page that talks about the icons, but my workbook had 46 pages and needed to be divisible by 4 in order to create the workbook, so I ended up adding in the two left-side pages seen below in order to create the correct amount of pages in my workbook.

20


WORKBOOK CONT. I had not originally planned on adding as many screenshots of code as I did in the end, but it made more sense to do so.

As you can see on this page, there are snippets of code highlighted in orange as well as screenshots of code. These things are done for a reason. Things highlighted in orange are just small snippets of code that are shown in between paragraphs that explain what that code means. The screenshots are full programs that show examples of what was previously explained. Readers can type in the code from the screenshots on their own computer and run it themselves to see the output shown beneath them. It is explained earlier how one can do so on their own computer.

21


FINAL THOUGHTS This project taught me a lot about game and publication design as well as teaching basics and strategies. I chose to do this project because I also major in computer science and I have heard so many people talk about how they wish they knew some coding. I believe this is something that should be taught to children at a younger age (or at least the basics). Whether someone wants to have a career in computer programming or not, it is a great skill to have. Computer science teaches you to think logically and to be as detailed as possible.

GAME DESIGN Creating a board game is something I’ve never done before, but I really enjoyed it. It allows me to be creative and have some fun. I believe my board game was a successful solution to my problem of teaching kids computer programming. It does not directly teach them how to write code, but teaches them to think logically and the basics of programming operations. I think this would be a fun and educational game for kids to play.

PUBLICATION DESIGN I learned a lot about how to teach somebody something new through this project. It was difficult to be as detailed as possible when trying to explain something to someone who does not know anything about the subject when it is a subject I know so well. Since everything I wanted to include in this workbook are things that are now second nature to me, it was a challenge to try to teach it to others. I made sure to include as many examples as possible and explain things in as much detail as possible as well. This is why my research was important. I wanted to be sure that I wasn’t missing things. I found other books that explain Java to beginners who know nothing about code, so those were great places to look. I also learned alot about creating a publication. Consistency throughout the book was very important. I made sure to use the same type and color treatments throughout. This also helps readers learn better if they know what to expect. They know that anytime there is a yellow icon, something important is being explained and anytime there is orange text, there is important code that is being talked about. I really enjoyed this project as it incorporated my two majors, computer science and graphic design, into one, which is not something I have gotten to do before.

22



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.