Slide 1 - Computer Science at Kent - School of Computing

W
Document Sample
scope of work template
							What do teachers teach in introductory
programming?

Carsten Schulte, Jens Bennedsen
Introduction: Some statistics…

• … on the statistics in the paper

      • 28 items in three dimension on four different groups, plus
        some other issues ~400 numbers,
        each with 3 digits = 1200 digits


• ~20 min presentation time

      • 20min*60 sec=1200 -> 1 sec per digit


• Let‟s go ;-)



Schulte, Bennedsen ICER06                                        2
Focus of presentation
                                          –topics–
• Teachers‟ s opinions about what should be taught in CS1
     (as an introductory programming course)
•    What to teach besides topics

                            • Milne and Rowe (2002, p. 55): “inability [of
                              students] to comprehend what is happening
                              to their program in memory”
                            • Lathinen et al (2005, p. 15): “Students also
                              have problems with understanding that
                              each instruction is executed in the state
                              that has been created by the previous
                              instructions”
                            • Ragonis and Ben-Ari (2005, p. 214): “[high
                              school] students find it hard to create a
Flow chart -wikipedia         general picture of the execution”
Schulte, Bennedsen ICER06                                             3
Dimensions of learning programming




                                     Du Boulay



Schulte, Bennedsen ICER06                        4
Notional machine for OO?

                            1. Interaction with objects
                              The student can understand simple forms of inter-actions between a
                              couple of objects, such as method calls and creation of objects. The
                              student is aware that the results of method calls depend on the identity
                              and state of the object(s) involved.
                            2. Interaction on object structures
                              The student is able to comprehend interaction on more than a couple of
                              objects, including iteration through object structu-res and nested method
                              calls. The structure is created and chang-ed explicitly via creations,
                              additions and deletions.
                            3. Interaction on dynamic object structures
                              The student knows the dynamic nature of object structures, understands
                              the overall state of the structure and that interaction on the structure or
                              elements from it can lead to side-effects (e.g. implicit changes in the
                              structure).
                            4. Interaction on dynamic polymorphic object
                               structures
                              The student takes into account polymorphism in dynamic object
                              structures and is able to understand the effects of inheritance and late
                              binding on dynamic changes in the object structure. The student takes
                              into account side-effects of late binding (different method-
                              implementations, different actual objects referred to by the same
                              variable).


Schulte, Bennedsen ICER06                                                                         5
Research Theme

• What do teachers teach in introductory
     programming?

• Topics
      • Imp. and/or OO

• Didactical perspective
      • Research from the eighties
      • Role of mental model for oo -> object interaction



• Descriptive (not Explanatory)
Schulte, Bennedsen ICER06                              6
Population

• Participants: teachers at university,
  college and high school, worldwide
• are attending educational
  workshops or conferences

• are Experts for Teaching


Schulte, Bennedsen ICER06                 7
Responders

                            Uni-    College High Other Overall
                            versity         school

Denmark                       5      49       1      3     16.7%
Germany                      16       4      40      6     19.0%
USA                          79      34       4      1     33.9%
Other                        98       4       4      0     30.5%
Overall                                                    100%
                            56,9%   26,1%   14,1%   2,9%
                                                            348
Schulte, Bennedsen ICER06                                          8
OO included


                 100%

                  90%

                  80%

                  70%

                  60%
                                                                           OO-concepts covered
                  50%
                                                                           OO-first course
                  40%

                  30%

                  20%

                  10%

                   0%
                            University   College   High school   overall




Schulte, Bennedsen ICER06                                                                        9
Important teaching topics

What topics to ask for…




• Result: list of 28 topics

• Difficulty
• Relevance
• Level


Schulte, Bennedsen ICER06     10
 Difficulty of 28 topics, all teachers
                                  Difficulty

 4

3.5
 3
2.5

 2                                                                                All
1.5
 1
0.5
 0




                                                                     E
                                                  r
                 ri
                 n




                  s


                 tr




                                                                             cs
                                       ax




                                                              ag
                 y




                                               Ite




                                                                   ID
               io




               ic
              he




              aS
              nc




                                                                           hi
                                    nt




                                                           Di
            er
            rs




                                              l&
           In
          cie




           at




                                                                         Et
                                  Sy
        cu




        en




                                                        ss
                                            Se
     ly&




     vD
      ffi




                                                      la
    Re




     G
   gE


 Po




 Ad




                                                   LC
