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 (Ứng dụng Alice vào giảng dạy và học tập Các khái niệm cơ bản về lập trình hướng đối tượng)

71 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 Ngoc 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 13,19 MB

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

Nội dung

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

Trang 2

| HÃNGOL |

Applying Alice Into Teaching And Learning

Basic Concepts Of Object-Oriented

Programming

Graduation Thesis Submitted to

Hanoi University

for the honor degree of

Bachelor of Computer Science

By

Le Ngoc Hung (Computer Science)

Supervisor: Msc Le Minh Duc

June, 2011

THU VIEH DAI HOC HA NO!

HANOI UNIVERSITY LIBRARY

%4 c2142

Trang 3

Abstract

It is believed that learning to program is the most fundamental and the biggest

challenge in the path of computer science and object-oriented programming is becoming

more important in the modern world Currently, there are several solutions in the form of

computing educators with graphical environment to help novices Many of them are not

well-studied and developed so it caused some unexpected impacts out of developer's

original purpose However, there are exceptions, too and Alice is one of them with 3D

graphical programming environment With a lot of supportive features, Alice really did a

great job in bringing a whole new view about programming, especially in introducing the

fundamental knowledge of object-oriented programming to beginners On the other hand,

as a matter of fact, Alice still has some negative effects on the student Also, later part of

my paper is the result of a new approach of teaching and learning object-oriented

programming concepts with the assistance of Alice in Hanoi University

Trang 4

Acknowledgments

I am heartily thankful to my supervisor, Mr Le Minh Duc whose encouragement,

guidance and support from the initial to the final level enabled me to develop an

understanding of this new approach

Lastly, I offer my regards and blessings to my senior, Mr Bui Tuan Anh and all

09 students who supported me in any respect during the completion of the project

Le Ngoc Hung

iti

Trang 5

