Novice Students' Learning of ObjectOriented Programming - PowerPoint PPT Presentation

About This Presentation
Title:

Novice Students' Learning of ObjectOriented Programming

Description:

Informationsteknologi. Anna Eckerdal Institutionen f r informationsteknologi ... of concepts in terms of the 'process-object duality', (Sfard, 1991; Hazzan, 2003) ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 38
Provided by: user62
Category:

less

Transcript and Presenter's Notes

Title: Novice Students' Learning of ObjectOriented Programming


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

2
Learning to program
  • is a complex activity!

3
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.
4
My research interestTo give a broad picture of
students' experience of their learning
  • What do students learn?
  • How do they go about to learn?

5
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

6
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

7
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

8
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

9
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

10
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?

11
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

12
Students' understanding of what learning to
program means categories of description
  • 1. 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.

13
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
14
Students' understanding of what learning to
program means categories of description
  • 1. 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.

15
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.
16
Students' under-standing of what learning to
program means categories of description
  • 1. 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.

17
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

18
Students' under-standing of what learning to
program means categories of description
  • 1. 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.

19
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.

20
Students' under-standing of what learning to
program means categories of description
  • 1. 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.

21
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.

22
Content analysis
  • Systematic categorisation of data according to a
    research question
  • Categories revised in feedback loops
  • Not necessarily qualitatively different categories

23
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.

24
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.

25
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

26
Students' motives for learning to program.
Excerpts from the interviews
  • Student 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.

27
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.

28
Students' motives for learning to program.
Excerpts from the interviews
  • Student 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

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

30
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)

31
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)

32
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)

33
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.

34
Novice Students' Learning of Object-Oriented
ProgrammingDiscussion 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
35
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

36
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

37
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
Write a Comment
User Comments (0)
About PowerShow.com