Deshinta Arrova Dewi and Omar Mohammad Ali

advertisement
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
ADOPTING THE COOPERATIVE LEARNING
METHODOLOGY TO DELIVER
PROGRAMMING SUBJECTS
Deshinta Arrova Dewi1 and Omar Mohammad Ali2
1
INTI International University, Malaysia (deshinta.ad@intimal.edu.my)
2
Universiti Kebangsaan Malaysia (qomar84@yahoo.com)
ABSTRACT
The research will suggest the cooperative learning methodology as an alternative way to deliver programming
subjects. Study shows that programming subjects mostly deliver in traditional method in which the lecturer will
be the centre of the whole learning process in a classroom or laboratory. The lecturer explains the concept to the
students and later provides tutorials or exercises that are designed to be completed individually. This activity
basically sharpens skills in programming language, but the students lack experience in other skills such as
communication skills, presentation skills and ability to work in a team.
Cooperative learning has proven to be a successful teaching methodology which uses small group based
activity. Small teams of different levels and ability can accommodate a variety of learning to improve the
understanding of a subject. Each member of a team is responsible not only for learning what is taught but also
for helping teammates learn, thus creating an atmosphere of achievement. Students work through the assignment
until all group members successfully understand and complete it. [3][5][11]
Adopting this methodology will be a big challenge since the nature of programming subjects is more towards
individual learning in a way the flow of a program or information will be influenced mostly by specific way of
individual thinking. When N students are doing the exact same requirement of a program, there is huge
possibility that N version of programs will be produced, as a result of N ways of thinking. The students are not
familiar with the work of the course mates while executing ideas or solving problems. That is why many
industrial people believe that good programmers are normally silent individuals. They are known to be good in
coding but very passive in sharing ideas, expressing needs and exchanging knowledge.
Cooperative Learning promotes team work that is feasible to be adopted by subjects with different nature.
However, it requires strong commitment and creativity from both the lecturer and the students. Specific to the
programming subjects, the students should finally come to believe that working in a team will benefit them
more than working individually. [3][5][11]
KEYWORDS
Keywords: Cooperative Learning, Programming Subjects, Teaching and Learning Methodology, Team Work
Skills, Academic Achievement, Group Activities. .
1
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
PROBLEM DESCRIPTION
For many years Computing students in INTI International University react negatively
towards programming subjects. This is reflected in poor attendances throughout the
semester, passivity in classroom or laboratory, late submission of assignments, poor
performances on time constraint assessment and high failure rate of overall programming
subjects. Our preliminary investigation shows that this is due to higher stress level of students
compared with those learning non-programming subjects.
On the other hand, a small percentage of them do able to follow programming subjects well
and also able to acquire skills such as logical thinking skill, problem-solving skill, and
programming skill. However, this group of students prefer to work alone and unable to
communicate or share their program codes with others. They lack of communication skill as
well as ability to work in a team.
Preliminary investigation showed that students’ success rate is higher if tutors varied their
teaching methods instead of relying on purely didactic approach. Students tend to enjoy
more if they could participate actively and express their opinions.
The characteristic of Active Learning are[1][2][9]:
a. Students read, speak, listen, think deeply and write,
b. Students integrate new information, concepts or skills into their own mental
schema, though rephrasing, rehearsing and practice,
c. Students analyse, synthesize and evaluate information.
By adopting the Active Learning characteristics into teaching learning processes, the chance
for programming students to acquire variety of academic skills is better.
From the industry perspective, computing graduates and industries cannot live without each
other. Markets dictate the necessity of change in industry and the recognition of team work,
communication skills along with some other new criteria by industries. This, once again put
computing faculty especially in the field of programming in position of evaluating and reevaluating teaching style, active learning, curricula, etc. [3]
Many types of active learning have been suggested, for example, collaborative learning,
cooperative learning, problem based learning, inquiry learning, etc. However, our study has
recommended the cooperative learning to be used in the programming classes. Our
rationale[3][5][11]:
a. Cooperative Learning promotes Active Learning because it is a student-centred
and hands-on approach to learning where the student is the prime focus in the
teaching and learning process.
b. Cooperative Learning provides opportunities for students to cross-fertilize
between one subject and other components of their curriculum and the outside
worlds. Effective Cooperative Learning strategies offer students the opportunities
to make informal connection with things they have already learnt.
c. Cooperative learning promotes creative thinking. Students have to talk and share
ideas with friends and this promotes a feeling of enjoyment and accomplishment
2
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
among students. Not only the numbers of ideas are increased, but the quality of
ideas is also enhanced.
d. Cooperative learning challenges students to develop entrepreneurship minds. The
entrepreneurial mind is open and flexible, seeks new ventures and possibilities,
able to adjust to new demand and challenges, prepare itself to survive and even
thrive in rapidly-changing conditions.
e. The challenges of the new millennium are to find ways to achieve international
and better intercommunity cooperation.
Given that the majority of students who learn programming subjects are unable to practice
various academic skills other than programming skill, this research aim to recommend
Cooperative Learning methodology to be adopted in Programming Classes. Our approach
will be to designate class activity, lab activity and assignment with adequate consideration
towards the behaviour of the learners.
THE BEHAVIOR OF THE LEARNERS
In the 1970’s, Anthony F. Gregory and Helen B. Ward [3] investigated the behavior of
learners within the classroom. They found out “People learn both through concrete
experiences and through abstraction." Both of these modes have two sub divisions,
"sequential" and "random" preference. So, they believe, there are four distinct learning
patterns. Each of this group has many characteristics, personalities, and behaviors. [1][2][3]
I.
Concrete Sequential (CS): Unwilling to try new things, just following the leader just
because that person is in charge. Relate best to the physical, hands-on world. Order
the world in a step-by-step fashion. Complete work with accuracy. Make decisions
based on the facts they observe. Want learning and activities to be useful. They like
clearly ordered presentations and a quiet atmosphere. They would rather work on a
group than to join a group to discuss an idea.
This group of learners has some difficulty in a cooperative learning environment, to
certain extent due to those underlined characteristic.
II.
Concrete Random (CR): Are motivated by the process of discovering the answers to
problems, have many different ideas and interests, are flexible and seek possibilities,
they like to be the leader and set the course, they are not to be controlled easily by
others, they want to probe and examine on their own, they like to find out ordinary
answer, they find solutions to problems without following a step-by-step procedure,
they would rather test to see if something works by actually trying it out, they give
their best in class that uses many types of sources, investigations, and problem solving
approach.
This group of learners is common among engineering students. The underlined
characteristics may not fit well into a cooperative learning environment.
III.
Abstract Sequential (AS): They like to talk about ideas rather than detailed points.,
They like to debate match perceptions with others and want to develop assignments
thoroughly. They would rather think through an idea than work on a project. They
3
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
want lecturers to be experts, hold themselves to very high standards. They tolerate
few mistakes. They accept only "A" for themselves. They are very sensitive to
criticism. A symbol or picture is worth a thousand words to them, they learn well
from authorities.
This group of learners may have better chance to work in a cooperative atmosphere.
The underlined aspects of their behavior will certainly create some problems. In fact,
these viewpoints are not welcome in a cooperative learning environment. Whoever
they are, we may have only a few of them in computing, engineering or technology
classes.
IV.
Abstract Random (AR): They like to discuss ideas with others. They get involved
with group projects. They look for cooperative groups. They suggest alternative ways
of looking at things. They are flexible and adaptable. They work to please others, and
to create and develop special relationships with others. They like to share experiences,
and they prefer freedom from rules and guidelines.
This is an excellent group that matches totally with the concept of cooperative
learning. They have a lot of potential and they could gain a great deal more through
cooperative learning than any other group. Unfortunately, we do not see many of
them in engineering or technology classes. Engineers need a rule and guideline to
analyze, test, design, and build a product. Without rule and guideline, they have
difficulty knowing where they should start, how to follow phenomena, and how to
make things work.
Obviously, some learners may find themselves in more than one category. This is not a major
issue in cooperative learning. To adopt cooperative teaching / learning or any other style, it
requires a careful investigation about the type or category of student that we are dealing with,
their feeling and reaction, their background, and most importantly, their learning style.
Student’s behavior toward learning is a function of the learning environment. If they are not
satisfied with it, there will be no effective learning method for them.
VARIOUS WAYS OF ADOPTING COOPERATIVE LEARNING
In the Johnson and Johnson model of cooperative learning, there are five essential elements:
positive interdependence, face to face interaction, individual accountability, social skills and
group processing. [3][4][5][6][7][8]
The description shown in the figure below is a structural model drawn from Johnson and
Johnson with five pillars of Cooperative Learning.
4
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
Cooperative Learning
Positive
Interdependence
Face-to-Face
Interaction
Individual
Accountability
Social Skills
Group
Processing
We need
contributions from
each of my team
member if we’re
doing succeed.
How I think, talk and
act toward my team
member
will
influence how well
we perform.
Although my team
members can ask
help
with
the
assigned task, my
individual
performance/contribu
tion will shape my
grade
Working effectively
together as a team
means that I need to
improve
my
interpersonal skills.
Our team has to
reflect
on
its
performance
and
think together about
how
we
might
improve.
Figure 1. The elements of Cooperative Learning
The Adoption of Cooperative Learning in INTI International University
At the moment we are experimenting with Cooperative Learning methodology to deliver and
assess TWO (2) programming subjects involving student at different level for January-April
2011 session in INTI International University, at Faculty of Engineering and Information
Technology (IT Division).
The following classes are involved:


