Alice Project 2017 Journal - Jonathon Kuo

Alice Project 2017 Journal
Jonathon Kuo

Duke CS Logo

Daily Logs


Week One

Monday, May 22nd

Aside from getting set up in our office, I spent the day continuing to learn HTML and CSS and working on this website. Additionally, I began to become familiar with Alice Version 2 by experimenting with the interface and reading supplemental materials.


Tuesday, May 23rd

To begin the day, I completed the Duke Responsible Conduct of Research Training, learning about proper methods of data collection, analysis, and publication. Next, I became familiar with basic Alice concepts by completing our "Shark Attack!" tutorial. Through this introductory tutorial, I learned about scene setup, cameras, objects, methods, and events in Alice. Taking a break from learning Alice, I gained more perspective on the language and project by reading Dr. Rodger et al.'s paper, Growing a K-12 Community of Practice. This paper is cited and summarized below (reachable via the link). Looking to become more familiar with Alice, I completed the longer "Princess and Dragon Version 2 - Introduction to Alice" tutorial, which solidified my understanding of the basics and also introduced loops, properties, functions, and the difference between object-level and world-level methods. Additionally, I read a few of the lesson plans created by previous workshops' teachers to gain a more concrete understanding of the applications of Alice. Finally, I completed a couple more tutorials - "How Tall Are You? Introducing Decisions and the use of Functions" as well as "Headshots in Alice" - to learn more about Alice and its features.

Relevant Papers:


Wednesday, May 24th

To start, I gained a broader view of the work by reading a few more papers about the Alice Project, including Weaving Computing into all Middle School Disciplines as well as Integrating Computing into Middle School Disciplines Through Projects. These are cited and summarized below. I then completed some of the topical Alice tutorials, to learn more about the specifics of the language. The tutorials included: "Kangaroo Visits Friends: Making Methods More Flexible with Parameters", "Changing Color: Advanced Functions", "Creating Simple Objects with Shapes and Textures: Texture Maps", "Making Objects Move in Unison: Using Lists", and "Bunny Eat Broccoli: Repetition - Simple loops and Conditional loops". These tutorials introduced me to Alice's implementation of parameters and variables, custom functions, textures and texture maps, lists, and repetition/iteration. To end the day, I read a few more papers, including Engaging Middle School Teachers and Students with Alice in a Diverse Set of Subjects, Enhancing K-12 Education with Alice Programming Adventures, and Influence of the Familiarization with Scratch on Future Teachers' Opinions and Attitudes about Programming and ICT in Education. Summaries and citations are below.

Relevant Papers:


Thursday, May 25th

To start the day, I completed the remaining tutorials in the recommended sequence (all of the tutorials from a workshop). This included: "Scene Changes using Environment Darkening", "Creating a Fancier Chicken - Inheritance", "Sharing Alice", "Lights Camera Action! Part 3: BDE Events", "Simple Quiz", "Lights, Camera, Action! Part 2: Light", and "Changing Camera Views!". By this point, I felt pretty familiar with Alice and how to use it. I also spent some time setting up my Duke CS account and transferring this website from github to my Duke CS page. I then read Minimizing to Maximize: An Initial Attempt at Teaching Introductory Programming Using Alice. A summary and citation can be found below.

Relevant Papers:


Friday, May 26th

I completed the Duke IRB training for research with human subjects, as our research will involve working with, and collecting information from, teachers. I then installed Alice 3 and began to work with it. I completed a few of our tutorials on it, including: "The Introduction to Alice 3: Witch's Cauldron", "Alice 3 Functions Video Tutorial", "Alice 3 Parameters Video Tutorial", "Alice 3 Making A Quiz Tutorial", and "Making Objects Move in Unison: Using Lists". I then read a few papers (Spatial Skills Training in Introductory Computing and Initial results of using an intelligent tutoring system with Alice). Summaries and citations are below. I also spent some time on some more Alice 2 tutorials, including: "Making Folders in the Local Gallery" and "Checking for Collisions Within a List". I then did the "Astronaut on Moon" tutorial for Alice 3.

