Alice Project 2017

Natalie Huffman

Week One

Day 1: 5/22

I worked through 77 of the 89 provided w3schools exercises on HTML, and read up on various HTML commands as I went. I created this blog and set up the basic format.

Day 2: 5/23

I completed the required RCR training for research work. I created a secondary page for this blog to keep track of journal articles read, as linked above. I read two papers and wrote up summaries and citations: Weaving Computing into all Middle School Disciplines by Susan H. Rodger et al. and Activities to Attract High School Girls to Computer Science by Susan H. Rodger and E.L. Walker. I then read through a couple chapters of the Alice book. I worked through ten of the Alice workshop tutorials: The Essentials of Alice (Bunny), The Essentials of Alice (Kangaroo), Shark Attack!, An Introduction to Alice, Getting Started with Alice, How Tall Are You? Introducing Decisions and the use of Functions, Headshots in Alice, Kangaroo Visits Friends: Making Methods More Flexible with Parameters, Creating Simple Objects with Shapes and Textures: Texture Maps, and Making Objects Move in Unison: Using Lists. Finally, I returned to the book, where I completed various exercises from the first few chapters.

Day 3: 5/24

I worked through the 12 remaining HTML exercises on w3schools and took the final quiz. I also installed Alice 3 and worked through some tutorials in it. I read six papers and wrote up summaries and citations: Social Networks Generate Interest in Computer Science by Casey Alt et al., Growing a K-12 Community of Practice by Stephen Cooper et al., Enhancing K-12 Education with Alice Programming Adventures by Susan H. Rodger et al., Engaging Middle School Teachers and Students with Alice in a Diverse Set of Subjects by Susan H. Rodger et al., Integrating Computing into Middle School Disciplines Through Projects by Susan H. Rodger et al., and 'I Don't Code All Day': Fitting in Computer Science When the Stereotypes Don't Fit by Colleen M. Lewis et al. I also made a CS account and worked on trying to map a network drive so that I could easily move files in and out of the account, including connecting to Duke's network through a VPN and going into the Registry Editor to enable plain text passwords.

Day 4: 5/25

I read Learning Curve Analysis for Programming: Which Concepts do Students Struggle With? by Kelly Rivers et al. and Using Peer-Led Team Learning to Increase Participation and Success of Under-represented Groups in Introductory Computer Science by Susan Horwitz and Susan H. Rodger and completed the write-ups. I also finished mapping the network drive so that I could access my CS account from my computer and installed Visual Express so that I could more easily edit the HTML files. I then worked on transferring this website from Tumblr to my CS page. I also worked on more Alice tutorials (Creating a Fancier Chicken-- Inheritance, Bunny Eat Broccoli: Repetition-- Simple loops and Conditional loops, Template World: Click on the match).

Day 5: 5/26

I worked through the princess and dragon and skater world Alice tutorials, as well as the two focusing on scene changes (Scene Changes using Environment Darkening and Scene Changes using a Lens Cap). I also did eight others: Lights Camera Action! Part 3: BDE Events, Timer Tutorial, Creating Poses in Alice, Changing Camera Views!, Lights, Camera, Action! Part 2: Light, Simple Quiz, Repetition Everywhere-- comparing while in a method and as an event, and Changing Color: Advanced Functions. .

Week Two

Day 6: 5/30

I finished the Harry Potter challenge that I ended on last time. I did two other challenges (Trigonometry Prom and Calculator Challenge), and then the solar system tutorial and Alice Pong. I spent time going back through HTML concepts while working on this website. I focused on creating a centered horizontal navigation bar and a header. I also completed the human subjects research certification and read How Kids Code and How We Know: An Exploratory Study on the Scratch Repository by Efthimia Aivaloglou and Felienne Hermans.

Day 7: 5/31

