Documents

Masters of Engineering Thesis Proposal

Categories
Published
of 11
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Description
Dissertation
Transcript
    Masters of Engineering Thesis Proposal: Explorations of Data Structures in a Programming System for Children   Thesis Supervisor: Professor Mitchel Resnick Tamara Stern 6.UAP Masters of Engineering Thesis Proposal Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology May 18, 2006 1    Abstract Scratch is a media-rich programming language designed for children ages 10-16 by the Lifelong Kindergarten group of the MIT Media Lab. One of the goals of Scratch is for kids to understand basic programming concepts through their endeavors to create animated stories, video games, music videos, and other multimedia and interactive pieces. Currently, the concept of data structures is missing from Scratch. A handful of approaches have been tested in other  programming environments designed for kids, but are often underused because data structure are presented in a very abstract way, with non- visible or manipulable representations. I  propose to design a more concrete and understandable representation of data structures to be added to Scratch. 1. Introduction Scratch is a media-rich programming language designed for children ages 10-16 by the Lifelong Kindergarten group of the MIT Media Lab [1]. Its primary purpose is to enhance the development of technological fluency at after-school centers in economically-disadvantaged communities. Scratch is meant to be a programming environment in which kids can create animated stories, video games, music videos, and other multimedia and interactive pieces. One of the goals of Scratch is for kids to understand basic programming concepts through their endeavors to create such projects. Currently Scratch is missing a major core computer science concept: data structures. Without data structures, kids are limited in the scope of projects they can create and the computer science understanding that they will take away from Scratch. Although the area has been explored, there has not been an understandable and useful model that fits within the Scratch paradigm. My project will be focused on researching past attempts, exploring different methods, and making suggestions for how to ultimately integrate simple data structures, such as lists and strings, into Scratch. Particularly I want to research how to incorporate visible and manipulable ways to represent these types of data. An example of a visible and tangible data structure implementation that I will explore is a table of high-scores for a game. I also want to explore how the user will interact with the data structures. Specifically, I will research the representation, primitives, and functions for the data structures. I will prototype and test my implementations at Computer Clubhouses (after-school centers for youth from low-income communities) in order to see which idea works best with children. The ultimate goal is to enhance Scratch’s creative and educational worth through a richer functionality. 2. Background The Lifelong Kindergarten group in the MIT Media Lab, led by Mitchel Resnick, specializes in designing new technologies that expand the range of what people can design, create, and learn. Specifically, the Lifelong Kindergarten group aims to introduce new technologies and activities in classrooms, museums, and after-school centers, nurturing and studying the growth of communities of playfully-inventive learners [2]. 2   One of the efforts of the Lifelong Kindergarten group is a collection of after-school centers called Computer Clubhouses (see Figure 1). This effort, funded by Intel and run in conjunction with the Boston Museum of Science, is a worldwide endeavor to bring technology to underserved communities who would not otherwise have access to technological tools and activities [2]. The culture of computer clubhouse is one of self motivation, as kids choose to work on projects in which they have a  personal interest. Figure 1: Kids at a Computer Clubhouse. 2.1 Computer Clubhouse Cultures Many informal cultures have developed in Computer Clubhouses. For example, a visual-design culture has emerged where children are creatively expressing themselves with professional graphic-design and image-processing software. Clubhouses have also developed a thriving music-production culture. These cultures are very productive in the clubhouse, but they do not engage kids in programming as a form of self expression. The Lifelong Kindergarten group believes that it would be useful to encourage kids to express themselves, create projects they care about, and understand core computational ideas and concepts. In response to these beliefs, the group decided to build Scratch, with the goal of introducing a “programming culture” at Computer Clubhouses [3]. 2.2 Scratch Programming Environment Scratch is a programming environment, built on the Squeak programming language, that enables kids to create their own animations, videogames, interactive newsletters, music, simulations, and interactive art. Scratch builds on the tradition of other educational programming languages, such as Logo [4], but takes advantage of new computational ideas to make it easier to get started with programming and extend the range of what kids can create and learn [5]. Figure 2: Scratch layout Blocks Pallet Scripting Area Object Library Stage The basic layout of Scratch includes a “stage” where programmed objects interact, an object library, a scripting area for programs, and a  blocks pallet which contains a list of  programming blocks that can be used to build scripts (see Figure 2). 3    3. Goals The goal of this project is to design a data-structure model for Scratch that is conceptually straightforward and easily used. The resulting model should exhibit these properties:    Visible . The data should be visible to the user as opposed to hidden in memory. I will experiment with ways to have a concrete and clear representation of the data.     Manipulable . I want kids to feel comfortable directly manipulating the data, by editing and touching it directly on the screen.    Tinkerable . Kids should feel able to “tinker” with data structures and the commands for manipulating them by quickly and easily changing them and observing the outcome.    Useful . The addition of data structures into Scratch should provide children with new opportunities for creative expression.     Easily Learned  . The model should be easily learned such that a user can figure it out on his or her own, as Scratch is meant to be used in informal settings outside of the classroom.    Fits Within the Scratch Paradigm . The resulting model should make sense within the current Scratch feel and fit with other Scratch metaphors. 4. Previous Work Currently, there are several other programming languages, similar to Scratch, that are designed specifically for kids. These programs have integrated data structures in various ways into their software. Although some other programs might have some other goals, and their models might not be fully applicable, there are lessons to be learned by looking at them. These examples will serve as informative examples to which I will refer when beginning my own development of data structures in Scratch. 4.1 Data Structures in Boxer Boxer is a programming environment, designed in 1986, that is determined by two key principles  – the spatial metaphor and naïve realism [7]. Pieces of data are grouped together in zoom-able  boxes. Figure 3 shows how a phone  book database would be implemented using Boxer. An overarching phone-book  object contains a list which stores the entries of the phone book, a function-1-key  function which changes the phone number of a person in the phone book, and two variables, number  and name , which are provided to the user in order to add people to the  phonebook. Figure 3: Data Structures in Boxer While this approach is very visual and tangible, the Boxer metaphor is quite different from the Scratch metaphor. However, this approach of zoom-able boxes in order to make all parts of a program completely tangible is 4
Search
Tags
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks