SlideShare una empresa de Scribd logo
1 de 49
Teaching and Learning Computing A Review of the Literature Matt Bower [email_address]
What this discussion covers… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Some General Educational Theories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
General Educational Theories ,[object Object],[object Object],[object Object],[object Object],[object Object],Environment stimulus Sensory Perception Short Term Memory Long Term Memory response
General Educational Theories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
General Educational Theories ,[object Object],[object Object],[object Object],[object Object]
General Educational Theories ,[object Object],[object Object],[object Object]
[object Object],[object Object],Processes and Models in Computing Thinking Bloom’s categories Learning to Program Knowledge Tools, constructs, syntax Comprehension Relating concepts Application Flow, semantics Analysis Understanding the problem Synthesis Create the solution Evaluation Assess other options
Processes and Models in Computing Thinking ,[object Object],1. Declarative tasks 2. Comprehension tasks 3. Debugging tasks 4. Prediction tasks 5. Provide-an-example tasks 6. Provide-a-model tasks 7. Evaluate tasks 8. Meet-a-Design-Specification tasks 9. Solve-a-problem tasks 10. Self-reflect tasks
Processes and Models in Computing Thinking ,[object Object],Interpreting Create Apply None Remember Understand Analyse Evaluate
Processes and Models in Computing Thinking ,[object Object],Declarative Knowledge Procedural Knowledge Syntactic Knowledge  1. Declarative-Syntactic Knowledge: Knowledge of syntactic facts related to a particular language, such as: Knowing that a semicolon is needed to end each statement in Pascal. 2. Procedural-Syntactic Knowledge:  Ability to apply rules of syntax when programming, such as the ability to write a syntactically correct REPEAT statement in Pascal. Conceptual Knowledge 3. Declarative-Conceptual Knowledge: Understanding of and ability to explain the semantics of the actions that take place as a program executes, such as the ability to explain what a fragment of pseudocode does. 4. Procedural-Conceptual Knowledge: Ability to design solutions to programming problems, such as the ability to design a procedure to compute the mean of some data. 5. Strategic/Conditional Knowledge:   The ability to design, code, and test a program to solve a novel problem.
Processes and Models in Computing Thinking ,[object Object],[object Object],Low Abstraction Level High Programming-Language  Oriented Thinking Programming  Oriented Thinking Program-Free  Thinking Programming Context Thinking
Processes and Models in Computing Thinking ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Student attributes leading to succeed in CS   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Student attributes leading to succeed in CS   ,[object Object],[object Object],[object Object],[object Object],[object Object]
Student attributes leading to succeed in CS   ,[object Object],[object Object],[object Object],[object Object],[object Object]
Student attributes leading to succeed in CS   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Novices versus Experts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Novices Versus Experts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Novices versus Experts ,[object Object],[object Object],[object Object],[object Object],[object Object]
Identifying Student Difficulties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Identifying Student Difficulties ,[object Object],(Rath & Brown, 1995) Syntactic Error Algorithmic Error Natural Language Reasoning Independent Computer Reasoning Operational Errors Conceptions Alternative and Incomplete Reasoning
Identifying Student Difficulties ,[object Object],[object Object],[object Object],[object Object]
Identifying Student Difficulties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instructional Design (ID) ,[object Object],[object Object],[object Object],[object Object],[object Object]
ID - Introduce new concepts ,[object Object],[object Object],[object Object]
ID - Scaffolding ,[object Object],[object Object],Control Structure Diagrams (Hendrix et al, 2000) import java.awt.*; public class SkeletonCode { public static void main(String[ ] args){ int j = number_to_beat; // insert code here… } } Providing skeleton code (Applin, 2001)
ID - Scaffolding ,[object Object],Partially completed Object Diagram and Question (Thomas et al., 2004, p. 251)
ID – Behaviour Modelling ,[object Object],[object Object],[object Object],[object Object],[object Object]
ID -  Teaching problem solving ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ID – Teaching Problem Solving ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ID – Teaching Problem Solving ,[object Object],[object Object],[object Object],[object Object],[object Object]
ID – Teaching Problem Solving ,[object Object],[object Object],[object Object],[object Object]
ID – Teaching Problem Solving ,[object Object],[object Object],[object Object],[object Object]
ID – Developing Critical Thinking  ,[object Object]
ID – Developing Critical Thinking  ,[object Object],[object Object],[object Object],[object Object],[object Object]
ID – Promoting Deep Learning ,[object Object],[object Object]
ID - Promoting Deep Learning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ID – Promoting Deep Learning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ID -  Scope, Sequencing and Spacing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Theory Into Practice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Theory Into Practice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Theory Into Practice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Theory Into Practice ,[object Object],[object Object],[object Object]
Wrap Up ,[object Object],[object Object],[object Object]
Questions? ,[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Assessing and promoting computer-supported collaborative learning
Assessing and promoting computer-supported collaborative learningAssessing and promoting computer-supported collaborative learning
Assessing and promoting computer-supported collaborative learningtelss09
 
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...ijma
 
Interactive Whiteboards
Interactive WhiteboardsInteractive Whiteboards
Interactive Whiteboardsjessmartin
 
The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...
The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...
The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...Leonhard Bernold
 
Developing construct maps for attentiveness
Developing construct maps for attentivenessDeveloping construct maps for attentiveness
Developing construct maps for attentivenessPatrick Lowenthal
 

La actualidad más candente (10)

Assessing and promoting computer-supported collaborative learning
Assessing and promoting computer-supported collaborative learningAssessing and promoting computer-supported collaborative learning
Assessing and promoting computer-supported collaborative learning
 
Learning and teaching of geometry (duval)
Learning and teaching of geometry (duval)Learning and teaching of geometry (duval)
Learning and teaching of geometry (duval)
 
The ICE Model
The ICE ModelThe ICE Model
The ICE Model
 
Intelligent tutoring systems
Intelligent  tutoring  systemsIntelligent  tutoring  systems
Intelligent tutoring systems
 
Flashcards
FlashcardsFlashcards
Flashcards
 
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
THE IMPACT OF USING VISUAL PROGRAMMING ENVIRONMENT TOWARDS COLLEGE STUDENTS’ ...
 
Concept Map
Concept MapConcept Map
Concept Map
 
Interactive Whiteboards
Interactive WhiteboardsInteractive Whiteboards
Interactive Whiteboards
 
The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...
The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...
The Use of Engineering Sketching and Journaling to Foster Deep Understanding ...
 
Developing construct maps for attentiveness
Developing construct maps for attentivenessDeveloping construct maps for attentiveness
Developing construct maps for attentiveness
 

Similar a Bower Computer Science Education Literature Review Csta

Asld2011 kali ronen-fuhrman
Asld2011 kali ronen-fuhrmanAsld2011 kali ronen-fuhrman
Asld2011 kali ronen-fuhrmanYishay Mor
 
Teaching of Computer Science in Schools
Teaching of Computer Science in SchoolsTeaching of Computer Science in Schools
Teaching of Computer Science in Schoolsmarpasha
 
Design and development of e learning contents and online activities
Design and development of e learning contents and online activitiesDesign and development of e learning contents and online activities
Design and development of e learning contents and online activitiesMUHAMMAD SABRI SAHRIR
 
Conceptual learning through learning objects: application in Mathematics clas...
Conceptual learning through learning objects: application in Mathematics clas...Conceptual learning through learning objects: application in Mathematics clas...
Conceptual learning through learning objects: application in Mathematics clas...CITE
 
Assessment 2......
Assessment 2......Assessment 2......
Assessment 2......Shakila Bano
 
An Automatic Question Paper Generation : Using Bloom's Taxonomy
An Automatic Question Paper Generation : Using Bloom's   TaxonomyAn Automatic Question Paper Generation : Using Bloom's   Taxonomy
An Automatic Question Paper Generation : Using Bloom's TaxonomyIRJET Journal
 
02 course design analysis phase
02 course design   analysis phase02 course design   analysis phase
02 course design analysis phaseDr. Chetan Bhatt
 
Problem Solving Protocols
Problem Solving ProtocolsProblem Solving Protocols
Problem Solving Protocolsigualproject
 
Guldberg Design Project
Guldberg Design ProjectGuldberg Design Project
Guldberg Design Projectaguldberg
 
Instructional Design Training.ppt
Instructional Design Training.pptInstructional Design Training.ppt
Instructional Design Training.pptInselAcademy
 
Aaee2004 Presentation V1.5[1]
Aaee2004 Presentation V1.5[1]Aaee2004 Presentation V1.5[1]
Aaee2004 Presentation V1.5[1]Sanjay Goel
 
formative e-assessment developers day
formative e-assessment developers dayformative e-assessment developers day
formative e-assessment developers dayYishay Mor
 
Salford uni pres 2011
Salford uni pres 2011Salford uni pres 2011
Salford uni pres 2011oseamons
 
Salford uni pres 2011
Salford uni pres 2011Salford uni pres 2011
Salford uni pres 2011oseamons
 
Cognitive aspects in human computer interaction
Cognitive aspects in human computer interactionCognitive aspects in human computer interaction
Cognitive aspects in human computer interactionpavishkumarsingh
 
Learning Design and ResearchMethods/Statistics
Learning Design and ResearchMethods/StatisticsLearning Design and ResearchMethods/Statistics
Learning Design and ResearchMethods/StatisticsJames Dalziel
 
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaTeaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaDr. Sandeep Kumar Singh
 
Km knowledge application.11
Km  knowledge application.11Km  knowledge application.11
Km knowledge application.11leilajannati
 

Similar a Bower Computer Science Education Literature Review Csta (20)

Asld2011 kali ronen-fuhrman
Asld2011 kali ronen-fuhrmanAsld2011 kali ronen-fuhrman
Asld2011 kali ronen-fuhrman
 
Teaching of Computer Science in Schools
Teaching of Computer Science in SchoolsTeaching of Computer Science in Schools
Teaching of Computer Science in Schools
 
Design and development of e learning contents and online activities
Design and development of e learning contents and online activitiesDesign and development of e learning contents and online activities
Design and development of e learning contents and online activities
 
Conceptual learning through learning objects: application in Mathematics clas...
Conceptual learning through learning objects: application in Mathematics clas...Conceptual learning through learning objects: application in Mathematics clas...
Conceptual learning through learning objects: application in Mathematics clas...
 
Assessment 2......
Assessment 2......Assessment 2......
Assessment 2......
 
An Automatic Question Paper Generation : Using Bloom's Taxonomy
An Automatic Question Paper Generation : Using Bloom's   TaxonomyAn Automatic Question Paper Generation : Using Bloom's   Taxonomy
An Automatic Question Paper Generation : Using Bloom's Taxonomy
 
Cognitive Tools
Cognitive ToolsCognitive Tools
Cognitive Tools
 
Md6 assgn1owens
Md6 assgn1owensMd6 assgn1owens
Md6 assgn1owens
 
02 course design analysis phase
02 course design   analysis phase02 course design   analysis phase
02 course design analysis phase
 
Problem Solving Protocols
Problem Solving ProtocolsProblem Solving Protocols
Problem Solving Protocols
 
Guldberg Design Project
Guldberg Design ProjectGuldberg Design Project
Guldberg Design Project
 
Instructional Design Training.ppt
Instructional Design Training.pptInstructional Design Training.ppt
Instructional Design Training.ppt
 
Aaee2004 Presentation V1.5[1]
Aaee2004 Presentation V1.5[1]Aaee2004 Presentation V1.5[1]
Aaee2004 Presentation V1.5[1]
 
formative e-assessment developers day
formative e-assessment developers dayformative e-assessment developers day
formative e-assessment developers day
 
Salford uni pres 2011
Salford uni pres 2011Salford uni pres 2011
Salford uni pres 2011
 
Salford uni pres 2011
Salford uni pres 2011Salford uni pres 2011
Salford uni pres 2011
 
Cognitive aspects in human computer interaction
Cognitive aspects in human computer interactionCognitive aspects in human computer interaction
Cognitive aspects in human computer interaction
 
Learning Design and ResearchMethods/Statistics
Learning Design and ResearchMethods/StatisticsLearning Design and ResearchMethods/Statistics
Learning Design and ResearchMethods/Statistics
 
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaTeaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
 
Km knowledge application.11
Km  knowledge application.11Km  knowledge application.11
Km knowledge application.11
 

Bower Computer Science Education Literature Review Csta

  • 1. Teaching and Learning Computing A Review of the Literature Matt Bower [email_address]
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.

Notas del editor

  1. This review doesn’t cover how to teach specific topics. Relates educational principles & theories relevant to CSE as presented in the literature. Is definitely not personal opinions about how to teach CS – it is a general orientation to and roadmap through some of the CSE literature. Please excuse patronising tone – it’s a habit!
  2. * Assimilation: do-while loop after learning for loop * Accommodation: learning about integer division as it relates to CSE: 17/3 <= 5
  3. If any of these processes are not executed then meaningful learning cannot occur and the learner will be forced to rote learn information and commit each piece to memory. The implication for teaching and learning computing is that students must be engaged, material must be appropriately pitched and tasks must involve reformulation of the material if an understanding framework is to be developed.
  4. Levels of processing: Revisiting tasks frequently, deep learning, prioritising important tasks. Dual code: cater to both auditory and visual learning styles Transfer Appropriate Processing: relevant, practical learning tasks – eg teach design skills through projects Parallel Distributed Processing: (effectively, like computer!) therefore no need to address each component of memory separately Limited Capacity Processors: Overloading is detrimental! Tactics to assist: chunking assists storage and recall.
  5. Retroactive Inhibition: One type of loop should not be taught until the other has been thoroughly learnt Proactive Inhibition: Learning a second language interferes with learning new language. However it should be noted that there are often times when one learning experience supports another. For instance, the learning of a first programming language can greatly assist in the learning of a second programming language (retroactive facilitation). At the same time as the learning of the second language can enrich the understanding of the first (proactive facilitation). The key is providing adequate and well timed learning opportunities for students to compare and contrast concepts so that they understand the differences and appreciate the similarities of ideas being presented – maximising facilitation and reducing the possibility of inhibition.
  6. Different forms of scaffolding may be appropriate in different circumstances. Landa’s (1976) Algo-Heuristic Theory identifies classes of problems where it is necessary to execute operations in a well structured, predefined sequence (algorithmic problems) and also classes of problems for which precise and unambiguous sets of instructions cannot be formulated (creative or heuristic problems). Landa (1976) also describes semi-algorithmic and semi-heuristic problems, processes and instructions, the point being that the level of prescription in the scaffolding needs to be appropriately matched to the problem. A key idea behind Landa’s theory (and scaffolding generally) is that students ought to be taught not only subject matter but the underlying algorithms and heuristics of experts as well. An extension of this is that they also have to be encouraged to create algorithms and heuristics on their own, which introduces them to the cognitive operations, algorithms and heuristics which make up general methods of thinking; a rich exercise in metacognition [1] . [1] Metacognition can be defined as “knowledge about one’s own learning, or knowing how to learn and monitoring one’s own learning behaviours to determine the degree of progress and strategies needed for accomplishing instructional goals.” (Slavin, 1994, p. 232)
  7. Rist (1989) identifies that only once a relevant problem solving schema has been developed can students perform forward problem solving approaches from problem statement to goal solution. In the absence of such a forward moving plan, students must go about creating (a simplified) plan in a backwards fashion, starting with the goal solution. Only once a programmer has developed the relevant problem solving schema for a situation can they retrieve the plan to efficiently solve other problems. In order to assist students to develop problem solving Porter and Calder (2004) have suggested a pattern based support mechanism in the form of a control flow diagram. Interestingly pilot tests have proved unsuccessful. Once again a case of CS trying to use the abstracted model before students are ready.
  8. 2. McGill and Volet (1997) propose a conceptual framework for analysing computing thinking. Model integrates programming knowledges and cognitive psychology knowledges diagnosing deficiencies in the programming knowledge Framework for comprehensive instructional design To demonstrate these benefits, McGill and Volet (1997) apply this framework to a previous experimental study (Volet, 1991). Their application allowed them to identify that Volet’s (1991) approach of an explicit planning strategy for algorithm development in conjunction with modelling, coaching, and collaborative-learning activities had significantly positive effects on students’ procedural-conceptual and strategic/conditional and procedural-syntactic knowledge but not upon students’ declarative-syntactic and declarative-conceptual knowledge [1] . [1] It was argued that students' development of declarative-syntactic and declarative-conceptual knowledge were not significantly affected because these are skills that students can learn via independent study of written materials and is not dependent on the educational approach.
  9. Cognitive emphasis. Ie cognitive processes and cognitive models. Several cognitive processes and models in literature, 3 that are relevant across sub-domains will be presented here. 1. Ahanori (2000) presents a computing specific model that describes the level of student abstraction: Programming Language oriented thinking (low level abstraction, ‘action’ based) to Program Oriented Thinking (‘process’ based, where reference to a programming language is required, but not necessarily a specific one) to Programming-Free Thinking (high level abstraction, ‘object’ based).
  10. 3. Pervasive and applicable to all computing subjects. novice programmers to overcome comprehension problems caused by the hidden, unmarked actions and side effects of visually unmarked processes the notional machine needs to be simple and supported with some kind of concrete tool which allows the model to be observed. Verified. Eg Mayer, 1989.
  11. Many different studies addressing this topic, huge array of factors considered. Brief summaries of some studies presented here.
  12. Alan & Kolesar found that 53% of students who completed CS0 received an A grade in CS1 as compared to only 26% A grades for students who undertook a previous course in BASIC
  13. Alan & Kolesar found that 53% of students who completed CS0 received an A grade in CS1 as compared to only 26% A grades for students who undertook a previous course in BASIC
  14. Further to Kurland’s comments: expertise “must rest on a foundation of knowledge about computers, a programming language or languages, programming tools and resources, and ideally theory and formal methods” (Robins et al, 2003) Fay and Mayer “syntax-independent access theory” that planning (‘schematic’ and ‘strategic’) knowledge in programming can be learned independently of the ‘syntactic’ and ‘semantic’ knowledge. 10 years to develop true expertise
  15. Difficulty for novices is that all of these are addressed simultaneously -> isolating domains provides assistance
  16. Natural Language Reasoning - where a student's natural language understanding of a term or concept is incorrectly substituted for a programming language construct Independent Computer Reasoning - where students assume that the computer will automatically take actions or that it will understand what to do Alternative and incomplete reasoning - where an alternative model of reasoning is applied to the programming context (such as algebraic reasoning or mechanical process reasoning from a physical domain) or a programming language concept is incompletely formed. Operational Errors easier to identify, conceptions more important to address
  17. Novices and experts have similar SSK – people are used to providing algorithmic descriptions of how to solve problems from their every day life. However novices only possess fragmented PK, which leads them to create speculative solutions (or ‘patches’) to overcome stumbling blocks (or ‘impasses’).
  18. Ultimately lecturer must use their expertise to choose most appropriate approach. Eg introduce concepts through lectures or labs? Haberman and Kolikants’ (2001) research indicated that students who were first introduced to concepts using their tailored laboratory activities performed significantly better on a task involving the prediction of output for small sequences of Pascal code than those who first learnt the concepts in the classroom.
  19. In an experiment involving 44 beginning computer science pupils, Hendrix et al (2000) found that using Graphical Representation of Algorithms, Structures and Processes (GRASP) software to augment code with a Control Structure Diagram allowed students to more rapidly and correctly respond to test items relating to fundamental control flow of the program. Applin (2001) conducted an experiment involving 42 first year students enrolled in an introductory programming course that investigated the effect of setting assignments that requiring students to write specialised modules that are part of well developed prewritten programs rather than writing programs from scratch. The rationale for such a methodology is drawn from English language and foreign language classrooms that posit ‘the more students read the better they will write’. The analogy for Computer Science Education is that being exposed to well-written programs would cause students to write higher quality programs by the end of the course. Applin’s (2001) study confirmed that providing this scaffolding significantly improved student grades in the final examination.
  20. While beginners who were offered object diagram support did have higher average performance and those who used object diagrams in follow up tests did have a higher average score as a group compared to those who didn’t, the results were not significant at a 5% level. Also, Thomas et al. (2004) found that in future tests object diagrams were used less by students who entered the course with no formal programming background in a follow up assessment that did not contain object diagram support, which may indicate their lack of perceived merit. In fact, for students who did have a background in programming and constructed their object diagrams in this follow up assessment actually recorded a lower average score than those who did not (though not significantly so). Offering students choice is important when deploying scaffolding.
  21. ‘ algo-heuristic’ approaches, which deconstruct the conscious and especially unconscious mental processes that underlie expert learning and thinking in any domain Breeze virtual classrooms Screen recording of demonstrations
  22. Not every stage is required, but provides a thorough sieve for instructors to use as a checklist. Rist that suggests “programming expertise is partly represented by a knowledge base of pattern-like chunks, which consist of problems, their solutions and associated information. Given a problem, the expert programmer can retrieve an appropriate solution schema from his memory.”
  23. Metacognition can be defined as “knowledge about one’s own learning, or knowing how to learn and monitoring one’s own learning behaviours to determine the degree of progress and strategies needed for accomplishing instructional goals.” (Slavin, 1994, p. 232)
  24. In order to develop cognitive flexibility, Spiro, Feltovitch and Coulson stress the importance of constructed knowledge. Learners need to be encouraged to reformulate subject matter into their own representations. This allows students to develop an appreciation of the interconnectedness of complex domains as opposed to trying to compartmentalise the subject matter.
  25. CFT focuses on the nature of learning in complex and ill-structured domains. In his research Mendes applied Cognitive Flexibility Theory to teach the Hypermedia and Multimedia half of a Web Engineering course over the years 2000 to 2003. He reports a high level of achievement as a result of using these techniques to instruction. However, in his research he did not experimentally compare the cohort to a control group, which poses a potential area for further investigation.
  26. Robins et al. (2003, p. 156) describes recent shifts in educational practices which are tending towards “a focus not on the instructor teaching, but on the student learning, and effective communication between teacher and student. The goal is to foster ‘deep’ learning of principles and skills, and to create independent, reflective, life-long learners. The methods involve clearly stated course goals and objectives, stimulating the students’ interest and involvement with the course, actively engaging students with the course material, and appropriate assessment and feedback.”
  27. The final area of instructional design that will briefly be addressed in this section is that of course structure. Research by Bower and Richards (2004) found that the majority of student difficulties reported by students in an Introduction to Object Oriented Programming Unit related to how the course was structured rather than the actual material covered or the lecturers capabilities. For scope and sequencing refer to Reigeluth, 1980.
  28. This section presents accounts of successful approaches to teaching computing that build upon the theoretical design elements forementioned.
  29. Discovery learning: faculty pose critical thinking questions and then students are encouraged to discover the answer for themselves, engendering a deeper understanding of concepts and helping them become life-long-learners. About process education: While no formal scientific comparison to standard approaches is made, Smith (1996) points out that “Employers seek individuals who excel as: i) quick learners, ii) critical thinkers, iii) problem solvers, iv) communicators, v) professionals knowledgeable in their field, vi) team players, vii) self starters and viii) creative thinkers” (p 165). His approach addresses all of these qualities. A diametric shift in teacher mindset and great care with the logistics of implementation would be required for a unit to implemented using a Process Education approach, but the outcomes if successful appear fruitful.
  30. And the list can go on and on….
  31. There are many implications for teaching and learning that can be drawn from this review. Rather than summarise them in this section the process of drawing conclusions will be left to the reader (a task in higher order thinking!) Advantages of Conducting research: Forces academics to drill down into the teaching process and deconstruct what they are doing Allows action to be based upon scientific evidence rather than basing practices on “folk pedagogy”. Relatively undeveloped field – scope to conduct valuable research Advantages of reviewing literature: provide a better understanding of the learner, their cognitive processes and how to form them provide inspiration for instructional approaches provide checklists (sieves) with which to compare instructional design Buck and Stucki (2000) similarly advise of the danger of teaching according to one’s own understanding, without regard to established models of cognitive development. They note that the many teachers have “an inclination to recapitulate the systems development process because that is the order in which we have learned to apply our craft” (p.76). Brent Wilson from the University of Colorado encapsulates this in his paper “The Postmodern Paradigm” (1998) w here he recommends not throwing away the taxonomies entirely but rather to admit the tentativeness of any conceptual scheme applied to content and thus recommends offering holistic, information-rich experiences, that are flexible enough to integrate opportunities for mastery of un-analysed content. This is sensible advice. With such a myriad of data and recommendations from such an experienced body of Education professionals it is easy for lecturers to fall into the role of “information assimilator”. But let me challenge you all to be “accommodators”! All of the theories presented are merely tools and in no way replace the magic of inspiring students, of positive energy, and of exiting activities. Rasala (2000) points out that the delight of construction, the satisfaction of expanding personal thinking abilities, the possibility of creating beautiful graphics and powerful applications are the dimensions that excite Computer Science students and attract them to the field in the first place. While educational theories are useful for teachers to understand, it is important not to forget that when distilled to its base elements, the primary goal of Computer Science Education is to participate in the joy of learning. With this as a driving force behind our motivation to educate, success is inevitable.