novice students' learning of object-oriented programming anna eckerdal dept. of information...

37
Novice Students' Learning of Object- Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Upload: curtis-newman

Post on 30-Jan-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Novice Students' Learning of Object-Oriented Programming

Anna EckerdalDept. of Information

TechnologyUppsala University

Sweden

Page 2: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Learning to program

is a complex activity!

Page 3: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Where lies the problem? Or - where is the solution?- The teacher: subject knowledge, good notes, engagement, approach to teaching

- The student: preknowledge, mental model of the computer, personal, approach to learning, motives, conceptual understanding, personal life

- Language & Development environment: Java, ML, Pascal & emacs, BlueJ, eclips

- Environment: working load, assessments, pair- programming, textbook, automatic computerized tutorials

- etc.

Page 4: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

My research interest

To give a broad picture of students' experience of their learning:

What do students learn? How do they go about to learn?

Page 5: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Research questions What are students' understandings of

what learning to program means? What are students' understandings of

concepts in object-oriented programming?

How do students use resources when learning computer programming and what are their experiences of the support they provide?

What motives to learn computer programming can be found among the students? Qualitative research approach

Page 6: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Outline

The study Phenomenography

Research question 1 (and 2): Datacollection, analysis and results

Content analysis Research question 4 (and 3):

Analysis and results Implications for education Future work

Page 7: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

The study 14 first year undergraduate students in the

study program Aquatic and Environmental Engineering.

Participants chosen from a group with the aim to capture variation within the whole group concerning background knowledge, age, gender etc.

First programming course, using Java. Giving 4 Swedish credit points.

One hour individual semi-open interview, taperecorded, transcribed verbatim

Page 8: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Phenomenography(Marton & Booth, 1997)

Qualitative empirical research approach Developed from numerous empirical

studies in many subject areas Developed and used in education Takes the learners' perspective Aims at analysing and describing the

variation in students' understanding of phenomena

Page 9: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Phenomenography (cont.) Datacollection, usually semi-open

interviews Analysis on a collective level The researcher formulates the essence of

the understandings found with his/her own words as a limited number of qualitatively different categories of description

These categories show educationally critical aspects of the understanding of a phenomenon

Page 10: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Data collection, the interviews Questions on understanding of what

learning to program means• What do you think learning means in this

course?• What do you experience the course to be

about?• What has been most important to you in this

course?• What do you think was the aim for you when

learning to program?• What has been difficult in the course?

Page 11: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

The phenomenographic analysis Look for patterns in the data of different

understandings of a phenomenon. Compare and group students' excerpts.

Qualitatively different categories of description in an outcome space

The analysis is on a group level, not aiming at presenting individual students' understandings, but the different understandings found in the group

Page 12: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' understanding of what learning to program means: categories of description1. To understand some programming language, and to use

it for writing program texts.

2. As above, and in addition learning a way of thinking, which is experienced to be difficult to capture, and which is understood to be aligned with the programming language.

3. As above, and in addition to gain understanding of

computer programs as they appear in everyday life.

4. As above, with the difference: learning a way of thinking

which enables problem solving, and which is experienced

as a “method” of thinking.

5. As above, and in addition learning a skill that can be

used outside the programing course.

Page 13: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Excerpts from the interviews"What does it mean to learn in this course?"

Student N: I think it is all about learning, partly the commands, fundamental commands I use, I have to remember them

Page 14: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' understanding of what learning to program means: categories of description1. to understand some programming language, and to use

it for writing program texts.

2. As above, and in addition learning a way of thinking, which is experienced to be difficult to capture, and which is understood to be aligned with the programming language.

3. As above, and in addition to gain understanding of

computer programs as they appear in everyday life.

4. As above, with the difference: learning a way of thinking

which enables problem solving, and which is experienced

as a “method” of thinking.

5. As above, and in addition learning a skill that can be

used outside the programing course.

Page 15: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Excerpts from the interviews"What does it mean to learn in this course?"

Student D: And I actually think that most of it [the course] has been difficult, but this very thought behind, it feels as some people just understand programming, it's something they... but I also think that some people who have been programming before have probably learned to think like that.

Page 16: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' under-standing of what learning to program means: categories of description1. to understand some programming language, and to use

it for writing program texts.

2. As above, and in addition learning a way of thinking, which is experienced to be difficult to capture, and which is understood to be aligned with the programming language.

3. As above, and in addition to gain understanding of

computer programs as they appear in everyday life.

4. As above, with the difference: learning a way of thinking

which enables problem solving, and which is experienced

as a “method” of thinking.

5. As above, and in addition learning a skill that can be

used outside the programing course.

Page 17: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Excerpts from the interviews"What does it mean to learn in this course?"

Student D: You just think of things like when you withdraw money from a cash point, kind of, then you start to think, okey, it's these steps, figures and the sum and kind of [...] No but those things that one starts to think a little about how certain things are built

Page 18: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' under-standing of what learning to program means: categories of description1. to understand some programming language, and to use

it for writing program texts.

2. As above, and in addition learning a way of thinking, which is experienced to be difficult to capture, and which is understood to be aligned with the programming language.

3. As above, and in addition to gain understanding of

computer programs as they appear in everyday life.

4. As above, with the difference: learning a way of thinking

which enables problem solving, and which is experienced

as a “method” of thinking.

5. As above, and in addition learning a skill that can be

used outside the programing course.

Page 19: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Excerpts from the interviews"What does it mean to learn in this course?"

Student G: To get to try, like, you learn to think in a special way, you learn problem solving. [...] It's problem solving.

Page 20: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' under-standing of what learning to program means: categories of description1. to understand some programming language, and to use