1.4 An Overview of the Rest of the Documen( 5c c5+ccccsccceere.ce Ố

Chapter 2 Background Knowledge - Sts+teterkekEkekkrkrrkrrkerrrkrrkee 7

2.1 What is programmingg 5s Set th k1 1111 1111111 xe 7

2.2 Object-orienfed pr0gTamming - 5s x11 ct1eesrke 7

222:1:ÐERIRRHHGH+acsecoititoadiviioigtgigiöisbdstagidRbagis9fyliifliosigiflisäss8s„sse 7

2.2.2 Basic concepts and features of object-oriented programming 8

2.3.Teaching strategy for learning computer programming . - 8

2.4 Graphical Tools in teaching programmiing sony 10

2.5 Alice- A basic understandiỉng - - - + + cttvvtEkkerkerkerkerekrrkirkerrke 14

2.5.1 Introduction of Alice

2.5.2 Alice main features

2.6 Review of other finding in the past scssssssessssesssseesseesssesssessstesseesneees 19

Chapter 3 Sampling Design

Chapter4 Methodology is.isscss.ssssssccvsesssstessesviresssaeensonsssisosvsnnssnssrenwsrvoniicraveeeaasennO

Trang 6

Alo PROCEMURE fttottottit6tigtotgDfBlEDNGGIEIIIIILGANREIDERENNQGEBMSessse 26

Appendix 1: Student previous course research + +ccxcverkiekrerkrrkrerrrree 37

Appendix 2: Alice —Pre Test.RESHÍ ;: ::.‹ 0:25:2c2 666 0200010000500 10 004010 g80 006141 39

Appendix 3: Alice Final test resuÏt 6-5ăseeseererererrreeă, fÏ

Appendix 4: Alice code for Family Bunny Program: -ss++cccxcrssrverxee 45

Appendix 5: Session 1: Introduction to A ÌiCe - 5-5 5++xcrt+rSkkervskrrkerkrrkervre 47

Appendix 6: Session 2: OOP conC€ptS . + S++E +11 re 55

Appendix 7:Session 3 .ccccesscssssesseseeseseeseseeseseseeeeneceeseeneceeneeseenesessecaeeseeseenesnesneeneane 61

Appendix 8 : Statistical Test Result scecsessssssesssesssecssecsssecssecsnsesssseenseensneeennnees 62

Trang 7

List of Figure

Figure 1 Overall result of evaluating graphical teaching tooÌs - c-. 13

Figure 2: Hello World Program

T18Ùfe 3:.A116E TETTBEE piticcioistitttsirtig ĐEN S0SSESGIEDGIGGMQUSEAbsasses l7

Figure 4: Result of Alice-Pre Test - «55tr 2E

Eigure?5›1he.Bunny,Eamily: ẤOtÍ,ssssasseaseisneiioikinS40016600140166616114806604101184168.616 15g38 27

vi

Trang 8

Chapter 1 Introduction

1.1 Objectives

The primary objective of this thesis is to evaluate the efficiency of applying

graphical teaching tool, in this case, Alice in to teaching and learning basic object-

oriented programming concepts This is addressed from the hardship in learning object-

oriented programming with no visualization and the existence of variety of graphical

programming environment

In his lecture, Baldwin [19] stated out that every true OOP language must support

the following three programming concepts:

Another objective of this thesis is to study the student’s attitude toward this new

learning method as well as learning programming in general, which can be considered as

one of the most important factor in the outcome and quality of student from any computer

science courses

Trang 9

To conclude, the main aim of this research was to assist the understanding

about object-oriented programming as well as to improve the motivation toward

learning programming of 2"! year students in Faculty of Information Technology,

Hanoi University and evaluate the effectiveness of Alice in teaching basic object-

oriented concepts, in our case: encapsulation and inheritance

1.2 Motivation

Nowadays, with the dramatic rise of computer industry, learning computer

science is becoming more difficult than itself in the other time, especially in

programming course With the broadening in scale of programming projects, learning

how to programming in the tradition way sometimes seems not so appropriate with

current situation Instead of beginning with syntax and statements, students can gain

direct access to object-oriented view which is considered one of the most urgent factors

in learning as well as working in computing field by starting with the basic concepts in

order to gain a firm background In addition, there exists a lot of graphical teaching and

learning tools for the purpose of assisting this theory Alice 3D environment is one of the

most successful tools which achieve positive attitude from both teachers and students in

applying graphical tools in teaching computer science in more than 400 universities in all

around the world So, it is a good idea applying this new approach in introducing the

most fundamental concepts of object-oriented programming in a more attractive and

effective way

Trang 10

At first, we have to consider about the fact that: Why Object-oriented is needed

and why it is an urgent matter teaching these concepts from the beginning of

programming course? The main idea of object-oriented programming is to build

programs using objects Object is an encapsulation of protected data along with all the

legal operations that act on that hidden data [4] Plus, the key concepts of object

orientation are encapsulation, polymorphism and inheritance Beside the concept of

encapsulation which was mentioned above, inheritance is also a very important technique

in software development which means a new class (sub class) is derived from an existing

~one (super class) In the deriving process of this technique, the sub class inherits all the

attributes and behaviors of the pre-existing class

With these features and concepts, surely Object-oriented programming will have a

lot of advantages First thing is the ability to reuse code as well as uniqueness by

inheritance and encapsulation As a result, it will be easier in making changes in the

program by modifying the super classes Moreover, it can help students to develop a

strong sense of structure in doing programming which is a very urgent issue in large

projects currently On the other hand, everything has its own negative side, and so does

object-oriented programming The first challenge is that the capacity of program is

always larger than implementing in traditional method because of inheritance resolution

at run-time Furthermore, in order to compile the program, inherited code has to be

looked up from subclasses which lead to the decrease in speed of the program However,

as a matter of fact, the benefits of object-oriented programming really did surpass all the

Trang 11

obstacles, all the challenges it brings That’s the reason why most of large projects

nowadays are developed in OOP way [5] and that fact encourages introducing object-

oriented programming concepts for students from the beginning of the course for the

purpose of a firmer background as well as a more professional learning and working

environment in the future

On the other hand, another shortcoming of object-oriented programming is the

lack of visualization and that’s the reason for the biggest obstacle in the exploring path of

students which mean it is nearly impossible for them to imagine about the program they

created So, using a 3D animation environment will be an appropriate answer for

introducing basic OOP concepts to novice programmers

Visualization for software programming was introduced in the late 1980’s for the

purpose of creating and interactively exploring graphical representations of computer

science concepts [10]

Over the last two decades, a lot of graphical tools have been developed to give an

answer to these problems Many of them are not well-studied or even under development

so it caused some unexpected impacts out of the original purpose However, there is

exception, too and Alice is one of them with 3D graphical environment With a lot of

supportive features, Alice really did a great job in bringing a whole new view about

learning object-oriented programming, especially with novices and people who haven’t

have any knowledge related to computer field

Trang 12

The question is that how and when Alice should be applied in teaching Computer

Science As a survey and feedback on the website http://stackoverflow.com [6], most of

users have positive attitude toward Alice and they stated out that Alice is the most

appropriate for introducing novices and people who haven’t had any knowledge about

programming By doing so, the motivation of them toward computer science can improve

as well as their background of objects and classes in learning to program

1.3 Methodology

Due to the nature of difficulty in introducing basic concepts of OOP is

visualization and since the aim of Alice is to provide such a 3D environment with

animation which encourages students to think about the concepts with real objects and

real relationship graphically

In order to do so, students need to be divided into 2 different groups Decision for

choosing group was based on a Pre-Test; the result was calculated by the average of

individuals in each group with their appropriate level (which will be described in chapter

3) Then, the treatment group was a group of students exposed to Alice during OOP lab

(one lab each week for 3 weeks) The control group was a group of students that attended

the traditional classes only The performance of the two groups in understanding OOP

concepts was evaluated by a Final test at the end of Alice’s session for analyzing the

effectiveness of this new approach as well as discovering the motivation level of students

toward programming course in different group

Trang 13

1.4 An Overview of the Rest of the Document

The rest of this paper is organized as follows The next Chapter composes

background knowledge about this research including the most basic information as well

as review of similar researches that have been conducted In chapter n 3, the reason why

Alice was selected as our working environment will be stated out The Next chapter 4

will illustrate the process of leaning OOP concepts with Alice of students at Hanoi

University Finally, some conclusions are given and future work is proposed in chapter 5

Trang 14

Chapter 2 Background Knowledge

2.1 What is programming

“Computer programming (often shortened to programming or coding) is the

process of designing, writing, testing, debugging / troubleshooting, and maintaining the source code of computer programs.”[17]

One question had been raised since the beginning of learning

programming: “Why should I take a programming course?” The answer can be carried out that is learning to program is the door to discover a new way to think In addition, while taking part in a programming course, it is believed that the ability to

solve problem increases as a result, in other word, the development of problem-

solving skill

2.2 Object-oriented programming

2.2.1 Definition:

“Object-oriented Programming is a programming paradigm using "objects" —

data structures consisting of data fields and methods together with their interactions —

to design applications and computer programs”[18]

Trang 15

2.2.2 Basic concepts and features of object-oriented programming:

According to Weisfield [20], the most fundamental concepts and features of Object-

oriented programming can be defined as follow:

Class: A data type which contains all the information about objects, in other

words, the template for an object It defines characteristics of object such as

attributes, properties as well as the things it can do, for example methods,

features, etc

- Instance: is the actual object created at a run-time

- Method: is a set of statements for the purpose of solving a problem It

performs different type of operations on different type of data types

- Encapsulation: the process of hiding all the details of an object that do not

contribute to its essential characteristics

- Inheritance: Inheritance is the process by which a new class is created from

another class the new class is called a derived class- sub class; the original

class is called the base class-super class A derived class automatically has all

the properties and methods that the base class has, and it can have additional

methods and/or properties as well

- Polymorphism: similar objects can respond to the same message in different

ways

2.3 Teaching strategy for learning computer programming

The ACM Computing Curricula 2001 (CC 2001) report [8] stated out 3

implementation strategies for achieving a programming- first approach in teaching

computer science:

Trang 16

- Imperative-first

Functional-first

Object-first

Among them three strategies, it was stated out that objects-first seemed to be the

most attractive one due to the utilizing of first two strategies for quite sometimes [8] By applying object-first strategy, student will have to work with the principles of object- oriented programming from their very beginning with the notions of objects and inheritance

However, as the authors of CC2001’s point of view [8], Object- first strategy makes it more difficult for both teaching and learning introductory programming Why did it happen? As can be seen, the traditional way of teaching and learning to program is

to start with the most basic syntax of programming (“Hello World” for example) and then

step by step advance to higher level By doing this, students have more time to learn and build their background knowledge On the other hand, the idea of object-first strategy is

to have student work immediately with object, their encapsulation (public and private data, etc) and methods (modifiers, helpers, etc) Meanwhile, students still have to master the other concepts of programming such as variables, values, syntax, etc This bring a lot

of challenge for both instructors as well as student in achieving their goal in learning how

to program

Trang 17

2.4 Graphical Tools in teaching programming

In order to give an answer to the problem of visualization in teaching and learning

object-oriented programming, since the late of 1980s, there have been a lot of graphical

tools which were developed in order to solve the problem about visualization[{10] in

programming and some of them did achieve the great success However, some did not

And among the most successful one, these 5 tools can be considered as the most

effective: BlueJ, Java Power Tools, Karel J Robot, Graphic Libraries and Alice

BlueJ [7] provides an integrated environment in which the user generally

starts with a previously defined set of classes The project structure is

presented graphically in UML-like fashion Objects can be created and be

linked to method to illustrate behavior

- Java [8] Power Tools provides a comprehensive graphic user interface with

several classes which will be used in student’s work Student will experience

the behavior of classes by interacting with the graphic user interface

- Karel J.Robot [1] helps student learn about objects through a micro world

with a robot (are added to a 2D grid) Methods in Karel J.Robot may be

invoked on the robots to move and turn them

- Graphics libraries: used by Bruce et al and Roberts [3] There is some sort of

canvas onto which objects such as 2D shapes are created These objects have

their own methods invoked and react according to those methods

- Alice [2]: a learner-centered environment that facilitates programming by

allowing direct manipulation of objects through a limited set of simple

Trang 18

commands It allow user to interact directly with 3D objects in 3D world to

create a program animated movie through drag and drop interface

Each of these graphical teaching tools has its own strong points as well as weak

points, so it is needed to compare them based on a set of rules and standard in order to

carry out the most appropriate ones for our approach And it can be listed, respectively:

- Level of dependence on GUI: From the point of view in using Java Power

Tools, graphic user interface is made use heavily The same situation happens

with using graphics libraries It is stated that building GUI is very time

intensive and having an effective GUI requires a wider range of skills than

those software implementation On the other hand, with using Alice the use of

graphical factor is just optional and is done by using several primitives

- Modifying existing code: BlueJ and Java Power Tools rely too much on

stating with programs which contain previously written code As the idea of

the authors of those 2 software tools, it is better for novices to start with a

fully, well-formed projects and to modify them However, using Alice

approach generally can help students start to build their world from their first

brick in order to strengthen the bond between them and their program as well

as the background knowledge of them about what they will do with the program

- Complexity of syntax: by using graphics libraries, it is the greatest obstacle

student must face in programming Even with the existence of libraries,

11

Trang 19

students still have to write Java/C++ program from scratch, mastering a non-

trivial amount of syntax as well as the understanding of graphics libraries

With Karel J.Robot, it is required that students have to have quite an amount

of Java programming skill before starting to create a program In a lower

level, The BlueJ and Java Power 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 just simply do not know how and where to start the code

which doesn’t belong to them and in the worst scenario, the error may become

more serious Such situation rarely happens with using Alice because of the

drag and drop way of programming as well as the “everyday life” syntax; it

will be much easier for novices to complete a program However, the negative

side of this is that programmer cannot improve their skill much in comparison

to 4 other software tools

Ability to have further development in programming: As mentioned above

about the level of programming skill dependence, the ability to develop and

train to achieve higher result of skill of the other 4 software tools is absolutely

higher due to interaction with code and errors

Trang 20

In 2003, Cooper, Dann and Pausch [16] did process a similar research about the

effectiveness in applying variety of graphical teaching tools into teaching with object-

first strategy and they stated out that Alice had surpassed BlueJ, JPT and Karel.J Robot in

introducing the concepts of object-oriented programming

To conclude, each tool has its own benefit as well as negative side so it is needed

to apply appropriate approach into suitable situation As for novice programmer and

people who doesn’t have much knowledge about computer, Alice may be their best

choice for them to begin with objects-first strategy

13

Figure 1 Overall result of evaluating graphical teaching tools

Trang 21

2.5 Alice- A basic understanding

2.5.1 Introduction of Alice

Developing by Carnegie Melon University, Alice is a “an innovative 3D

programming environment that makes it easier to create an animation for telling a story,

playing an interactive game, or a video to share on the web”[2] Moreover, it can be used

as a teaching tool in helping student to have the most fundamental knowledge about

objects-oriented programming through creating 3D-objects such as people, trees, etc to

manipulate the virtual world

By using an interactive interface, students only need to drag and drop graphic tiles

to create their own program in contrast to learning huge library of syntax as well as

programming statement which are required in other programming language such as CH,

C# and Java The most significant feature of Alice is that it allow students to see how

their code run immediately and thus, improve their understanding about the relationship

between their code and the objects in the virtual world

To make it clearer, it’s a good idea to start with one of the most famous programs

in any programming language: the “Hello World” Program The requirement of this

program is that the Bunny object will say “Hello World” when the program starts Firstly,

it is needed to start a new world with a template Click onto the ADD OBJECT button,

try the animal folder, Bunny Class an add instance into the World Then, a Bunny will

Trang 22

appear in the center window The next step, the bunny will say “Hello World” and in

order to do it, say method from method tab of the object bunny must be moved like the

Figure 2: Hello World Program

Lastly, Click the Play Button and the Bunny will say “Hello World”

2.5.2 Alice main features

It is believed that graphical user interface is one of the most important advantages

of Alice in comparison with teaching and learning in traditional method The interface of

this program is divided into 5 different areas with their own functions It can be listed as

follow:

15

Trang 23

World window: illustrate the world which is being built All the objects and

their graphical properties such as size, color as well as their location in the

virtual world shall be presented here

Object tree: contains the entire object in the world which is being built The

function of this area is to give an overview of all the objects in the program as

well as managing them

Detail area: describe the information about the world or object, what they can

do Each object in Alice has its own properties and actions

Editor area: allow user to make objects in the world do new things such as

Event area: allow user to tell Alice when to make objects do certain things, in

other words, to create the flow of the story

Trang 24

)etAIlS 483

ess eh mee Np ew CN? =

et Meets pear Comma cet "

Figure 3: Alice Interface

After walking through the graphical interface, it is needed of having a deeper understanding about Alice 3D virtual world and the relationship between Alice and the knowledge it provides about the object-oriented programming concepts Firstly, the world

window will help students in having a clear visualization about their program, objects and

classes Furthermore, through this World window, students can receive feedback

immediately from the program such as mistakes, bugs or problem with algorithm The second working area is the Object tree, it provide an overview about all the objects in the World window which means the entire object in the program From this area, students can design the graphical factor for the program as well as manage the existence of any

related objects Then, it comes to the Details area which can be considered the most

17

Trang 25

important in introducing the concepts of Encapsulation It has 3 tabs containing all the

information about the selected object from its properties to methods and functions For

the main aim of introducing encapsulation, any object in Alice world has 2 kinds of

methods: Primitive-methods which are the built-in methods, including with Alice from the beginning, cannot be seen or edited by user and the user-defined methods which were

created by user, possible for modifying and detail viewing Next are the Editor Area and

Event Area These 2 areas play the main role in programming with Alice by allowing

user to make objects in the world do certain things as well as creating the flow for the

program Last but not least, the object Gallery in Alice is really well-organized; it

provides a clear view about class and instance and thus,-the inheritance concept as well

By showing all the inherited properties and methods of the sub classes or newly-created

classes from the super class, another piece of the object-oriented puzzle game was solved

Unfortunately, all those Alice features did not support the concepts of

Polymorphism In Alice, if you try to define a new method with the same name as an

existing method in the same class hierarchy, the name that you type in tums red and the

OK button becomes disabled This prevents you from defining two methods in the same

class hierarchy having the same name That make Alice cannot become a well-formed

object-oriented programming environment yet but for introductory to the most

fundamental features and concepts of object-oriented programming, Alice may exceed

the expectation in many views

Trang 26

2.6 Review of other finding in the past

Korhonen and Malmi [11] describe a visualization system that presents novice

programmers with graphical representations of algorithms which requires them to

manipulate these representations in order to simulate the algorithm [10] Teaching

fundamental concepts in a first programming course using graphics and visualization in

an OO „ will provide sufficient programming experience, with stronger

meaningful context for helping students to visualized object oriented concepts

Dann, Cooper and Pausch[9] described an approach for introducing recursion by

using Alice, as part of a course in Ithaca College in New York for programmers (with no

previous programming experience) They stated out that using Alice, offers computer

science instructors an approach to introducing fundamental concepts to novice

programmers, that allows them to know their mistake as soon as possible and correct

them

Rodger [15] developed a course for non-computer science majors, at Duke

University in North Carolina to teach students computer science concepts and

programming In that course students were given five visualization tools: HTML,

JAWAA, StarLogo, Alice, and Karel++ Based on the evaluation survey that was given in

the course, Rodger concluded that Alice was clearly the favorite and the easiest to use

Cooper, Dann and Pausch [16] presented Alice for an objects-first strategy They

concluded that the Alice’s tool was quite useful in teaching objects-first strategy to help

19

Trang 27

students master the complexities of object oriented programming, it provided stronger

object visualization, and a flexible meaningful context for helping students to see object

oriented concepts

Another similar work was conducted during spring 2006, 89 students in 6 sections

of an introductory non-major computing survey course participated in Alice

programming module [3] All of them were undergraduates of regional campuses of a

medium-sized, mid-western university

This Alice-module spanned 5 class sessions, approximated 6 hour and 15 minutes

- Session 1: Gave an over view about Alice programming software including a

guided tutorial that help students in gaining fundamental knowledge about

Alice

- Session 2: Students create their own world from scratch Basic instructions

about creating world, adding objects as well as using methods were provided

- Session 3: Introduced algorithm into module Students were required to solve

a problem by creating flow chart

- Session 4 & 5: Students created their own world by Alice and presented to the

rest of class

After taking 2, 5 week Alice module, students were asked about their experience of using

Alice, the relationship between Alice and algorithm and the question about teamwork in

type of programming:

Trang 28

“Describe what you liked about Alice and what you did not like So you feel like

you now understand some of the basics of computer programming? What

surprised you about computer programming? What did you learn that you

expected? ”

“How are Algorithms related to what you did in Alice? What is the relationship

between the symbols in a flowchart and the stories that you created in your labs?

Can Algorithms help you create better Alice stories? Explain.”

“Describe the advantages and disadvantages of programming in pairs? What did

you like? What did you dislike? Did programming in pairs help or hurt your

learning? Explain “

The overall result shows that after 2.5 week module in computer programming

with Alice, firstly, most of students (96 %) enjoy programming in this environment and

have a positive attitude toward this method As a result, 4% commented that they dislike

Alice and the reason is the limitation of this program Secondly, they can see clearly the

relationship between their Alice stories and algorithms Lastly, 95% of the student

mentioned that they had learned a lot from their partner to be more creative than working

all by themselves From the proportions above, it can be seen clearly that with the

assistance of Alice 3d learner environment, the motivation of students toward computer

science increase greatly Not only that, they can gain a lot more knowledge about object-

21

Trang 29

oriented method in programming through working with classes and objects In addition,

team programming, in this case, pair-programming brings a lot of benefits for students

With a really good result like that, it is needed to have a deeper understanding

about this software program, its features, how to work with it as well as pros and cons

while using Alice in teaching and learning computer program

Trang 30

Chapter 3 Sampling Design

From the experience of using Alice for teaching introductory computer science, it

did achieve great result but there were still some extraneous variables such as the quality

of students and their experience, so, I apply a new method of sampling:

Firstly, I did a research through the final result in particular courses of students to

get to know their programming skill and level of understanding about computer science

concepts On the other hand, some discussions with course teachers in these subjects help

me a lot in getting the information about students The entire student is in the 1" year of

Faculty of Information Technology so their knowledge in computer field is still limited

Noticed that there were differences in students’ knowledge about computer programming as well as their abilities to learn, I collected some related students’ result in

their nearest semester (see Appendix 1) in order to classify them into their appropriate

level:

Lv A: Students with GPA >= 7: 41/66 means 62, 1%

Lv B: Students with GPA <7 : 25/66 means 37, 9%

Average Group = (Average LvA + Average LvB)/ 2

By doing this, the extraneous variable of differences in programming experience

level of understanding can be eliminated

23

Trang 31

Then, after introducing about the Interface and the most fundamental function of

Alice which will be described in the next chapter, a Pre-test about was carried out for

both 2 groups: Group 1(1c09 + 2c09) and Group 2(3c09 + 4c09)

Figure 4: Result of Alice-Pre Test

Table 1: Overall result of Alice Pre-Test

Trang 32

Table 2: Alice Pre-Test Group average score

From the list of result, it can be concluded that Group 2 has better skill with

Graphical tools in comparison with the other one So it was decided that the Treatment

Group was Group 2 and the Control Group was Group]