Al




                                               UM




                                               Milne and Rowe: polymorphism, recursion, pointers
 Scale: 1 – 5, left side: most;
                                               CC2001: Recursion, AlgEfficiency, Generics,
        right side: least                      Adv-Data-Str, Poly are part of CS2

 Schulte, Bennedsen ICER06                                                                11
 Relevance of 28 topics, all teachers
                                                Relevance


 5
4.5
 4
3.5
 3
2.5                                                                                         All
 2
1.5
 1
0.5
 0
         r




                                                                           s
                                  e




                                                                                     s
                                                                          tr
                      s




                                            s


                                                    cs
                     tr




                                                                          y
      Ite




                                                                        rd




                                                                                     ic
                               op
                   er




                                         as




                                                                       aS


                                                                       nc
                  aS




                                                  hi




                                                                                   er
                                                                    ca
   l&




                et


                             Sc



                                      Cl




                                                                   cie
                                                                    at
                                                Et
               at




                                                                                en
 Se




               m




                                                                C-
                                      &




                                                              vD
           pD




                                                               ffi
            ra




                                                                               G
                                   bj




                                                     CR




                                                            gE
                                                          Ad
         Pa




                                  O
          m
        Si




                                                         Al

                                                         We find that today‟s teaching faces the same problems
Scale: 1 – 5, left    Nell Dale: Repetition,             as noticed by [CC2001] and therefore students still
   side: most;        Selection,                         associate programming with coding and not with more
right side: least
                      Information Hiding                 abstract, design-oriented and intellectual challenging
                                                         activities.
 Schulte, Bennedsen ICER06                                                                              12
Level of 28 topics, all teachers

                                            Level


         5
       4.5
         4
       3.5
         3
       2.5                                                               All
         2
       1.5
         1
       0.5
         0
                r




                                                                     s
                                      e




                                                                     s
                             s


                           ss




                                              cs



                                                                   ct
                            tr




                                                                    y
             Ite




                                                                  rd


                                                                  ic
                                   op
                          er




                                                                nc
                         aS




                                                               tr u
                                            hi
                         la




                                                               er
                                                              ca
          l&




                       et




                                 Sc




                                                             cie
                     &C




                                          Et
                      at




                                                           aS




                                                           en
        Se




                      m




                                                          C-
                  pD




                                                         ffi
                   ra




                                                        G
                                                        at
                  bj




                                                      CR




                                                      gE
                Pa



                 O
                 m




                                               vD
               Si




                                                   Al
                                             Ad




                   Scale: 1 – 5, left side:
   As before /Relevance): Focus on coding most; right side: least

Schulte, Bennedsen ICER06                                                      13
Correlations between Difficulty, Relevance
and Level

                       Object communication

     4,5
     4,0
     3,5
     3,0
     2,5                                              Relevance
     2,0                                              Difficulty
     1,5
     1,0
     0,5
     0,0
                     Yes              No

                      OO Concepts covered


    Interpretation: Role of „time spend‟ to teach a topic?
    Typical for OO-topics, not as typical for Non-OO (Selection..)




Schulte, Bennedsen ICER06                                            14
Subgroups: “OO Yes” vs “OO No”
   OO concepts covered          Topics that are seen as statistically significant more difficult
   No                           Poly&Inheri, Obj&Class, ptr&refs, recursion, DesignClasses,
                                parameters and Encapsulation
   Yes


  OO concepts covered       Topics that are seen as statistically significant more relevant
  No                        Sel&Iter
  Yes                       StatVsNonStat, AdvDataStr, ObjComm, Poly&Inheri, Generics,
                            Obj&Class, UMLClassDiag, VarTypes, DesignClasses,
                            DesignSglClass, CRC-cards, MethodDesign and Encapsulation

  OO concepts covered       Topics that are seen as statistically significant to be taught on a
                               higher level
  No                        -
  Yes                       AdvDataStr, ObjComm, Poly&Inheri, Obj&Class, UMLClassDiag,
                            DesignClasses, DesignSglClass, CRC-Cards and Encapsulation

                                                                                                        b