I finished reading and wrote the summary for a paper I had started yesterday, Mediated transfer: Alice 3 to Java by Wanda Dann. Then I worked through two of the Alice 3 tutorials (The Introduction to Alice 3: Witch's Cauldron and Making Objects Move in Unison), and tried out some unscripted ideas. I also read five other papers: With a Little Help From My Friends: An Empirical Study of the Interplay of Student Activities, Programming Activities, and Course Success by Adam S. Carter and Christopher D. Hundhausen, The Role of Spatial Reasoning in Learning Computer Science by Amber Solomon, Factors Influencing Computer Science Learning in Middle School by Shuchi Grover et al., Initial Results of Using an Intelligent Tutoring System with Alice by Stephen Cooper et al., and Some Trouble with Transparency: An Analysis of Student Errors with Object-oriented Python by Craig S. Miller and Amber Settle.

Day 8: 6/1

I read Lightweight, Early Identification of At-Risk CS1 Students by Soohyun Nam Liao et al., Learning to Program: Gender Differences and Interactive Effects of Students' Motivation, Goals, and Self-Efficacy on Performance by Alex Lishinski et al., and A systematic review of approaches for teaching introductory programming and their influence on success by Arto Vihavainen et al. I also went back through all of these daily entries to include more detail. We took pictures of each other for headshots and I cropped them and uploaded them to the shared directory. I also did the second, shorter princess and dragon tutorial, as well as the sharing Alice and making folders tutorials.

Day 9: 6/2

I recreated the "shorter of two objects and changing color" tutorial with the random numbers and the snowman in Alice 3. This was more difficult than expected because in Alice 3, color is not a comparable type. That is, you cannot say "if snowman.getPaint==blue", because snowman.getPaint returns a Color type, and colors cannot be compared. I got around this by creating a String that held the color of the snowman, but it is an inconvenient workaround. I took screenshots as I worked through the world, and started working on writing up the tutorial.

Week Three

Day 10: 6/5

I wrote up the rest of the tutorial for the snowman comparison Alice world. I created a Google Doc to keep track of differences between Alice 2 and Alice 3, which can be found here. I also wrote the code for the first scene change tutorial in Alice 3, and took screenshots.

Day 11: 6/6

I made some edits to the scene change world and wrote the tutorial. I also walked the path from the LSRC to the Cambria Inn and back, and then from the LSRC to the parking lot and from the LSRC to the Fitzpatrick Center. I wrote the code for the timer tutorial in Alice, and read through and did Jonathon's tutorials, to catch bugs and typos. We also all went to a talk about AI.

Day 12: 6/7

I wrote the tutorial for the timer, and edited the sceneChange tutorial in response to feedback.I also worked on a solar system tutorial that would allow users to work with textures. I tried it first in the way that the Alice2 solar system tutorial was set up, but I struggled with planets that got so small and so far apart that they were near-impossible to see.So I started over and created a pared-down version of the solar system that only uses two planets. Since the real point is to get practice with textures, bringing in nine planets seemed excessive.

Day 13: 6/8

I wrote the tutorial for the solar system world, and edited the timer tutorial in response to feedback. I also worked through Vicki's tutorial and gave her feedback. I started work on a Sudoku world, which will focus on using listeners. Because the beginning creation is so complicated and tedious, this will serve as a challenge, where the user just has to finish the world. I will provide the Sudoku board, the student just has to code the listener parts.

Day 14: 6/9

We went to Costco to pick up snacks for the upcoming workshop. I worked more on my Sudoku game-- the problem I've been having is that the text is too small to be clickable, so I have to put invisiable billboards behind every clickable piece of text, which is not hard but is fairy time consuming. I also read two essays: An Innovative Approach with Alice for Attracting K-12 Students to Computing by Susan H Rodger and Active Learning in Small to Large Courses by Owen L. Astrachan et al..

Week Four

Day 15: 6/12

I finished writing the summary for a paper that I read yesterday. I continued to work on the Sudoku game, finishing the setup (establish all of the billboards and setting their opacity) and started to work on the event listener code. I also slightly modified my plan, based on the relative difficulty of the work. Finally, I worked on roommate matching for the App Workshop-- I collated names and information into a separate Google Doc and made sure all of my information stayed constant across both Google Docs.

Day 16: 6/13

I had to give up on the Sudoku game because it turned out to be near impossible to link the text and billboards. I might come back to it if I have a stroke of inspiration for how to do it more effectively, but for now I wanted to move on. I started working on a memory matching game, the sort where the player turns over two cards at a time and tries to find matches, which then vanish from the game board. I successfully completed the game, then successfully went back through and got the cards to randomize their order, so the game isn't the same every time.

Day 17: 6/14

I continued to work on the memory matching game-- I completed the actual game yesterday, but I had to decide what I would have the student do, and then delete those parts and leave comments. I also slightly edited the game as I went. I created a tutorial to go along with the Alice world. We also all went to a talk about behavior prediction of petascale filesystems.

Day 18: 6/15

I edited the memory game and tutorial in response to feedback in order to make it more understandable. I also changed the game to fix a bug, where you could mess up the game by clicking the next card before the previous two had turned back over, because the parameters hadn't fully reset yet. Now the user cannot break the game. We went to a talk about constrained Bayesian optimization with noisy A/B tests by someone who works with Facebook's data analysis group.

Day 19: 6/16

I created a headshots world in Alice 3 to go with the Alice 2 version. I also created a tutorial to go along with it. I read Introducing Computer Science Through Animation and Virtual Worlds by Susan Rodger and wrote up a summary.

Week Five

Day 20: 6/19

The Alice workshop began today. We helped set up and hand out parking passes, then the workshop worked through the shark tutorial and the first two parts of the princess and dragon tutorial. We helped people who were struggling and explained concepts.

Day 21: 6/20

The Alice Symposium occurred today, so we listened to talks from people who have participated in the Alice project for a long time. We also heard testimonies from teachers who have implemented Alice, and saw projects that their students had created. We helped out in carrying things and also confirmed all the names of the people attending the Alice symposium but not the workshop.

Day 22: 6/21

We helped the teachers work through the second and third parts of the princess and dragon tutorial and listened to talks and demos. We also helped with storyboarding for a princess and knight story.

Day 23: 6/22

We did the How tall are you? tutorial and I walked the teachers through the headshots tutorial. We also discussed sharing Alice and did the kangaroo visit tutorial. We took pictures, and the teachers did the bunny eat vegetables assessment. We helped to answer questions and explain concepts.

Day 24: 6/23

The teachers did the snowman changing color/random number tutorial and Dr. Lucic gave a talk on Alice for mobile. We also went to a talk about geometric algorithms for highlighting similarity in data.

Day 25: 6/24

I presented through the tutorial for lists. We also helped answer questions throughout the day. Over lunch we took a group of people on a walking tour to the chapel and then to Cameron. They worked through the Bunny Eat Broccoli tutorial, the Fancy Chicken inheritance tutorial, and the Scene Change tutorial.

Day 26: 6/25

Jonathon showed some Alice 3 tutorials he had made and we talked about the difference between Alice 2 and Alice 3. Vicki showed the BDE tutorial and we talked about some variations on the scene change tutorial. The teachers worked on their lesson plans and we advised them on how to carry out certain concepts and whether or not their ideas were possible/practical.

Week Six

Day 27: 6/26

We uploaded all of the Alice 3 worlds we've created so far to the Alice website. We also uploaded the tutorials in powerpoint/pdf form. We edited the index to link directly to all of the Alice worlds, including ones from past years. The teachers worked on tutorials and we helped to answer questions.

Day 28: 6/27

People worked on their projects and the first few people presented them. We helped people with various issues.

Day 29: 6/28

People presented the rest of the projects and certificates were handed out.

Day 30: 6/29

I built the spinner project for Ms. Poteat-Okafor and emailed it to her. I also worked on the battleship world for Ms.Biscombe, although I'm not sure how practically doable it will be, and I might not be able to make it work without adding so much material to the world that it crashes. I also worked on the spreadsheet of teacher submissions, and edited the internal peer evaluations that entered the wrong ID number. Finally, Jonathon and I created an excel file inside every teacher's Google Drive folder and copied their feedback into it.

Week Seven

Day 31: 7/5

I built the Alice world a teacher requested with randomized quiz questions. Vicki and I went to the talk about logic and security within muti-domain systems. I edited the app workshop spreadsheet based on updates from the weekend and emailed it to Professor Rodger and Dr. Lucic. Hopefully when this gets finalized with the hotel I'll be able to email out confirmation emails to the attendees. Finally, I went through the demographics survey results and created pie/bar graphs to go along with the non-short answer questions.

Day 32: 7/6

I worked on providing feedback on lesson plans to the teachers. We created feedback folders in each teacher's Alice world, which have up to three files: the excel file of feedback from the surveys taken while they presented, a doc with feedback on their princess knight world, and a doc with feedback on their final world and lesson plan. We also created another excel document that keeps track of final world statistics; that is, the different kinds of blocks that teachers used and how often they used them.

Day 33: 7/7

I continued to work on lesson plan feedback. We also met with Dr. Lucic to talk about the upcoming app workshop. We then finished the last of the feedback reports and statistic gathering, as well as editing and re-uploading worlds for users.

Week Eight

Day 34: 7/10

I did the four apps (HelloBD, PaintPot, Magic8Ball, and RamMash) for the upcoming app workshop. Then I emailed all of the attendees with their confirmation number and their roommate,as well as additional information about how the workshop will be run. We edited the Alice and app workshop websites to include the list of participants, and put up the relevant logistics (schedule, directions, list of participants and presenters, etc).

Day 35: 7/11

I emailed the commuters for the app workshop to let them know of details and updates. Then we met with Professor Rodger to discuss future plans and what we've done so far. We talked through the worlds we created for teachers and why the remaining ones were implausible to create in Alice. I also updated the website participants page, because one person dropped from the app workshop.

Day 36: 7/12

I exchanged further emails with various workshop participants who had questions or had chosen to drop out of the workshop. I then worked on the new Alice 3 world I'm created, based on the game Rack-o. The basic idea of the game is that you have 10 cards, with numbers that range from 1-40. Players take turns drawing new cards from the deck or taking from the discard pile, and exchanging those cards for the 10 cards they hold. By switching out your cards, you try to get all 10 of your cards in numerical order. The strategy comes in when players have to decide whether they have left enough space in between cards to plausibly draw a card that works in numerical order with the others. This gets into probability, and the user's odds can be improved if they remember cards that have already entered gameplay, as you cannot put a card in your deck if another player has it in theirs. I also emailed Mafe Aguilar about the specifics of her game, as the version she described to us did not seem especially suited for Alice.

Day 37: 7/13

I continued to work on my Alice Rack-o game. The problem that I ran into was that I had created an array with 40 elements, where every element was a String that held the location of that particular card. For example, if card 1 is in the hand and card 20 is on the discard pile, the first element in the array is "hand" and the 20th is "discard". This way I could avoid any cards appearing multiple times. However, I was trying to use the getValue function of the text object to access the array index corresponding to that card, but getValue returns a string and I needed a number to use as an index. I attempted a number of work-arounds before I had to throw in the towel, pause, and plan the game out on paper before pretty much getting rid of all the code and starting over. I finished the single-player mode, and the only thing left to do is to put in a basic computer "player" so that the user has an opponent.

Day 38: 7/14

We had gotten an email back from Mafe, so I paused Racko to work on her project, which is a cybersecurity card game that relies on the user trading cards with other users to get the ones that correspond to the situation they're given. Since Alice games don't work very well as any more than single-player, I created nine character objects to act as the other players, who will hold the other cards. That way, the user can trade with them. I finished the set-up for the game and started to work on the coding. .

Week Nine

Day 39: 7/17

The App Workshop began.

Day 40: 7/18

Worked on the App Workshop.

Day 41: 7/19

Last day of the App Workshop.

Day 42: 7/20

I went through all the extra phones from the app workshop and erased any downloaded programs from them. I also fully transcribed the two interviews that I did, and then organized them into standard structure, with the questions in the right order and a distinction made between speakers. I uploaded those to the Google Drive as docs.

Day 43: 7/21

I analyzed the demographics from Nebraska by going through all of the answers to the multiple choice questions and creating graphs for them that reflected the graphs I had created for the North Carolina demographic results. I also continued to work on Mafe's cybersecurity game.

Week Ten

Day 44: 7/24

I finished Mafe Aguilar's Alice world and emailed it to her. I also read Taking Advantage of Scale by Analyzing Frequent Constructed-Response, Code Tracing Wrong Answers by Kritin Stephens-Martinez et al.

Day 45: 7/25

I emailed the four remaining teachers who had requested worlds about the specifics of what they wanted. Some people asked for things we couldn't do, while some people wanted worlds which already exist in some incarnation or another, and one person's request was vague enough that I wanted further clarification. I also wrote the final report for this summer.

Day 46: 7/26

I wrote my final report about these ten weeks and emailed it to Professor Rodger. Also, Jonathon and I put the files from the app workshop on the Alice website (that is, the PDF tutorials and the image and audio files that accompanied them). We created another page under the "Tutorials" heading and uploaded the four tutorials there, and then linked to it from the app workshop page.

Day 47: 7/26

I edited the final report and submitted the final draft. I also created a Yahtzee game in Alice 3. This turned out to be easier than projects I'd worked on earlier, because when you deal with a game that has a deck of cards, each card can only appear once, so you have to keep track of where they are at all times. With a game based on a roll of the dice, everything is much easier.

Day 48: 7/26

I finished the Yahtzee game and wrote up a paragraph description. We uploaded our last worlds to the Alice website.