Relevant Papers:


Week Two

Monday, May 29th

Memorial Day Holiday


Tuesday, May 30th

I read a couple of papers, including Mediated transfer: Alice 3 to Java and Factors Influencing Computer Science Learning in Middle School. Summaries and citations can be found below. I then became more familiar with our Alice 2 materials, completing a few more tutorials: "An Introduction to Alice", "Getting Started with Alice", and "Skater World: Learning to Program". I also spent some time learning more about HTML and CSS on w3schools. I also made some major changes to this website, including the addition of a navigation bar that follows the scroll of the user.

Relevant Papers:


Wednesday, May 31st

I started the day continuing to improve this website and learning HTML/CSS. We spent lunch attending Dr. Rebecca Steorts' talk on Entity Resolution and Machine Learning. I then read Bringing Computational Thinking to K-12: What is Involved and What is the Role of the Computer Science Education Community?. A summary and citation is linked below. Also, I completed the "Harry Potter Math Challenge" to become more familiar with the challenge format. I then brainstormed ideas for Alice 3 tutorials and ways of converting some of our Alice 2 tutorials to Alice 3. I started to attempt to do this with the "Bunny Eat Broccoli" tutorial.

Relevant Papers:


Thursday, June 1st

To start, I completed the roommate matching for the Alice followup workshop. I then read Teaching Objects-first In Introductory Computer Science and summarized it below. I then continued to work on converting the "Bunny Eat Broccoli" tutorial to Alice 3 as "Monkey Eat Bananas".

Relevant Papers:


Friday, June 2nd

I continued to work on my "Monkey Eat Bananas" tutorial, trying to emphasize the same topics as the "Bunny Eat Broccoli" tutorial. I finished the powerpoint tutorial. The tutorial focuses on repetition through for and while loops. I then brainstormed other conversions to Alice 3. I worked for a while to try and find a way to do something similar to textures in Alice 3, without any obvious solutions that worked for all objects. After some more exploration with Alice 3, I started to work on creating an Alice 3 tutorial for sharing your creations (video and code). I read Using visualization to teach novices recursion, and summarized it below.

Relevant Papers:


Week Three

Monday, June 5th

Out sick.


Tuesday, June 6th

I finished the "Sharing Alice 3" tutorial powerpoint. I then worked on converting the "Creating a Fancier Chicken to use in several worlds - Inheritance" tutorial to Alice 3. After spending lunch listening to Dr. Vincent Conitzer speak on his artificial intelligence research, we mapped out the route to walk from the hotel to LSRC. I updated the html page for both the long and short routes. I also updated the page for routes to Fitzpatrick as well as from the Circuit Drive parking lot. The page can be found here. I also made some minor changes to my tutorials when Nat spotted some small errors.


Wednesday, June 7th

After making some minor changes to the maps page for the workshop, I tested out the upload to YouTube function in Alice 3. This function appears to not work for us, and I changed the "Sharing Alice 3" tutorial to reflect that. I then continued to work on converting the "Creating a Fancier Chicken to use in several worlds - Inheritance" tutorial to Alice 3. After more experimenting with Alice 3, I realized it was not possible to make object events, nor are object properties like color savable. This means that the Alice 3 tutorial will have to be very different, because inheritance works a little differently in that code can be written for classes of objects. I then completed Nat's "Making a Timer" tutorial to see if any edits should be made. I then read Children learning computer science concepts via Alice game-programming, and summarized it below. I then sent an email to each of the attendees of the follow up workshop containing their hotel information. I continued to work on the Alice 3 inheritance tutorial, designing a new tutorial based on how inheritance works in Alice 3.

Relevant Papers:


Thursday, June 8th

