1. Trang chủ
  2. » Luận Văn - Báo Cáo

000062142 Applying Alice Into Teaching And Learning Basic Concepts Of Object-Oriented Programming Áp dụng Alice vào việc giảng dạy và học tập các khái niệm cơ bản của lập trình hướng đối tượng

71 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Applying Alice Into Teaching And Learning Basic Concepts Of Object-Oriented Programming
Tác giả Le Ngoe Hung
Người hướng dẫn Msc. Le Minh Duc
Trường học Hanoi University
Chuyên ngành Computer Science
Thể loại Graduation thesis
Năm xuất bản 2011
Thành phố Hanoi
Định dạng
Số trang 71
Dung lượng 8,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1.1. O b je c tiv e s (8)
  • 1.2. M otivation (9)
  • 1.3. M eth o d o lo g y (12)
  • 1.4. A n O verview o f th e R est o f the D o c u m e n t (13)
  • 2.1. W h at is p ro g ra m m in g (14)
  • 2.2. O bject-oriented p rogram m in g (14)
    • 2.2.1 D e ỉin ỉtío n (0)
    • 2.2.2 B a sic concepts and íeatures o f object-oriented p rogram m in g (0)
  • 2.3. T eaching strategy for learn ing Computer p ro g ra m m in g (15)
  • 2.4. G raph ical Tools in teaching p ro g ra m m in g (17)
  • 2.5. A lice- A basic u n d erstan d in g (21)
    • 2.5.1 Introdu ctỉon o f A lice (0)
    • 2.5.2 A lice m ain fe a tu r e s (0)
  • 2.6. R eview o f other íĩn d in g in the p ast (0)
  • 4.1. Procedure (33)
  • 5.2. Future p la n (39)

Nội dung

000062142 Applying Alice Into Teaching And Learning Basic Concepts Of Object-Oriented Programming Áp dụng Alice vào việc giảng dạy và học tập các khái niệm cơ bản của lập trình hướng đối tượng

O b je c tiv e s

The primary objective of this thesis is to evaluate the effectiveness of using a graphical teaching tool, specifically Alice, to teach and learn the basic concepts of object-oriented programming The research addresses the learning difficulties that arise when object-oriented programming is taught without visualization and highlights the availability of a variety of graphical programming environments that support visualization and hands-on exploration.

In his lecture, Baldwin [19] stated out th at every true OOP language m ust support the follow ing three program m ing concepts:

U níbrtunately, A lice only provides assistance for the íirst 2 concepts (E ncapsulation and Inheritance).

One of the main objectives of this thesis is to study the student's attitude toward the new learning method as well as toward learning programming in general These attitudes are among the most important factors influencing the outcomes and overall quality of students in any computer science program.

This study aims to deepen understanding of object-oriented programming and to boost the motivation of second-year Information Technology students at Hanoi University to learn programming It also evaluates the effectiveness of using Alice as a teaching tool to introduce foundational object-oriented concepts, with a focus on encapsulation and inheritance, within the Faculty of Information Technology.

M otivation

With the rapid growth of the computer industry, learning computer science has become more challenging, especially in programming courses As programming projects scale up, traditional syntax-first approaches may no longer fit the current landscape; introducing an object-oriented perspective from the start helps students build a solid foundation for both study and careers in computing Graphical teaching tools, including the Alice 3D environment, support this approach by making core concepts more accessible and engaging Alice 3D has been adopted in more than 400 universities worldwide, demonstrating the effectiveness of graphical learning tools in computer science education Therefore, applying this approach to teach the fundamentals of object-oriented programming can be more attractive and effective.

Object-oriented programming (OOP) is built on the idea of creating software from objects that encapsulate data and the operations that act on that data Teaching OOP from the beginning of a programming course is urgent because this approach mirrors real‑world problems and improves code organization The core concepts of object orientation are encapsulation, polymorphism, and inheritance Encapsulation hides the internal state and exposes only a defined interface, protecting data and reducing complexity Inheritance allows a subclass to derive from a superclass, inheriting its attributes and behaviors, which promotes code reuse and easier maintenance Together, these techniques enable developers to design more modular, scalable software systems.