25

Trang 33

Chapter 4 Methodology

4.1 Procedure:

The Control group took the course in traditional method and the Treatment Group

worked with Alice but the amount of information provided in the lecture time are the

same

The Alice module was divided into 3 sessions (7 hours approximately), each

session took place in a week with the treatment group who was chosen to learn object-

oriented programming concepts with Alice:

- First session: I provided student the most fundamental knowledge about Alice

learner environment and the programming terminology (See Appendix 5)

which will be used in the following sessions (included for the Alice pre-test)

After the first session, it can be seen clearly that the student found it very

interesting working with Alice even that was their first time

- Second session: I used Alice to introduce the basic concepts of Object-

oriented programming (Encapsulation and Inheritance) In this session,

students were asked to build a model of a world based on the concepts of

encapsulation and inheritance through The Family Bunny example(Appendix

6)

Trang 34

&\ Alice World

Figure 5: The Bunny Family World

- 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 taking 3 session module, all the participants of both Control Group and

Treatment Group took a multiple choices test [21] The question in the test focuses on the

basic concepts of object-oriented programming and with the students who learn with the

assistance of Alice, then, they had to do an online survey [22] including a small feedback

about how they feel after working with Alice

27

Trang 35

4.2 Result:

The mean results of Final test of the Treatment Group were higher than the

Control Group as the following table:

Table 3: Final Group result

Before running the T-test, it is needed to conduct a statistical test to determine

equality of variance and the test for equality of variances is an F-test 2 sample for

variances with the alpha value in these tests assigned to 0.05 The result showed that in

the Alice Pre-test, the P Value of The Alice Pre-Test was 0.289 > 0.05 so the variances

are assumed to be equal, then, to analyze the significant level of Alice Pre-Test, proceed

with the t-test that assumes equal variances On the other hand, the P-value of Final Test

< 0.05 so the variances are assumed to not be equal, so, to analyze the significant value of

the Final Test, it is required to process with the t-test that assumes non-equal variances

Ngày đăng: 09/11/2025, 10:00

TRÍCH ĐOẠN

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