Kevin's Web Portfolio



Kevin Lee & Enky Zurgaanjin's Review:Alice 1.0, 2.0, and Through the Looking GlassDate: 5/21/2011Conceptual Overview of AliceAlice is a program that is used in numerous introductory level computer science courses across the country. Further revisions (such as Alice 2.0/Storytelling Alice and Through the Looking Glass) were developed to help instruct middle school children in the art and science of computer programming through the usage of tools that allows for students/learners to create their own storyboards, stories, and then give them life by allowing the student to program behaviors into three-dimensional models. The goal of this particular toolkit was developed in order to spark interest in computer science in both children and adults alike by providing a relatively simple to use interface (drag and drop,) which in turn, helps spark more interest in the basic principles of computer programming without having to deal with syntactic issues that constantly plague many other computer-science languages. Seeing as there is no extra syntax for a student to remember, students are able to focus on the fundamental principles of computer programming without the extra aggravation of a misplaced semicolon or extra curly bracket that sometimes plague programmers. Another goal of the toolkit was to appeal to specific groups of students and learners whom are NOT found within the traditional viewpoint of computer science departments. For example, the developers of Alice attempted to create a program that would captivate and hold the interest of middle school aged girls; they were able to achieve this through the development of a storytelling mechanism. This is a clear contrast to numerous other programming languages found in universities, colleges, and schools across the country, where the focus was on computational modeling as opposed to storytelling. Computational modeling is a wonderful and essential element of the programming experience; it still consists of the overwhelming majority of work that is assigned As a result, the product allows for emergent learning to take place, as well as offers an extensive focus on storyboarding and storytelling, thus leading to the consistent generation of new content that does not actively come with the toolkit. Furthermore, because of the 'adaptive' nature of the product; that is the user is able to adapt the program to fit their needs, which in turn, allows the user to explore more advanced topics and gives them confidence in being able to comprehend and distill more difficult computer science concepts into a simply visual, and therefore, easier to use interface. Educational PhilosophyThe educational philosophy that Alice seems to convey would be the constructivist philosophy. By attempting to teach computer science in a kind and friendly environment, where the user/learner can attempt to experiment around while creating their materials. Much like Scratch, the user can make mistakes and then modify their own programs while learning how to situate themselves more effectively. (Papert, 1980) I would like to stress, for example, the fact that the computer program can be used for students to not only modify content given through textbook style exercises, but also be able to grow, develop, and generate their own content. Children can identify there they make mistakes in the program, for example, and then have the ability to change and modify their program to see fit. (Papert, 1991) Examples of Class-Based ActivitiesFor an introductory level class based activity, (especially for middle school and high school students) the authors would prescribe an activity that is also similarly creatable in Scratch, where the learner or student (or group of students) in question would create a little story about themselves that would help explain a little bit about themselves. Perhaps they could use some of the models found within the program, or find a way to create their own models and methods. One possible limitation of this particular exercise might be the intrinsic difficulty that exists when attempting to change environments; similarly to Scratch, many children do not necessarily think of changing the frame of the story. In fact, while performing the Scratch activity, it took the programmers of that particular exercise a long time to create a system through which they could easily debug. The authors feel a slight hesitation when recommending a similar exercise to children unless they know how to do it first; the authors will also provide a tutorial on how to how to perform 'story frame' changes so that it will be easier for future generations to adapt. An exercise that might be more difficult would be a longer presentation, where the group in question would be given an arbitrary topic or fairy tale and would have to code it from scratch. If the models didn't exist within the library, they could either ad-lib (by utilizing existing models within the library) or they could stand to create several of their own from scratch. Likewise, they could utilize this program to do more 'complex' things such as recreate historical events (in a way that they see fit.) They could perhaps reenact the Gettysburg Address, the Pearl Harbor Attack, or even create their own alternative historical events. History and English teachers, in conjunction with Computer Science instructors, can have their students create, recreate, retell, or reinterpret events and stories. For Computer Science classrooms, the toolkit and accompanying purchasable textbooks comes with materials designed to help instruct students on the basics of object oriented programming. Materials, it is claimed by the developers, can be used within introductory level classrooms spanning over four to six weeks of time and can also be interspersed with other programming languages (such as JAVA) in order to teach about object-oriented programming to novice programmers without bogging them down with extrinsic details about syntax within JAVA while giving them the important knowledge about the semantics typically found within computer programming. This sort of curriculum has been well-received by numerous introductory computer science departments across the country, where careful and strategic applications of Alice has been found to yield better rates of retention and improved grades amongst first-time programmers with little to no experience in the field of computer science. A few sample activities will be posted along with this packet, so that people can dive right into the toolkit. Furthermore, as stated before, it is absolutely a good idea for the new user or learner to first perform the included- tutorials. They're incredibly well structured, well-defined, and very particular and accurate. Then, after gaining a basic mastery of the introductory level material, they could construct their own environments, cartoons, games, or whatever project they wish to program. Student-Based StudiesAt Carnegie Mellon University, where Alice was developed, Alice is one of the primary languages that is used to instruct incoming students. For students whom used Alice, it had been found that it was a much more effective interventional tool for students whom were having trouble with their introductory level computer science courses. Under the guidance of Dr. Randy Pausch, a study was performed with freshman and sophomore level students in the computer science department, where he tested whether or not incoming students with similar backgrounds would perform better or worse when utilizing the Alice environment then without. At Ithaca University and St. Joseph's University, Alice was also co-opted into their introductory level courses. Alice, as a whole, was extremely well received by the incoming student population of the computer science department. During the year of introduction, students taking their first-ever computer science course had their average grades rise from a C to a B; and retention within the computer science department rose from forty seven to eighty-eight percent. Analysis of Alice's AchievementsI would argue that the product has been extremely successful in reaching its goals. As stated before, students whom used Alice within their introductory level computer science courses have consistently reported greater rates of satisfaction with computer science and have led to increased rates of retention. Furthermore, with greater improvements being shown in Alice 2.0 (aka Storytelling Alice) and Through the Looking Glass, Alice has been found to be a wonderful platform through which many young children learn computer science. The leading researcher of the Alice 2.0 project, Caitlin Kelleher, has found that a full three times of users within the study (most of which were middle school-aged girls) of Storytelling Alice had a greater propensity to spend extra time programming and learning about programming concepts. Furthermore, forty-two percent of the children dedicated MORE time towards the development and coding of their programs. And interestingly enough, even with the additional emphasis on 'fun,' it had been found that these children were picking up as much, if not more so then those whom were learning through Alice 1.0. Strengths of AliceAlice is a very robust tool that allows users to create effective presentations. The interface, which is drag and drop, is very intuitive. (I would, however, recommend a user to spend perhaps a few hours with Scratch first. Alice is a wonderful tool, but seems to be the bridge between a more complex, text-based programming language and those simple drag and drop web-programming interfaces.) One of the greatest strengths of Alice is its usability; it's designed to teach fundamental concepts about computer science while providing a great test-bed for users to experiment with models, environments, and methods. Without having to actually type any actual code, a user can create a full-fledged environment. What is regularly daunting for many students entering into introductory level computer science courses is the fact that they are afraid at looking at lines of code. The fact of the matter is that Alice helps avoid this It is our belief that another of its greatest strengths is the fact that a whole library of models is provided for the user, along with the fact that a lot of methods are provided for the user to operate. Children do not have to spend time reinventing the wheel through their attempts to recreate potential storyboards; a full lexicon of environments and three-dimensional models exist for the user. Therefore, children are able to spend the supermajority of their time actually making their storyboards instead of trying to use Photoshop or some other graphics/three-dimensional modeling tools in order to create usable models. By providing a library for the user to play with, a user can launch right into learning the program.The authors of this review have also utilized the three tutorials that were given in-program, and we were quite impressed. The tutorials that came with the program were very solidly written; they were almost more than enough by themselves to help get the user up to speed on the interface and usability of the product. If these tutorials weren't enough, there are actual textbooks that are also orderable through Prentice Hall. Seeing there is a bevy of materials that is dedicated to the ease of proliferation and spread of usage amongst the general educational population, combined with the fact that it has free and effective tutorials, the program is highly effective in its attempt to create a user friendly and user centric interface. One more great strength about Alice that many people will overlook is the fact that because the code is so modular and easy to learn, it makes group projects infinitely easier to perform. Whereas other computer science courses operate upon the premise of computational-based programming, which in turn, leads users and programmers to develop their own particular algorithms, Alice allows for collaboration and collaborative efforts to easily take place. Because the code exists within very simple methods (and nearly every user uses equivalent code,) all it takes for simple group work to occur is to have each group member agree to use similar coding structures and styles (which is hard to deviate from because Alice's coding structure is so intuitive.) All it would take would be one person to help unify the people's code together (with relatively little effort) as opposed to having to track down programmers whom use completely disparate types of code when creating their final product. Furthermore, considering the fact that the program is designed for storyboarding and prototyping as opposed to computation and algorithm construction; the very purpose and nature of the work being performed (namely the reconstruction and creation of an event) lends heavily towards the notion that in fact, the work should be performed by groups and in collaboration as opposed to individual projects (although this is also a viable strategy.) This particular form of collaborative learning and instruction, in relationship to many computer programming languages that exist in the educational market, doesn't exist, seeing as many educational programs such as Scheme, (minus Scratch of course) exist to instruct individuals as opposed to teaching group work. With the shifting complexities of the workplace, seeing as group work is becoming a much more effective model to utilize within the classroom, the ability to work collaboratively within the Alice framework is a definite strength of the program. Weaknesses of AliceOne of the fundamental weaknesses that we have noticed about Alice is the very fact that it is a drag and drop interface. This form of interface is wonderful for students to use when programming; it prevents confusion and potentially tedious (and arguably useless) memorization of specific lines of code. This is very valuable set of experience, because debugging is often regarded as one of the most difficult skills that comes with the development of computer programs. By potentially robbing newer level programmers of the valuable experience One could argue, however, that this is of negligible impact for middle school (and perhaps arguably AP/High school level) computer science classes, one could potentially argue that the very fact that a person does not have to manually input or type the code into the compiler may indeed prevent the student from learning important lessons about the syntax of programming lines of computer code. For younger children and introductory level programmers, sometimes the syntax tends to be more of an annoying fixture Especially with the prominence of other computer programming languages, such as C++ and JAVA, these programs requires the user (in order to become competent with them) to understand the rules through which the program is governed; specifically, it helps the student to know even the fundamentals of where to place semi-colons and curly brackets, in order to create an effective program. Students, for example, who have little exposure to the real ways through which code is effectively run therefore. (It must be noted, however, that Dr. Pausch et al has found that students utilizing Alice within their Introductory Level Courses have been found to have just as effective (It is important to note that the author find similar problems as with Scratch; solutions that were usable in Scratch are similar to those within Alice. )Bibliography: Papert, S. (1991), Situating Constructionism, Constructionism, Ablex Publishing CorporationPapert, S & Solomon, C. (1971). 20 Things to do with a computer.Papert, S. (2000) What's the big idea: Towards a pedagogy of idea power. IBM systems Journal vol. 39 no. 3-4 Caitlin Kelleher and Randy Pausch, Lowering the Barriers to Programming: A Taxonomy of Programming: ACM Computer Surveys, Vol. 37, No.2 June 2005, pp. 83-1372 TutorialsFine-tuning your object: To select and move the object To move the object up and down To spin the object aroundTo rotate the objectTo resize the objectMoving your object: There are a set of methods that can be done on the object. In order to teach you the methods, we ask you to use it. On the ice-skating example, we ask you connect the methods to follow the moves of the ice-skater in the following YouTube video: an event for your object:Please try out each event to see what happens. Once each event is selected, you have to fill out the values. For example, if you select “When a key pressed” event, you need to identify which key is typed and what to do when the key pressed. Now, we want you to select “up” key for the first value, and select the “jump” for the next value. After that, please try out the event by pressing the up button. Exercise with the lunar lander: Move the lunar lander up for one meter.Make a full turn.Let the lunar lander to say hi.Make the door of the lunar lander fly away.Make the top of the lunar lander roll a half-wayIf the lunar lander does not touch the moon surface, make the surface color green. Then, create more avatars on the moon’s surface.Let the avatars talk to each other.After that, the whole lunar lander flies away but the bottom part. The moon alien comes in..Before the code:After the code:An example of the coding exercise: ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download