I continued to work on the Alice 3 inheritance tutorial. The tutorial focuses on creating a modified fox that inherits everything a standard fox can do and also introduces how Alice 3 uses classes to implement inheritance. Specifically, all quadrupeds are taught to gallop.


Friday, June 9th

We went to Costco and picked up snacks for the workshop. I finally finished making the Alice 3 inheritance tutorial! Throughout the day, I helped Vicki with her hula hooping program. I read a few papers, including: Evaluating the effectiveness of a new instructional approach, Comparing alice, greenfoot & scratch, and Education: Alice 3: concrete to abstract. I also continued to brainstorm more ideas for Alice 3 materials.

Relevant Papers:


Week Four

Monday, June 12th

I started to work on an assessment for the Alice 3 inheritance tutorial, first by brainstorming a way to test people on the concept. I decided to have the user code one method to control 3 objects of the same class. I then worked on building the world in Alice and started the powerpoint.


Tuesday, June 13th

I finished creating the inheritance assessment for Alice 3. I then proofread and completed Vicki's user interaction assessment. I then worked on converting the Alice 2 Looping Assessment to Alice 3 for the "Monkey Eat Bananas" tutorial. I finished creating this Looping Assessment. I then proofread and completed Vicki's user interaction tutorial. I then brainstormed other assessments for Alice 3.


Wednesday, June 14th

I created an assessment for the decisions and functions tutorial for Alice 3, largely basing it off of the parallel assessment created for Alice 2. I proofread and completed Vicki's billboard tutorial. We spent lunch listening to graduate student Bing Xie speak on her research on supercomputer output. I then worked on converting the parameters assessment to Alice 3. After completing that assessment, I started to work on converting the lists assessment to Alice 3.


Thursday, June 15th

I continued to work on the lists assessment for Alice 3 and completed it. We spent lunch listening to Ben Letham from Facebook talk about his work on Bayesian optimization on A/B tests. I then proofread and completed Vicki's multilayered object clicking tutorial. I also proofread and completed Nat's event listener assessment. I also started working on a hangman world.


Friday, June 16th

I continued to work on the hangman world, wherein a shark approaches a swimmer as the user attempts to guess letters of the word. I allow the user to input the number of incorrect guesses allowed, and the words are randomized each time the game is played. We also reviewed the logistics of the workshop starting next week. I brainstormed how to make an assessment or challenge out of my hangman game. I also read K-12 Computational Learning.

Relevant Papers:


Week Five

Monday, June 19th

The beginner workshop began today! I helped with tutorials and even got to hear a lot about Dr. Stephen Cooper's experiences as I picked him up from the airport.


Tuesday, June 20th

The symposium was today! We listened to a few talks by researchers and Alice professionals. I also got to learn more about Dr. Cooper's career as I drive him back to the airport.


Wednesday, June 21st

I helped the teachers work through a few tutorials, including the Princess Dragon Part 3 that was led by Vicki.


Thursday, June 22nd

In addition to helping with tutorials, I led a tutorial on functions and decision making.


Friday, June 23rd

Again, I helped teachers work through tutorials, and I led a tutorial on texture mapping.


Saturday, June 24th

I helped the teachers work through tutorials on repetition and inheritance.


Sunday, June 25th

I demoed some of the work that we have finished in Alice 3. I also helped work through the BDE tutorial and helped teachers work on their lesson plans.


Week Six

Monday, June 26th

We updated the website to contain all of the Alice 3 materials that we have completed. I also helped work through a few tutorials and with lesson plans. We also took teachers to the DiVE, which was a very cool experience.


Tuesday, June 27th

I helped the teachers work on their lesson plans and worlds.


Wednesday, June 28th

The beginner workshop ended today! The teachers finished presenting their lesson plans and received certificates for the course.


Thursday, June 29th

I began the day by working on teacher-requested worlds, including a biome world that showcased different environments in the world. I also worked on getting the feedback from the lesson plan presentations back to the teachers. Additionally, I summarized the feedback that was left for us. We also worked on figuring out who still needed to turn in lesson plan materials.


