Title: A Collaborative Approach to Learning Programming: a hybrid learning model
1A Collaborative Approach to Learning
Programming a hybrid learning model
Linxiao Ma, John Ferguson, Marc RoperJohn
Wilson, Murray WoodThe University of Strathclyde
2Background
- Lack of early fostering of communication and
collaboration skills between CS students - Communication and collaboration skills are
important in CS students professional life. - Current approaches to teaching programming do not
foster students communication and collaboration
skills.
3What is Pair Programming?
- Two programmers work side-by-side at one
computer, continuously collaborating on the same
design, algorithms, and code. Also test together
1. - Driver and Navigator roles 2
- Initially used in industry and widely accepted
there 3 - Now frequently employed in programming
education. -
-
4Pair Programming at Strathclyde
- Pair Programming has been used for 2 years at
University of Strathclyde - During this time the effects of teaching using PP
have been evaluated. - Data was collected in three ways
- - student test performances
- - questionnaires on students experiences with
PP - - laboratory demonstrators observations.
5Pair Programming at Strathclyde
- Better Performance in laboratory work with PP
- PP has been well received by students
- More students prefer to use PP in future learning
- The main concern of PP was the imbalance in
effort -
- Compatibility Problem was found between members
of Pairs
6Laboratory Demonstrators Observations
- Advantages
- students were managing to complete the tasks
quicker - students were better prepared before arriving at
the laboratory - increased communication between students
- Disadvantages
- some students were being overly reliant on their
partner. - several students did not change roles between
driver and navigator. - some students still worked alone, even when they
had been assigned a partner.
7Why need more than PP
- Students exhibit difficulties engaging with
material presented in lectures - Students still struggle when transferring
knowledge to practical problem solving. - Lack of collaboration and communication outside
of lab
8What is Problem-Based Learning (PBL)?
- PBL is a problem-driven learning model, students
will achieve knowledge through solving problem
4. - Students work cooperatively in a
- group to solve the problem.
- Students have access to tutors
- and relevant learning materials.
9 PBL
PP
PBL
PP
Good for Explore Phase Summary Phase
Good for Practice Phase
Good for Explore Phase Practice Phase Summary
Phase
10A Hybrid Model
Problem
Lecture
Independent Study
Explore Phase
Group Meeting for students to analyze the problem
and discuss possible solutions
Practice Phase
Laboratory Session to implement the solution
Group meeting for students to summarize
achievements and reflect
Summary Phase
11Future Work
- We plan to implement this model in next year in
the first year programming course - To do this we need to reorganize the learning
materials, and devise appropriate problems. - We are also currently developing a toolset to
support implementing the model.
12Conclusion
- Students lack of collaboration and communication
skills - Strategies to overcome communication problems
- Pair Programming
- Problem Based Learning
- These strategies still have limitations
- We suggest combined model to overcome problems
- Our plan is to implement and evaluate this model
in next years programming foundations class.
13Reference
- 1 Williams L., McDowell C., Nagappan N.,
Fernald J., Werner L., Building Pair Programming
Knowledge through a Family of Experiments,
Proceedings ISESE (2003) - 2 McDowell C., Werner L., Bullock H.,
Fernald J., The Impact of Pair Programming on
Student Performance, Perception and Persistence.
Proceedings of the 25th International Conference
on Software Engineering (2003). - 3 Williams L., The Collaborative Software
Process. PhD. Dissertation. University of Utah,
Salt Lake City (2000). - 4 Ellis A., Carswell L., Bernat A.,
Deveaux D., Frison P., Meisalo V., Meyer J.,
Nulden U., Rugelj J., Tarhio J., Resources,
tools, and techniques for problem based learning
in computing. In Work Group report of the 3rd
annual SIGCSE/SIGCUE ITiCSE conference (1998).
14