Schulte, Bennedsen ICER06                                                                          15
Areas of learning programming




Schulte, Bennedsen ICER06       16
      Role of Areas


4.5                                                                            70%

 4
                                                                               60%
3.5
                                                                               50%
 3

2.5                                                                   All      40%                                                                        All
                                                                      OO Yes                                                                              OOYes
 2                                                                    OO No    30%                                                                        OO No

1.5
                                                                               20%
 1
                                                                               10%
0.5

 0                                                                             0%
          General     notional   notation   structures   pragmatics                    General     Notional   notation +   structures   pragmatics
        orientation   machine                                                        orientation   machine




                          importance                                                                          taught



      Schulte, Bennedsen ICER06                                                                                                                      17
Hierarchy of Object Interaction
          5



         4.5



          4



         3.5


                                                                        All
          3                                                             Yes
                                                                        no


         2.5



          2



         1.5
                                                                              All Scales:
                                                                              1-5
                                                                              Underst. & Use:
          1
               understandable+   useful+   level NOW+   level w anted
                                                                              Lower=better
                                                                              Level: Higher=better

Schulte, Bennedsen ICER06                                                                     18
Differences between paradigms
        Teaching OO                                 Teaching PROC



                           procedural topics
                                                           
                               OO topics                  


                                  Areas                   
                           Object Interaction            
                            Overall: very similar
Schulte, Bennedsen ICER06                                           19
Topics assigned to Areas
(by the authors)

Topics                                             Du Boulay area

Sel&Iter, Parameters, Scope, Syntax,               Notation
UMLClassDiag, Ptr&Refs, Library

SimpDataStr, ProbSolStra, AdvDataStr, Recursion,   Structures
Generics, Poly&Inher, Encapsulation

ObjComm, MentalModel, StatNonStat, VarTypes,       Notional machine
Obj&Class

Debugging, IDE, CRC-cards, DesignSglClass,         Pragmatics
DesignOfClasses, MethodDesign, AlgDesign,

Ethics, AlgEfficiency                              General Orientation

Schulte, Bennedsen ICER06                                                20
Areas Topics: relevance

   4.5

     4

   3.5

     3

   2.5                                                                        All
                                                                              OO Yes
     2                                                                        OO No

   1.5

     1

   0.5

     0
            General         Notional   Notation++   Structures   Pragmatics
           Orientation      machine+




Schulte, Bennedsen ICER06                                                              21
 Areas compared
                               topics                                                                         du Boulay
4.5                                                                            4.5

 4                                                                              4

3.5                                                                            3.5

 3                                                                              3

2.5                                                                   All      2.5                                                                   All
                                                                      OO Yes                                                                         OO Yes
 2                                                                    OO No     2                                                                    OO No

1.5                                                                            1.5

 1                                                                              1

0.5                                                                            0.5

 0                                                                              0
       General      Notional   Notation++   Structures   Pragmatics                    General     notional    notation   structures   pragmatics
      Orientation   machine+                                                         orientation   machine

Schulte, Bennedsen ICER06                                                                                                                           22
Summary / Conclusions

• „Classic‟ topics /iteration syntax) similar relevance, level
     and difficulty regardless of “teaching-paradigm”
•    Including OO in CS1 seems to be an addition of topics
•    OO-topics are seen more difficult by those who do not
     teach them
      • OO Teachers have a tendency to rate „abstract concepts‟
        as less difficult (table)

• Notional machine
      • Least relevant (areas)
      • More relevant in OO (topics, but…)

• Hidden curriculum (structures vs. notation)
• Focus on coding in OO, too
     (notation vs. notional machine)

Schulte, Bennedsen ICER06                                         23
Differences between paradigms
        Teaching OO                                  Teaching PROC



                               procedural topics
                                                            
                                   OO topics               

                                     Areas                 
                                Notional machine
                                                      
                               Object Interaction         

Schulte, Bennedsen ICER06                                            24
                            Thank you!



Schulte, Bennedsen ICER06                25

						
Related docs
Other docs by nyut545e2