Week Seven

Wednesday, July 5th

I worked on looking through some of the teachers' Princess Knight worlds while modifying them and providing feedback.


Thursday, July 6th

I began the day by finishing the feedback for all of the Princess Knight worlds that had been turned in. I wrote feedback for everyone, and modified a few of the worlds to demonstrate suggested fixes.


Friday, July 7th

I worked on providing feedback for teachers' lesson plans and worlds. We also met with Dr. Lucic to discuss the specifics of the app workshop. We finished all of the feedback for all of the lesson plans that had been submitted.


Week Eight

Monday, July 10th

I began the day by completing all of the App Inventor tutorials that we will be doing in the workshop next week. I also edited the Logistics, Presenters, and Schedule webpages for the App Workshop.


Tuesday, July 11th

To get more of a grasp of what happens behind the scenes with App Inventor, I experimented with Android app programming in Java and xml. This helped me better understand how App Inventor works and how it can be used. We met with Professor Rodger to discuss our progress and the steps to take next. I also uploaded Jack and Erich's Alice worlds to the webpage. I brainstormed more ideas for Alice 3 materials.


Wednesday, July 12th

I brainstormed some more about new Alice 3 materials. We completed the pre and post test content assessment so that we would have an answer key. We attended Professor Munagala's talk about his research on opinion formation in a network. I wrote a python program to grade the assessments and analyze the data from the Alice workshop. I worked on analyzing the data from both the North Carolina and Nebraska workshops.


Thursday, July 13th

I continued to work on analyzing the data from the content assessments and aggregating the results for North Carolina and Nebraska to provide a total outlook. I also wrote a summary of the analysis.


Friday, July 14th

I read a couple papers, including Automatic Grading and Feedback using Program Repair for Introductory Programming Courses and An Automated System for Interactively Learning Software Testing. I also worked on putting Wilfredo's pictures on the workshop website. I then brainstormed and started to build more materials for Alice 3.

Relevant Papers:

Week Nine

Monday, July 17th

The app workshop began today. We went through introductions, a few discussions, and a beginner tutorial.


Tuesday, July 18th

The app workshop continued today. We went through a couple more tutorials and discussions.


Wednesday, July 19th

The app workshop concluded today. We went through another tutorial and wrapped up with discussion.


Thursday, July 20th

I transcribed the interview I had with Ann Cherry about her experiences with Alice. I also started to upload teacher lesson plans and worlds to the website. We also met with Professor Rodger to discuss remaining tasks.


Friday, July 21st

I continued to put teacher worlds and lesson plans. I also started to investigate the meaning behind some of the statistics that Alice outputs. I read the paper, Taking Advantage of Scale by Analyzing Frequent Constructed-Response, Code Tracing Wrong Answers and summarized and cited it below.

Relevant Papers:

Week Ten

Monday, July 24th

I finished putting all of the teacher worlds and lesson plans on the website. I also worked on deciphering the stats output by Alice 2.


Tuesday, July 25th

I worked on writing a final report that details all of the work I have completed this summer. I also continued to investigate the statistics of Alice 2.


Wednesday, July 26th

I continued to work on finding relationships between the world statistics and actual worlds in Alice 2, with little success. I attempted to contact the Alice team at CMU to see if they had any explanation readily available. Additionally, I worked on putting Professor Lucic's App Inventor materials on the website. I also put Vicki's collision detection tutorial on the website under the Alice 3 materials. After brainstorming my next Alice project, I decided to make a game like Simon, where you have to remember a sequence of commands that got longer with each turn.


Thursday, July 27th

I received an email from Don Slater explaining that the world statistics are likely in error, so those are not usable. I worked on and completed the pattern memory game in Alice 3 and named it Panda Pattern.


Friday, July 28th

I wrote a description for Panda Pattern, outlining its major structures. After lunch at Dame's with Professor Rodger, I also uploaded all of our most recent worlds to the website.