Program: Degree
Level-3 – INTI IU & Coventry University
Subject: CT370/CS3223 Concurrent Programming & Real Time System Design –
Java Programming (5 credits)
Program: Degree
Level-2 – INTI IU & Bradford University
Subject: ICT4219 Concurrent & Real Time System – Java Programming (4 credits)
The Delivery of Programming Classes
The five pillars of Cooperative Learning are:


Positive Interdependence, Social Skills and Group Processing: is the belief by
each individual that there is value in working with other students and that many
individual learning and work products will be better as a result of collaboration.
 Concise Practice: Asking a group of students to reach consensus answer over
one problem solving case study.
Face to Face Interaction: is a very important element because Positive
Interdependence alone does not generate the degree and intensity of interaction
required in Cooperative Learning activity.
 Concise Practice: Form heterogeneous groups so that different individuals
have more to learn from each other than in homogeneous group. The group to
generate possible application of a concept introduced in class.
5
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia

Individual Accountability: is the belief by each individual that she/he will be
accountable for his/her performance and learning.
 Concise Practice: posing a question or a problem and randomly calling on
specific individuals to give an explanation after talking about the question or
problem in a group.
The Cooperative Learning Assessment: Sample of CT370/CSC3223
The students were divided into groups and each group comprises not more than three (3)
students. Should a group consist of TWO students, then the marks would be adjusted
accordingly. Two sections were created in this assignment. Section A is a Group Work and
Section B is an individual work. All students have to complete both sections in order to
obtain full marks. The underlined statement is the point of adoption Cooperative Learning
Methodology into the assessment of this course.
The complete assignment specification is shown in the table below.
Section A.
Group Work ( Max 3 students) total marks = 70% (30% design, 40% programming)
The African Baboons
A student majoring in anthropology and minoring in computer science has embarked on a
research project to see if African baboons can be taught about deadlocks. She locates a deep
canyon and fastens a rope across it, so the baboons can cross hand-over-hand. Assume that
the rope bridge spans in the East-West direction.Passage along the rope follows these rules:
 Several baboons can cross at the same time, provided that they are all going in the