Object-oriented programming (OOP) offers several advantages, foremost among them being code reuse and uniqueness through inheritance and encapsulation These features make it easier to modify programs by updating superclass implementations, while also helping students develop a strong sense of structure crucial for handling large projects However, OOP also presents challenges: program size can grow due to runtime inheritance resolution, and inherited code must be resolved from subclass hierarchies, which can affect compilation and execution speed Despite these drawbacks, the benefits of object-oriented programming often outweigh the downsides, which is why most large modern projects are developed in an OOP style This reality supports introducing OOP concepts early in the curriculum to build a solid foundation and foster a more professional learning and working environment in the future.

One major shortcoming of object-oriented programming is the lack of visualization, which creates a significant obstacle for students who struggle to imagine the programs they build This visualization gap makes it nearly impossible for beginners to grasp how objects, classes, and interactions work in real time Employing a 3D animation environment offers an effective solution for introducing basic OOP concepts to novice programmers by visualizing object relationships, inheritance, and method calls in an intuitive, engaging way.

V isualization for soíhvare program m ing w as introduced in the late 1980’s for the purpose o f creating and interactively exploring graphical representations o f Computer Science concepts [10].

Over the past two decades, many graphical tools have emerged to address these challenges While several of these tools are still under development or not well-studied, which can lead to unintended consequences beyond their original intent, there are notable exceptions—such as Alice, a 3D graphical environment With a rich set of supportive features, Alice has made a significant impact by offering a fresh perspective on learning object-oriented programming, especially for novices and those who lack prior knowledge in computer science.

How and when to apply Alice in teaching computer science can be guided by survey results and online feedback Analysis of responses on Stack Overflow shows that most users view Alice positively and consider it the most suitable tool for introducing programming to novices, including those with no prior experience Introducing Alice early in the curriculum can boost students’ motivation for computer science and help learners build a solid understanding of object-oriented concepts such as objects and classes as they begin to program.

M eth o d o lo g y

Because introducing the basic concepts of object-oriented programming (OOP) can be challenging when explained abstractly, visualization becomes a key strategy The aim of Alice is to provide a 3D, animated environment that helps students grasp these concepts by manipulating real objects and visually representing their relationships.

To accomplish this, students are divided into two groups Group assignment is based on a pre-test, and the results are calculated as the average performance of individuals in each group at their respective level, a process that will be described in the chapter.

This study compared a treatment group of students exposed to Alice during Object-Oriented Programming (OOP) labs with a control group that received traditional instruction The treatment group participated in three weeks of hands-on labs (one lab per week) focusing on OOP concepts, while the control group attended standard classes Both groups were assessed with a final test at the end of the Alice session to measure understanding of OOP concepts, evaluate the effectiveness of the new lab-based approach, and examine differences in motivation toward the programming course between the groups.

A n O verview o f th e R est o f the D o c u m e n t

The rest of this paper is organized as follows: Chapter 2 provides the background knowledge for this study, covering the essential concepts and a review of related work, while Chapter 3 presents the rationale, objectives, and key research questions that guide the investigation.

Alice was selected as the working environment for this study, and the choice is described here Chapter 4 demonstrates how students at Hanoi University learn object-oriented programming concepts through the Alice environment The study concludes with findings and recommendations, and Chapter 5 proposes areas for future work.

W h at is p ro g ra m m in g

“ C o m p u te r program m ing (often shortened to program m ing o r coding) is the process o f designing, w riting, testing, debugging / troubleshooting, and maintaining the source code o f Computer p ro g ra m s.” [17]

One common question in the journey to learn programming is, "Why should I take a programming course?" Learning to program opens the door to a new way of thinking, guiding how you approach problems with structure and logic Additionally, participating in a programming course tends to enhance your problem-solving abilities as you practice analyzing problems, designing solutions, and applying code to real tasks.

O bject-oriented p rogram m in g

B a sic concepts and íeatures o f object-oriented p rogram m in g

According to W eisfĩeld [20], the m ost iundam ental concepts and features o f O bject- oriented program m ing can be defined as follow:

In programming, a class is a data type that contains all the information about objects, acting as the template from which objects are instantiated It defines the characteristics of an object—its attributes and properties—as well as the actions it can perform, such as methods and features.

Instance: is the actual object created at a run-tim e.

- M ethod: is a set o f statem ents for th e purpose o f solving a problem It períòrm s d iíĩe re n t type o f operations o n d iííe re n t type o f data types.

- Encapsulation: the process o f hiding all th e d etails o f an object th at do not contribute to its essential characteristics.