it for writing program texts.

2. As above, and in addition learning a way of thinking, which is experienced to be difficult to capture, and which is understood to be aligned with the programming language.

3. As above, and in addition to gain understanding of

computer programs as they appear in everyday life.

4. As above, with the difference: learning a way of thinking

which enables problem solving, and which is experienced

as a “method” of thinking.

5. As above, and in addition learning a skill that can be

used outside the programing course.

Page 21: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Excerpts from the interviews"What does it mean to learn in this course?"

Student E: Yes but it's that the more you know about computers the less dependent on others you'll be, sort of.

I: I see.

E: I don't know, if you work somewhere later and have some insight into things, then I think it'll open a window so that you know what it's about at least even if you don't, I mean, it's the pros that will deal with the real things.

Page 22: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Content analysis

Systematic categorisation of data according to a research question

Categories revised in feedback loops Not necessarily qualitatively different

categories

Page 23: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' motives to learn, interview questions What was your aim/purpose when using

this resource? Why did you use this resource? What has been most important in the

course? Plus other questions like what it means to learn in the present course.

Page 24: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' motives for learning to program. Excerpts from the interviews

Case students:

Student B: “I love to program because it's fun to program”

B: I just think it has been interesting to learn. I have sort of learned 10 times as much as I knew before. I have really really enjoyed it, so I have spent a lot of time at the computer.

Page 25: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' motives for learning to program. Excerpts from the interviews

Student A: ”I'm interested in concepts and to get a theoretical overview”

A: I think it is also to get the whole picture, to understand how a programming language is constructed, how the language is structured and how it is related with for instance C++ and that is also a bit more overarching. Detailed knowledge is also useful and to have tried, sort of to have had a taste, it is more the feeling and a bigger understanding

Page 26: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' motives for learning to program. Excerpts from the interviewsStudent K: ”I want to learn to program, it will improve my

problem solving ability”

K: What is good with courses like this is that one gets to practice problem solving. That is actually really good. One has a problem that one solves in different ways and thus one perhaps find the best way . That is one of the core things I think. Then that one should write in a programming language, this could perhaps be done in anyone. But the dealing with problems, the problem solving, that is something I think is important.

Page 27: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' motives for learning to program. Excerpts from the interviews

Student H: ”I'm going to the class because I want to join the fellowship in the group”

H: [..] When you are part of a class, then one wants to go to school, because that's... it is not just for the sake of Java, but also sort of the whole ting. I find it pretty fun to be at school and then... then it sort of leads to you going there and then when you been there a few times then you sort of don't want to miss the rest.

Page 28: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Students' motives for learning to program. Excerpts from the interviewsStudent E: ”I'm not interested in programming, but I

want to learn because I know I will benefit from it”

E: I sort of think that it is a good thing that all learn to program. [...] I'm sort of not the programming type of person. I can find it fun only when one sees the logic and constructive in it, but.. I get frustrated when it isn't so. [...] Yes but it's that the more you know about computers the less dependent on others you'll be, sort of. [...] I don't know, if you work somewhere later and have some insight into things, then I think it'll open a window so that you know what it's about at least

Page 29: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Discussion

1.Students' understan- 2.Students' understanding ding what it means of object and class to learn to program

Page 30: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Discussion (cont.) D: [...] I guess, it's just a rather different way of

thinking. [...] I've taken many math courses but math is kind of logical and you understand it but this is... no I don't know (laughter). No but I kind of think it's easier to study math. Then you often have something creative to base it on, or you don't, but you learn more methods and kind of, there is some theory behind. Here you feel as if you only learn a lot of examples. You know, we've gotten so many examples of everything, in some way it feels as if you don't understand the base from the beginning [...]

(my italics)

Page 31: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Discussion (cont.)

C: I don't know... I guess it's actually to solve a certain type of problem, it's rather like the math courses. Then learning different methods to solve them in different ways. Much like that, if you look back at the course it's not much actually but very, very fundamental.

(my italics)

Page 32: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Discussion (cont.)

1.Students' understan- 2.Students' under- ding what it means standing of object to learn to program and class

Mathematic education research: Introduced learning of concepts in terms of the 'process-object duality', (Sfard, 1991; Hazzan, 2003)

Page 33: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Discussion (cont.) D: “it's easier to study math [...] you learn more methods”

D: “the course, it's difficult too for a novice to get a good grip on how to study"

When learning object-oriented programming:

1. Object conception 2. Process conception 3. Component conception

Students' seem to need to reach the understanding of what learning to program means expressed in cat. 4 in the first outcome space: “Programming thinking” as problem solving.

Page 34: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Novice Students' Learning of Object-Oriented Programming:Discussion and results

4. Learning outcome of the concepts object and class

1.Students' understan- 3. Students' motives to ding of what it means learn to program to learn to program

2. Students' use of resources

Page 35: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Implications for education

Students need to discern “methods” to program

Educational critical aspects of object and class identified for use in the teaching

Important for students to follow a whole programming task: problem analysis, design, implementation, testing

Page 36: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Implications for education

Groups of resources used mainly in superficial/search-for-meaning ways

Possible for teachers to connect to different motives that promote learning

Page 37: Novice Students' Learning of Object-Oriented Programming Anna Eckerdal Dept. of Information Technology Uppsala University Sweden

Info

rmat

ions

tekn

olog

i

Anna Eckerdal Institutionen för informationsteknologi

Future work Reseach on component-process-object-

conception in learning OO-concepts Identify Threshold Concepts within the first

programming course Identidy educational critical aspects of

these concepts Identify crusial aspects of becoming a

member of the Computer Science community/culture