same direction.
 If eastward moving and westward moving baboons ever get onto the rope at the
same time, a deadlock will result (the baboons will get stuck in the middle)
because it is impossible for one baboon to climb over another one while
suspended over the canyon. If a baboon wants to cross the canyon, he must check
to see that no other baboon is currently crossing in the opposite direction.
 When a baboon that wants to cross to the east arrives at the rope and finds
baboons crossing to the west, the baboon waits until the rope in empty (free), but
no more westward moving baboons are allowed to start until at least one baboon
has crossed the other way.
 Illustrate the Baboon situation with the help of a Petri Net diagram.
 Design the solution by using UML diagram.
 Implement your design into a proper code of program. Your program should avoid
deadlock and starvation.
Section B. Individual Work (each program carries 10%, total = 30%)
Each member of a group should attempt a different task.
Task 1.
Modelling a Car Park
A controller is required for a car park, which only permits cars to enter when the car park is
not full and does not permit cars to leave when there are no cars in the car park. You are
required to create a program to implement the above scenario. You need to identify threads
and monitors.
• Thread - active entity which initiates actions
• Monitor - passive entity which responds to actions
Task 2
Modelling a Museum Entrance
A museum allows N visitors to enter through the east entrance and leave through its west
entrance. Arrivals and Departures are signalled to the museum controller by the turnstiles at
the entrance and exit. At opening time, the museum director signals to the controller that
the museum is open and the controller permits both arrivals and departures. At closing time,
6
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
the director signals that the museum is closing at which point only departures are permitted
by the controller. The museum is locked once everyone has left. Provide a program
controller by using Java thread programming.
Task 3
Modelling a Shared Saving Account
A savings account is shared by several people. Each person may deposit or withdraw funds
from the account subject to the constraint that the account balance must never become
negative. The savings account should be implemented using a monitor.
The Assessment Criteria has been designed to incorporate group and individual effort to
complete all given tasks. A substandard performance of a group member will influence the
overall group performance.
Assessment Criteria
Total Marks
Section A. Design (30m)
1.
Illustration using Petri Net & Firing table
2.
The idea of overall solution
3.
Design specification
4.
Solution using UML diagram
5.
Clarity, neatness, accuracy
Section B. Programming (40m)
6.
The effectiveness of program code
7.
Solving problem using concurrency design
8.
The synchronization technique
9.
No starvation ,deadlock & race condition issues
10.
Output completion, accuracy & format
7
5
5
7
6
8
8
8
8
8
Section C. Programming (30m, 10m each)
The Car Park
11.
The effectiveness of program code
12.
Solving problem using concurrency design
13.
The synchronization technique
14.
No starvation ,deadlock & race condition issues
15.
Output completion, accuracy & format
The Museum
16.
The effectiveness of program code
17.
Solving problem using concurrency design
18.
The synchronization technique
19.
No starvation ,deadlock & race condition issues
20.
Output completion, accuracy & format
The Shared Account
21.
The effectiveness of program code
22.
Solving problem using concurrency design
23.
The synchronization technique
24.
No starvation ,deadlock & race condition issues
25.
Output completion, accuracy & format
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Total
100
The External Examiner Comments: sample for CT370/CS332
While the role of the external examiner varies with the level of examination, the purpose of
the system remains the same: to ensure that standards are kept the same across collaboration
universities, and to provide an assurance of fair play given that internal examiners might be
7
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
bias or prejudiced. By convention, and often as a rule, if examiners disagree the view of the
external examiner takes precedence.
Below is the External Examiners comment on CT370/CS332 in January 2011 session. He
mentioned clearly the coursework was quite demanding. The level of difficulty for this course
has increased due to the adoption of Cooperative Learning Methodology.
Figure 1. The External Examiner Comment
The Passing Rate
The passing rates for both courses are 100%. The highest grade is A and the lowest is D for
CT370/CS332. Whereas for ICT4219, the highest grade is A and the lowest grade is C. This
proved that the Cooperative Learning Methodology could be adopted in Programming
Classes with full commitment from the lecturer to ensure the process goes smoothly.
CONCLUSION
This paper has shown the way of incorporating Cooperative Learning Methodology into
Programming Classes. In relation to the five pillars of Cooperative Learning Methodology,
lecturers may initiate variety of Active Learning approaches to ensure students participate
individually and in groups. This activity helps students to acquire variety of academic skills
and improve their employability in the future.
The lecturers should anticipate resistance from students if they incorporate cooperative
learning activities in their classrooms. Initially it is because everybody resists doing
something different. Approaches to anticipating and addressing student resistance are
provided in a description of active/cooperative learning in a digital logic course [9], a widely
referenced paper by Felder and Brent [10], and in Cooper et al [11].
Although excellent details are provided in these references, lecturers are encouraged to
describe their reasons for the change, particularly on how it benefits the students. Also ask
students for input regarding potential problems, and input on addressing potential problems,
and to incorporate some of their input.[9][10][11]
8
Proceedings of the 3rd International Conference of Teaching and Learning (ICTL 2011)
INTI International University, Malaysia
REFERENCES
[1] Coffman, S.J. (2003). “Ten strategies for getting students to take responsibility for their
learning”. College Teaching, 51(1), 2-4.
[2] Gregorc, Anthony F., and Ward, Helen B. (2007). Implications for Learning and
Teaching- A New Definition for Individual. NASSP Bulletin, Vol.61, No. 406, pp. 20-23.
[3] Johnson, D.W., Johnson, R., and Smith, K. (2008). Active Learning: Cooperation in the
College Classroom. Edina, MN: Interaction Book Co.
[4] Johnson, D.W., and Johnson, R.T. (2004). Circles of Learning. Washington, DC: Assoc.
Supervision and Curriculum Dev.
[5] Johnson, D.W., Johnson, R.T., and Smith, K.A. (2001). “Cooperative learning:
increasing college faculty instructional productivity”. ASHE-ERIC Higher Education
[6] Kagan, S. (2002). Cooperative Learning. San Juan Capistrano, CA: Resources for
Teachers, Inc.
[7] Monaco, Michele. and Martin, Malissa. (2007). “The Millennial Student: A New
Generation of Learners”. Athletic Training Education Journal, Volume 2 (April-June), 4246.”
[8] Moussavi, M. (2009). Cooperative learning in Engineering Education, Electronic
Engineering/Technology Department. Johnson & Wales University
[9] Woempner, Carolyn. (2007). “Teaching the Next Generation.” The Future of Education:
A Structured Response to Uncertainty, Trend of the Month. Mid-continent Research for
Education and Learning (McREL).
[10]Felder, R.M., and Brent, R. (2004). “Cooperative learning in technical courses:
procedures, pitfalls, and payoffs”. ERIC Doc. Reproduction Serv., ED 377038. Available at
http://www.ncsu.edu/felder-public/Papers/Coopreport.html. [Cited 2011-07-24]
[11]Cooper, J.L., MacGregor, J., Smith, K.A., and Robinson, P. (2000). “Implementing
small-group instruction: insights from successful practitioners” In MacGregor, J., Cooper,
J.L., Smith, K.A., and Robinson, P. (eds.), “Strategies for energizing large classes: from
small groups to learning communities”. New Directions in Teaching and Learning, vol. 81,
San Francisco: Jossey-Bass Pubs.
9
Download