Inheritance in object‑oriented programming is the process by which a new class, called the derived class or subclass, is created from an existing class known as the base class or superclass The derived class automatically inherits all the properties and methods of the base class and can also define additional properties and methods of its own, enabling extended functionality and a clear hierarchical organization.

Polym orphism : sim ilar objects can respond to th e sam e m essage in different ways.

T eaching strategy for learn ing Computer p ro g ra m m in g

The ACM C om puting C urricula 2001 (C C 2001) report [8] stated out 3 im plem entation strategies for achieving a program m ing- fírst approach in teaching

Among the three strategies, the object-first approach appears to be the most attractive, largely because the first two strategies have been used for quite some time By applying the object-first strategy, students will work with the principles of object-oriented programming from the very beginning, starting with the notions of objects and inheritance.

However, according to the CC2001 authors, an object-first strategy makes it harder to teach and learn introductory programming Why does this happen? The traditional approach starts with the most basic syntax—“Hello World”—and gradually builds toward higher-level concepts, giving students time to learn and develop their background knowledge By contrast, the object-first approach has students work immediately with objects, their encapsulation (public and private data), and their methods (modifiers, helpers, etc.), while they still must master other core concepts such as variables, values, and syntax This combination creates substantial challenges for both instructors and students in achieving effective learning outcomes in introductory programming courses.

G raph ical Tools in teaching p ro g ra m m in g

Since the late 1980s, a variety of graphical tools have been developed to address the visualization challenges in teaching and learning object-oriented programming Although many tools emerged, only some achieved notable success Among the most effective are five standout tools: BlueJ, Java Power Tools, Karel J Robot, Graphic Libraries, and Alice, which have made a lasting impact on how students visualize OOP concepts and how educators teach object-oriented programming.

BlueJ is an integrated development environment (IDE) designed for object-oriented programming It starts you with a predefined set of classes and presents the project structure graphically in a UML-like view, making it easy to understand class relationships Users can create objects and link them to methods to illustrate and explore program behavior, helping learners visualize how code behaves in practice.

Java 8 Power Tools delivers a comprehensive graphical user interface built from multiple classes that students will use in their projects By interacting with the GUI, students experience how these classes behave, gaining practical, hands-on understanding of object-oriented design and event-driven programming.

Karel the Robot is a teaching tool that helps students learn about objects by exploring a micro world where robots operate on a 2D grid In this environment, methods in Karel the Robot can be invoked on the robots to move and turn, allowing hands-on practice with basic algorithms and computational thinking.

Graphics libraries, used by Bruce et al and Roberts [3], offer a canvas for creating objects such as 2D shapes Each object exposes its own methods, which are invoked to drive behavior, and the objects respond according to those methods.

Alice is a learner-centered programming environment that enables direct manipulation of objects through a limited set of simple commands It lets users interact with 3D objects in a 3D world and create an animated movie using a drag-and-drop interface.

Each graphical teaching tool has its own strengths and weaknesses, so they must be compared against a defined set of criteria and standards in order to identify the most suitable options for our approach By evaluating these tools on factors such as clarity, scalability, cognitive load, interactivity, and accessibility, we can determine which ones best align with our instructional goals The findings can then be presented in a clear, ordered list that reflects the relative applicability of each tool for implementation.

From the perspective of Java Power Tools, the graphical user interface (GUI) is heavily used, a trend that also appears when working with graphics libraries Building a GUI is time-consuming, and an effective interface demands a broader skill set than general software implementation By contrast, Alice treats graphics as optional, enabling visuals to be added with just a few primitives.

Modifying existing code: BlueJ and Java Power Tools tend to rely too much on starting with programs that already contain prewritten code The authors suggest that novices are better off beginning with fully formed projects and then modifying them In contrast, the Alice approach can help students start building their own world from the first brick, strengthening their engagement with the program and deepening their foundational understanding of what the program will do.

Com plexity o f syntax: by using graphics libraries, it is the greatest obstacle student m ust face in program m ing Even with the existence o f libraries, students still have to w rite Java/C ++ program from scratch, m astering a non- trivial am ount o f syntax as vvell as the understanding o f graphics libraries

W ith Karel J.Robot, it is required that students have to have quite an am ount o f Java program m ing skill before starting to create a program In a lower level, The BlueJ and Java Pow er Tools only require student to make changes in code but it is still necessary to know how to write, edit and even correct Java code All those things can lead to errors in the code provided to students because they are ju st sim ply do not know how and w here to start the code vvhich doesn’t belong to them and in the w orst scenario, the error may becom e m ore serious Such situation rarely happens w ith using A lice because o f the drag and drop w ay o f program m ing as w ell as the “everyday life” syntax; it will be m uch easier for novices to com plete a program H ow ever, ứie negative side o f this is th at program m er cannot im prove their skill m uch in com parison to 4 other softw are tools

The ability to further develop programming skills hinges on continuous practice and active engagement with code and debugging As noted, the level of programming proficiency directly shapes how quickly you can grow and train to achieve higher results with other software tools In practice, stronger coding skills translate into faster learning curves, better error handling, and greater capacity to master additional software tools, making ongoing skill development across the programming stack more impactful.

Graphics libraries GUI' role in proeramming

Lo\v M tdium high medium V tt}' important

High High high Medium m ttỉhim

Lo\v Medium medium high Vef}'high

A biiityto have áư ther studies in prosram m ins

Lo\v Mednim medium medium medium

Figure 1 Overall result of evaluating graphical teaching tools

In 2003, Cooper, Dann, and Pausch conducted a similar study on the effectiveness of applying a variety of graphical teaching tools within an object-first approach, finding that Alice surpassed BlueJ, JPT, and Karel the Robot in introducing the concepts of object-oriented programming.

Conclusion: Each tool offers distinct benefits along with drawbacks, so choosing the right approach for the given situation is essential For novice programmers and those with limited computer knowledge, Alice can be the best starting point, particularly if you prefer an object-first programming strategy.

A lice- A basic u n d erstan d in g

Procedure

In the study, the control group took the course using the traditional method, while the treatment group worked with Alice However, both groups were provided the same amount of information during the lecture time.

The Alice module was structured into three sessions, each lasting about seven hours, delivered weekly with the treatment group selected to learn object-oriented programming concepts through the Alice environment.

In the first session, I delivered foundational knowledge about the Alice programming environment and its terminology (see Appendix 5), which will be used in subsequent sessions and is included for the Alice pre-test.

A fter the ílrst session, it can be seen clearly th at th e stu d en t found it very interesting w orking w ith A lice even that w as th eir first tim e

During the second session, I used Alice to introduce the core concepts of object-oriented programming, specifically encapsulation and inheritance Students were asked to build a world model that demonstrates these concepts through the Family Bunny example (Appendix 6).

Figure 5: The Bunny Famiiy Wor1d

- Third session: In this session, students were asked to solved several Computer problems and make presentation about their object-oriented concepts’ understanding in their products.(Appendix 7)

After completing a three-session module, participants from both the control group and the treatment group took a multiple-choice test focused on the basic concepts of object-oriented programming For students who learned with the assistance of Alice, the study also included an online survey with brief feedback on their experience working with Alice.

The mean results o f Final test o f the Treatm ent G roup were higher than the Control G roup as the following table:

G roup Treatm ent Group Control Group

Before applying the t-test, a two-sample F-test for equality of variances was conducted at an alpha level of 0.05 The results show that the Alice Pre-Test has a p-value of 0.289, which is greater than 0.05, indicating equal variances; therefore, the t-test for the Alice Pre-Test is performed assuming equal variances The p-value for the Final Test is reported as part of the same analysis to determine the significance of the final comparison. -**Support Pollinations.AI:** -🌸 **Ad** 🌸Powered by Pollinations.AI free text APIs [Support our mission](https://pollinations.ai/redirect/kofi) to keep AI accessible for everyone.

Since the test for equality of variances returned p < 0.05, the assumption of equal variances is rejected and the variances are considered unequal Therefore, to assess the statistical significance of the Final Test, the analysis should use a t-test that does not assume equal variances (Welch's t-test) See Appendix 8 for details.

T able 4: F-Test Tw o Sam ple for Variance. p value

An independent samples t-test was used to determine whether there was a significant difference between the treatment and control groups for the pre-test and final-test variables, with alpha set at 0.05 The results showed that the difference in mean grades between the treatment and control groups was not statistically significant for either the pre-test or the final test, and the null hypothesis of no difference in means could not be rejected.

T able 5: T -test sig n iíĩca n t V alue

P-V alue(signi fícant) Pre A lice Test assum es equal variances

Final T est assum es non-equal variances

A s can b e seen on the table, in the Pre-A lice T est, the p V alue is equal to 0.48

With a p-value greater than 0.05, the difference in understanding between the two groups is not statistically significant at the 0.05 significance level Consequently, the null hypothesis cannot be rejected, implying that there is no meaningful difference in the performance of these two groups from the outset.

Final test results show a p-value of 0.01301884 (p < 0.05), indicating statistical significance and leading to the rejection of the null hypothesis that there is no difference in mean grades between the control group and the treatment group This suggests that Alice may have influenced the treatment group's understanding of the OOP concept For more details, refer to the full study.

Furthermore, with the result from survey [22]: 95% o f the treatm ent group said that they were satisíĩed with our new approach and w anted to study m ore about Alice

M oreover, all the Treatm ent group students graded that their fư st im pression w ith using

Alice, a 3D programming environment, received above-average results, with 80% of respondents rating it as very impressive or good Based on positive feedback, using the Alice 3D environment was shown to boost students' motivation to learn programming and enhance their skills in working with animations However, about 30% of students in the treatment group stated that their primary aim in using Alice in Computer Science courses was the platform's engaging animations and graphical design, rather than a deeper understanding of object-oriented concepts.

Using Alice as a teaching and learning tool to introduce basic object-oriented programming concepts met our expectations by improving students’ understanding of these concepts and by boosting their motivation to learn programming.

During the experiment, the treatment group outperformed the control group in Object-Oriented Programming (OOP) This finding suggests that the treatment method was effective in boosting OOP performance among students, and it is believed that the success of using this approach reflects its potential to improve learning outcomes in programming courses.

A lice was due to the visualization o f objects Students could see and relate to the objects and their anim ation actions and thus developing good backgroiưid ab o u t OOP.

The study concludes that Alice helped students in the treatment group develop a variety of programming skills With immediate feedback on their code, students could see results right away and identify exactly what went wrong in their programs, making debugging easier and enabling them to correct errors quickly This approach also helped them learn from their mistakes, improving their overall programming proficiency.

However, Alice does not support polymorphism, which is one of the three essential concepts that define an object-oriented programming language As a result, Alice is not a well-formed object-oriented programming language and cannot be used as a teaching tool in programming courses for introducing OOP concepts.

Future p la n

The issues described above are expected to be resolved by Alice 3.0, turning Alice into a well-formed, object-oriented programming environment for education In the future, Alice 3.0 could be widely introduced at the start of introductory programming courses to help students gain a clearer understanding of object-oriented programming (OOP) and to boost their motivation to pursue this field Further research should explore how this new approach can become a well-structured and more engaging way to teach and learn not only OO concepts but also programming fundamentals.

With 3D technology advancing and the demand for professional programmers who excel in object‑oriented design rising in the gaming industry, there is a real opportunity to foster talent through accessible learning tools Using Alice can contribute meaningfully by providing a practical foothold for introducing multimedia and game development to broader audiences, helping learners gain hands‑on experience and bridging the gap between education and the industry.

Karel J Robot: A Gentle Introduction to the Art of Object-Oriented Programming, by Bergin, Stehlik, Roberts, and Pattis, offers a beginner-friendly introduction to object-oriented concepts through the Karel robot paradigm The online edition is hosted on Pace University's CSIS server at http://csis.pace.edu/~bergin/KarelJava2ed/Karel++JavaEdition.html and was accessed on August 31.

[2]Cam egie M ellon U niversity, What is Alice, [online] Available at[A ccessed 24

[3] Bruce, K., D anyluk, A , & M urtagh, T., In Proceedings o f the 32nd SIGCSE technical sym posium on C om puter Science Education, February, 2001 A library to support a graphics-based object-fìrst approach to c s 1 (Charlotte, N o rth Carolina), 6-10.

[4] Capretz, L.F (2003) A B rie f H istory o f the O bject-O riented A pproach, ACM

SIG SO FT Softw are E ngineering N otes, 28.

[5] Raúl R am os-Pollán / IT U ser Support, B asic concepts in object-oriented program m ing, [online] A vailable at http://hep.fi.infn.it/JA V A m ain.pdf [Accessed 15

Stack Overflow's online discussion explores whether Alice is a good way to teach programming, examining the effectiveness of the Alice programming environment as a teaching tool for beginners The resource discusses how Alice can facilitate programming learning and how it compares to other instructional approaches The source is available at http://stackoverflow.com/questions/521015/is-alice-a-good-way-to-teach-programming and was accessed on 10 February 2011.

[7]Kốlling, M & R osenberg, J., In Proceedings o f the 6 * annual coníerence on Innovation and T echnology in C om puter Science E d ucation (C anterbury, E ngland),

2001, G uidelines f o r teaching obịect orientation w ith Java 33-36.

[8]Join Task Force on C om puting C urricula C om puting C u ư icu ỉa 2001 Com puter Science, Fall2001 Jou rn a ỉ o f E ducation R esources in C om puting (JERIC), 1

[9] Dann, w , C ooper, s and Pausch, R (2001) U sin g V isualization to Teach

N ovices R ecursion, Proc 6th A C M SIG C SE C onf on Innovation and technology in Computer Science ed ucation.

Exploring the Role of Visualization and Engagement in Computer Science Education (2002) is an ACM SIGCSE/ITiCSE working group report that investigates how visualization aids and student engagement influence learning in computer science The report surveys innovative uses of visualization, pedagogical strategies, and technology-enabled approaches, offering insights into how visual representations and active participation can enhance understanding of algorithms, data structures, and programming concepts It discusses practical implications for educators, outlines challenges in implementing visualization-rich curricula, and points to opportunities for leveraging technology to increase motivation, collaboration, and retention in CS education.

[11] K orhonen, A A n d M alm i, L (2000) A lg o rith m Sim ulation w ith A utom atic Assessm ent, Proc 5th A C M S IG C S E /SIG C U E C onference on Innovation and Technology in C om puter Science Education.

[12] C ooper, s , D ann, w A nd Pausch, R (2003) U sing A nim ated 3D G raphics to Prepare N ovices for C S1, C om puter Science E ducation, R outledge, part o f the Taylor

[13] Cooper, s , D ann, w A nd Pausch, R (2005) leam ing to Program w ith

A LIC E (U nited State o f A m erica: Pearson Prentice Hall).

[14] G ross, p A nd Pow ers, K (2005) E valuating A ssessm ents o f N ovice Program m ing E nvironm ents A C M Press, Proc o f th e 2005 intem ational vvorkshop on

[15] Rodger, S.H (2002) Introducing C om puter Science through A nim ation and Virtual W orlds, Proc 33rd A C M SIG C SE technical sym posium on C om puter Science education.

[16] Cooper, s , D ann, w A nd Pausch, R (20 0 3 ) teaching O bjects-fưst in Introductory C om puter Science, Proc 34th A C M S IG C S E technical sym posium on

[17] G.M W einberg(1998) The psychology o f Computer program m ing, V an

N ostrand R einhold Co N ew Y ork, N Y , U SA

[18]Dr A lan K ay on th e M eaning o f “ O bject-O riented Program m ing [Online]

A vailable at < http://u serp ag e.fii-b erlin d e/~ ram /p u b/p u bJf4 7 h t8 1 H ư d o c_ k ay _ o o p _ en

[19] Richard B aldw in , Learn to p ro g ra m using /4//ce[online] A vailable at [A ccessed 1 June 2011 ]

[20]M att W eisfìled, The object-oriented th rough process, 2009, Pearson

[21] System A nalysis and D esign Q uiz, 2011, F aculty o f Inform ation T echnology,

[22]Le N goe H ung, A lice Survey, 2011[online] A vailable at < http://freeonlinesurveys.com /rendersurvey.asp?sid= ư3x7kii8982kix924611>

A ppendix 1: Student previous course research giT c i a s s ^ Hom emỏtK* A ssig n m e n t 1 ' A s s ig n m e n t2 ^ m te rn a èM a rk iớ : ^ ' F in ỏl ố x a m 1 - F in ỏ le ằ a m ' '■ ỉ 1 Á s ta tu :

A p pendix 2: Alice -P re Test Result

AM 2.5 lc 0 9 0 1040018 Lê M inh Đức

AM 6 lc0 9 0 1040025 La Sơn Hải

AM 7 lc0901040039 Đỗ Thu Hương

AM 3 lc 0 9 0 1040080 Trần Duy Tuyên

A ppendix 3: Alice Final test result

N am e S ta rte d on C o m p le ted Tim e G rad e/1 0 ta k e n lc 0 9 0 1040002 Hoàng Qo

8 m ins 24 secs 8 lc 0 9 0 1040053 Nguận Đức

53 secs 9.7 Đông 12:19 PM 12:37 PM 37 secs

A ppendix 4: A lice code for Family Bunny Program:

Grand Father Bunny say method

G randFattierB unny.m ôthod1 No parameters

B o yB u n ny.D a n ct Noparam eters

Main program: world.my n rs t m ttho d No parameters

Appendix 5: Session 1: Introduction to Alice

This tutorial guides you through the Alice 2.2 interface, showing how to load and play an Alice World Installing and using Alice is straightforward, and the software is freely available from Carnegie Mellon University on its official site at www.alice.org, making it easy to start creating interactive animations and simulations.

Alice, a free 3D programming environment developed by Carnegie Mellon University, makes it easier to create animations for storytelling, interactive games, or web videos It is designed as an accessible introduction to object-oriented programming, helping students learn fundamental concepts by building animated movies and simple games In Alice, 3D objects such as people, animals, and vehicles populate a virtual world, and students write programs to animate these objects, turning ideas into engaging, shareable projects.

1 Start the A lice software You w ill see the W elcom e to Alice! dialog box open in front o f the A lice Interíace Incase A lice opens without shovving you the

W elcome to Alice! dialog box, click File, and then click N ew World to open this window.

The Welcome to Alice dialog box in Alice includes five tabs—Tutorial, Recent Worlds, Templates, Examples, and Open a World—ensuring quick access to learning resources, saved projects, ready-made templates, sample worlds, and the option to open a new world You can return to this dialog box at any time while using Alice by clicking File on the menu bar and selecting Welcome to Alice.

A l i c e or co n tln u e a tiitor ial:

Step 3: Click the Tutorial tab to view four Alice tutorials You won’t use these tutorials right away, but you may want to come back later to complete them as an optional self-study exercise.

4 C lick the R ecen t W o rld s tab You will see thum bnail sketches o f the m ost recently saved A lice vvorlds I f there is no w orld yet, the system will answ er N o recent w orld

Click the Templates tab to access six blank templates for starting a new virtual world: dirt, grass, sand, snow, space, and water Each template includes a texture for the surface—the ground in Alice—and a sky background color.

6 C lick th e E x am p les tab Several exam ple w orlds created by the Alice developers are provided with the A lice software.

Click the Open a World tab to access Alice Worlds saved on your computer This feature is similar to opening documents in Microsoft Word, providing a familiar way to load and manage your Alice projects.

8 N ext, you will look at the Alice interface w ith an A lice w orld open C lick the

Exam ples tab, click the lakeSkater thum bnail, and then click the O pen button to open the lakeSkater A lice world N ow your jo u m ey begin.

The M ain W ork A reas o f the Alice lnteríace

The Alice interface is organized into five main work areas: the World Window, the Object Tree, the Details panel, the Editor area, and the Events area A top toolbar provides a menu bar, three control buttons, a Trash can icon, and a Clipboard icon Understanding these components helps you navigate the environment before playing the LakeSkater world.

The World window shows a view of the LakeSkater Virtual world The set of blue arrows beneath the window controls the Alice camera, providing the view seen in the window Next to the arrows is a large green ADD button.

OBJECTS button, which you will use later when you create your íirst Alice world.

Alice's Object Tree sits to the left of the World window and displays all objects in the current world as a tile-based hierarchy Each object has its own tile, and a plus sign next to it indicates that it has subparts that can be viewed by expanding the node To inspect the IceSkater object's parts, click the plus sign to reveal them, then click the minus sign to hide them again.

The Details area o f the A lice interface is located below the O bject tree It has tabs to show properties, m ethods, and functions for the cuư ently selected Alice object.

Properties contain iníòrm ation about an object, such as its coỉor and position in the world.

M ethods are program s that m anipulate an object.

Function is a m ethod that retum s a value, such as the distance between two obịects.

To select an object, click it in the World window or click its tile in the Object tree The Details area displays information about the currently selected object.

Click the W orld tile in the O bject tree to see the W orld's details in the

Click the lake tile to see the lake's details in the D etails area.

Click the IceSkater tile in the O bject tree and then the properties tab in the

Details area to see the IceSkater's properties.

Click the m ethods tab to see the IceSkater's methods.

C lick the functions tab to see the IceSkater's íunctions.

Ngày đăng: 13/11/2025, 22:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm