Bower Computer Science Education Literature Review Csta

3,789 views

Published on

Review of Computer Science Education literature

  • Be the first to comment

  • Be the first to like this

Bower Computer Science Education Literature Review Csta

  1. 1. Teaching and Learning Computing A Review of the Literature Matt Bower [email_address]
  2. 2. What this discussion covers… <ul><li>Cognitive Processes and Models in Computing Thinking </li></ul><ul><li>What types of students are more likely to succeed in CS? </li></ul><ul><li>Novices versus Experts </li></ul><ul><li>Identifying Student Difficulties </li></ul><ul><li>Elements of Instructional Design </li></ul><ul><li>Tying it all together </li></ul>
  3. 3. Some General Educational Theories <ul><li>Constructivism : </li></ul><ul><ul><li>“ learners must individually discover and transform complex information, checking new information against old rules and revising them when they no longer work” (Slavin, 1994, p. 199). </li></ul></ul><ul><ul><li>“ constructivist classrooms are often viewed as problem-solving environments manifest through three C’s: context, construction and collaboration”. (Murnane and Warner, 2001) </li></ul></ul><ul><ul><li>With constructivism the learning process becomes one of: </li></ul></ul><ul><ul><ul><li>assimilation – fitting new objects into existing schemes by which we view our world (classification, abstraction) </li></ul></ul></ul><ul><ul><ul><li>accommodation – adjusting existing schemes to explain the way new objects relate to our world (cognitive disequalibrium) </li></ul></ul></ul>
  4. 4. General Educational Theories <ul><li>Information Processing Theories </li></ul><ul><ul><li>Requirements of meaningful learning: </li></ul></ul><ul><ul><ul><li>reception – the learner must pay attention to the input in order for it to enter short term memory </li></ul></ul></ul><ul><ul><ul><li>availability – the learner must possess prerequisite knowledge in memory in order to assimilate new concepts </li></ul></ul></ul><ul><ul><ul><li>activation – the learner must actively use the new information in conjunction with prerequisite knowledge in order to connect the new material to existing schema. (Mayer, 1989) </li></ul></ul></ul>Environment stimulus Sensory Perception Short Term Memory Long Term Memory response
  5. 5. General Educational Theories <ul><li>Information Processing Theories (cont) </li></ul><ul><ul><li>Levels-of-Processing Theory – the recall of a stimulus from memory is dependent upon the amount of mental processing that it receives </li></ul></ul><ul><ul><li>Dual Code Theory of Memory – information that is presented both visually and verbally is recalled better than information represented using only one medium </li></ul></ul><ul><ul><li>Transfer-Appropriate Processing – the strength and durability of memory depends on the similarity between the conditions under which the material was learned and those under which it is called for </li></ul></ul><ul><ul><li>Parallel Distributed Processing – information is processed simultaneously with different parts of the memory system (sensory register, short term memory and long term memory) operating on the same information at the same time </li></ul></ul><ul><ul><li>Limited Capacity Processors – optimal learning occurs when the limits of people’s information processing capabilities are not exceeded. </li></ul></ul>
  6. 6. General Educational Theories <ul><li>Information Processing Theories (cont) </li></ul><ul><ul><li>Types of interference: </li></ul></ul><ul><ul><ul><li>retroactive inhibition – when “previously learned information is lost because it is mixed up with new and somewhat similar information” </li></ul></ul></ul><ul><ul><ul><li>proactive inhibition - when “learning one set of information interferes with learning of later information” (Slavin, 1994) </li></ul></ul></ul>
  7. 7. General Educational Theories <ul><li>Scaffolding </li></ul><ul><ul><li>Vygotsky (1978) identified the ‘Zone of Proximal Development’ as those tasks that a learner cannot complete unassisted but can complete with some support. </li></ul></ul><ul><ul><li>‘ Scaffolding’ is the provision of high level support (cues, heuristics, hints, examples) during initial phases of learning and gradually remove that support as the learner grows in competence. </li></ul></ul>
  8. 8. <ul><li>Bloom’s Taxonomy applied to the computing domain </li></ul><ul><li>(Table taken from Porter and Calder, 2004) </li></ul>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
  9. 9. Processes and Models in Computing Thinking <ul><li>A taxonomy of computing processes (Bower, 2008) </li></ul>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
  10. 10. Processes and Models in Computing Thinking <ul><li>A two dimensional adaptation of Anderson & Krathwohls’ model for computing (Fuller et al, 2007) </li></ul>Interpreting Create Apply None Remember Understand Analyse Evaluate
  11. 11. Processes and Models in Computing Thinking <ul><li>McGill and Volet (1997) </li></ul>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.
  12. 12. Processes and Models in Computing Thinking <ul><li>Ahanori (2000) presents an application of the Actions-Process-Object Model to abstraction in learning to program. </li></ul><ul><li>Recommends hiding data structure implementations initially so students can experiment with the data structure operations – providing an abstraction barrier. </li></ul>Low Abstraction Level High Programming-Language Oriented Thinking Programming Oriented Thinking Program-Free Thinking Programming Context Thinking
  13. 13. Processes and Models in Computing Thinking <ul><li>Notional Machine (du Boulay et al. 1989) </li></ul><ul><ul><li>Visability through commentary </li></ul></ul><ul><ul><li>Simplicity through </li></ul></ul><ul><ul><ul><li>functional simplicity (operations require minimal instructions to specify) </li></ul></ul></ul><ul><ul><ul><li>logical simplicity (problems posed to students are of contained scale) </li></ul></ul></ul><ul><ul><ul><li>syntactic simplicity (the rules for writing instructions are accessible and uniform). </li></ul></ul></ul>
  14. 14. Student attributes leading to succeed in CS <ul><li>Wilson and Shrock (2001): </li></ul><ul><ul><ul><li>comfort level in the course </li></ul></ul></ul><ul><ul><ul><li>math background </li></ul></ul></ul><ul><ul><ul><li>attribution of success to luck </li></ul></ul></ul><ul><ul><ul><li>formal class in programming </li></ul></ul></ul><ul><ul><ul><li>history of computer games (-ve) </li></ul></ul></ul><ul><li>+ve effect of prior programming course supported </li></ul><ul><ul><ul><li>University courses better than High School (Morrison & Newman, 2001) </li></ul></ul></ul><ul><ul><ul><li>More prior languages implies greater effect (Markam, 2000) </li></ul></ul></ul>
  15. 15. Student attributes leading to succeed in CS <ul><li>Targetted prior course in problem solving more beneficial than prior programming course (Alan & Kolesar, 1996) </li></ul><ul><li>Mathematical-logical ability predicts success in computer science (Byrne & Lyon, 2001; Alstrum, 1996). </li></ul><ul><li>Mayer et al. (1996): </li></ul><ul><ul><ul><li>logical reasoning ability and visual ability were predictive </li></ul></ul></ul><ul><ul><ul><li>general verbal ability and arithmetic computation ability were not </li></ul></ul></ul>
  16. 16. Student attributes leading to succeed in CS <ul><li>Learning Styles </li></ul><ul><ul><li>Felder-Silverman learning styles analysed by Thomas et al. (2002): </li></ul></ul><ul><ul><ul><li>reflective learners (learn through independent reflection) outperformed active learners (learn by experimentation) </li></ul></ul></ul><ul><ul><ul><li>verbal learners (prefer written or spoken instruction) scored higher than visual learners (prefer pictures and diagrams). </li></ul></ul></ul><ul><ul><li>Ross et al. (2001) found students with an ordering preference for ‘sequential’ learning outperformed those with a ‘random’ learning style </li></ul></ul>
  17. 17. Student attributes leading to succeed in CS <ul><li>Field Dependence/Independence </li></ul><ul><ul><ul><li>Field Independent thinking: &quot;perceiving part of a field as discrete from its surrounds … perceiving analytically” (Witkin et al., 1977) </li></ul></ul></ul><ul><ul><ul><li>Some reachers have concluded Field Independent thinkers perform better in computer science, especially in design tasks (ref. Chou, 2003; Gibbs, 2000) </li></ul></ul></ul><ul><li>Perkins et al. (1989) identified </li></ul><ul><ul><ul><li>‘ movers’, who use feedback about errors effectively and keep trying, experimenting, and modifying their code </li></ul></ul></ul><ul><ul><ul><li>‘ stoppers’, who are frustrated by mistakes/errors and when confronted with a problem are likely to simply stop </li></ul></ul></ul><ul><ul><ul><li>Movers (but not extreme movers) outperform stoppers </li></ul></ul></ul>
  18. 18. Novices versus Experts <ul><li>Attributes of novice programmers (Winslow, 1996) : </li></ul><ul><ul><li>surface, fragile and superficially organised knowledge </li></ul></ul><ul><ul><li>lack of detailed mental models </li></ul></ul><ul><ul><li>failure to apply relevant knowledge or appropriate problem solving strategies </li></ul></ul><ul><ul><li>approach programming ‘line-by-line’ rather than using meaningful program chunks or structures </li></ul></ul><ul><ul><li>lack planning and testing skills </li></ul></ul>
  19. 19. Novices Versus Experts <ul><li>Attributes of Experts: </li></ul><ul><ul><li>efficiently organised and specialised knowledge schemas </li></ul></ul><ul><ul><li>organise knowledge according to functional characteristics (eg, the nature of underlying algorithms) rather than superficial details (eg, language syntax) </li></ul></ul><ul><ul><li>draw upon both general problem solving strategies (such as divide and conquer) as well as specialised strategies </li></ul></ul><ul><ul><li>use specialist schemas and a top-down, breadth-first approaches in order to efficiently decompose and understand programs </li></ul></ul><ul><ul><li>flexible in their approach to comprehending programs and willingness to abandon questionable hypotheses. </li></ul></ul><ul><ul><ul><li>(Mayrhauser & Vans, 1994, cited in Robins et al, 2003) </li></ul></ul></ul>
  20. 20. Novices versus Experts <ul><li>The catch… </li></ul><ul><ul><li>development of expertise requires novices to abstract their knowledge beyond the local, concrete representations they hold, versus… </li></ul></ul><ul><ul><li>“ the thinking skills we hope to develop and transfer out of programming depend upon student attaining certain proficiencies in programming” (Kurland et al, 1989) </li></ul></ul><ul><li>Introductory programming courses focus on ‘programming knowledge’ far more than they focus on ‘programming strategies’. (Robins et al, 2003) </li></ul><ul><li>evidence for &quot;syntax-independent access theory&quot; of learning computing (Fay & Mayer, 1994) </li></ul>
  21. 21. Identifying Student Difficulties <ul><li>Five overlapping and inextricably linked sources of difficulty when learning programming: </li></ul><ul><ul><ul><li>general orientation (what programs are for and what can be done with them) </li></ul></ul></ul><ul><ul><ul><li>the notional machine (a model of the computer as it relates to executing programs) </li></ul></ul></ul><ul><ul><ul><li>notation (the syntax and semantics of a particular programming language) </li></ul></ul></ul><ul><ul><ul><li>structures (schemas and plans) </li></ul></ul></ul><ul><ul><ul><li>pragmatics (the skills of planning, developing, testing, debugging and so on). </li></ul></ul></ul><ul><li> Du Boulay (1989) </li></ul>
  22. 22. Identifying Student Difficulties <ul><li>&quot;HCI conception“ model of student errors </li></ul>(Rath & Brown, 1995) Syntactic Error Algorithmic Error Natural Language Reasoning Independent Computer Reasoning Operational Errors Conceptions Alternative and Incomplete Reasoning
  23. 23. Identifying Student Difficulties <ul><li>Various research has found: </li></ul><ul><ul><li>program planning rather than specific language features presents the main source of difficulty to students for example, (Winslow, 1996; Rist, 1995) </li></ul></ul><ul><ul><li>Confounding between Step-by-Step natural language Knowledge (SSK) and Programming Knowledge (PK) is the major source of novice programming difficulty, accounting for between 47% and 67% of errors, depending on the domain. (Bonar & Soloway, 1989) </li></ul></ul><ul><ul><li>Mathematical-logical reasoning causes more student difficulty than other aspects of computer science (Alstrum, 1996) </li></ul></ul>
  24. 24. Identifying Student Difficulties <ul><li>Detailed deconstruction of plan composition difficulties: </li></ul><ul><ul><li>Summarisation problem - only the primary function of a plan is considered, implications and secondary aspects may be ignored. </li></ul></ul><ul><ul><li>Optimisation problem - optimisation may be attempted inappropriately. </li></ul></ul><ul><ul><li>Previous-experience problem - prior experience may be applied inappropriately </li></ul></ul><ul><ul><li>Specialisation problem - abstract plans may not be adapted to specific situations. </li></ul></ul><ul><ul><li>Natural-language problem - inappropriate analogies may be drawn from natural language. </li></ul></ul><ul><ul><li>Interpretation problem - ‘implicit specification’ can be left out, or ‘filled in’ only when appropriate plans can be easily retrieved. </li></ul></ul><ul><ul><li>Boundary problem - when adapting a plan to specific situations boundary points may be set inappropriately. </li></ul></ul><ul><ul><li>Unexpected cases problem - uncommon, unlikely, and boundary cases may not be considered. </li></ul></ul><ul><ul><li>Cognitive load problem - minor but significant parts of plans may be omitted, or plan interactions overlooked. (Spohrer & Soloway, 1989) </li></ul></ul>
  25. 25. Instructional Design (ID) <ul><li>“ Instructional Design” is the term used to describe the process of planning and constructing educational resources and activities to promote learning </li></ul><ul><li>Some elements of instructional design: </li></ul><ul><ul><li>Scaffolding </li></ul></ul><ul><ul><li>Teaching Problem Solving </li></ul></ul><ul><ul><li>Theory Into Practice </li></ul></ul>
  26. 26. ID - Introduce new concepts <ul><li>Gagne’s (1985) Conditions of Learning Model for unfamiliar concepts: </li></ul><ul><li>(1) gaining attention (reception) (2) informing learners of the objective (expectancy) (3) stimulating recall of prior learning (retrieval) (4) presenting the stimulus (selective perception) (5) providing learning guidance (semantic encoding) (6) eliciting performance (responding) (7) providing feedback (reinforcement) (8) assessing performance (retrieval) (9) enhancing retention and transfer (generalization) </li></ul><ul><li>Through to Carroll’s Minimalism for familiar domains/self-directed learners: “minimising the amount of reading and other passive forms of training by allowing users to fill in the gaps themselves” </li></ul>
  27. 27. ID - Scaffolding <ul><li>Myriad of approaches to scaffolding </li></ul><ul><li>Research approach to investigating efficacy reveals that it can be effective… </li></ul>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)
  28. 28. ID - Scaffolding <ul><li>Or ineffective… </li></ul>Partially completed Object Diagram and Question (Thomas et al., 2004, p. 251)
  29. 29. ID – Behaviour Modelling <ul><li>Skilled programmers need to be fast adapters, inquisitive, critical thinkers, realistic and in many respects jack-of-all-trades (Hunt & Thomas, 2000) </li></ul><ul><li>“ Modelling” offers Computer Science educators the capacity to impart attitudes, thought processes, problem solving techniques and mechanical skills. </li></ul><ul><li>Expert Modelling offers students a “Cognitive Apprenticeship” through which these behaviours can be portrayed and subsequently adopted by learners (Collins et al, 1991) </li></ul><ul><li>Commentary based ‘algo-heuristic’ approaches are effective in supporting expert modelling (Landa, 1976) </li></ul><ul><li>Research supports the efficacy of expert modelling approaches (eg, Chau, 2001) </li></ul>
  30. 30. ID - Teaching problem solving <ul><li>Gagne’s (1985) hierarchy of psychological capabilities for problem solving: </li></ul><ul><ul><ul><li>discrimination learning (distinguishing between various objects) </li></ul></ul></ul><ul><ul><ul><li>concept learning (objects matched to concept classes) </li></ul></ul></ul><ul><ul><ul><li>defined concepts (learning classification rules or definitions) </li></ul></ul></ul><ul><ul><ul><li>rule learning (responding to classes or relationships), and </li></ul></ul></ul><ul><ul><ul><li>higher order rule learning (combining rules in order to solve a problem). </li></ul></ul></ul><ul><ul><li>Students must master lower level prerequisite skills before they can advance to the next higher level </li></ul></ul>
  31. 31. ID – Teaching Problem Solving <ul><li>An heuristic for teaching problem solving: </li></ul><ul><ul><li>Providing a representative example of a type of problem </li></ul></ul><ul><ul><li>Providing a definition and description </li></ul></ul><ul><ul><li>Specifying a pattern name </li></ul></ul><ul><ul><li>Identifying similar patterns and similar problems </li></ul></ul><ul><ul><li>Comparing to other types of solutions </li></ul></ul><ul><ul><li>Identifying typical uses of the pattern </li></ul></ul><ul><ul><li>Highlighting common mistakes and difficulties </li></ul></ul><ul><ul><li>Pattern composing (for problems whose solutions may be composed of several problems) </li></ul></ul><ul><ul><li>Practicing the modification of pattern related solutions to solve alternative problems. </li></ul></ul><ul><ul><li>(Muller, Haberman & Averbuch, 2004) </li></ul></ul>
  32. 32. ID – Teaching Problem Solving <ul><li>Schonfield’s (1985) problem solving model in the mathematical domain: </li></ul><ul><ul><ul><li>Resources (such as axioms, formulae, and standard procedures) </li></ul></ul></ul><ul><ul><ul><li>Hueristics (strategies such as inductive search, analogy and backward reasoning) </li></ul></ul></ul><ul><ul><ul><li>Control (monitoring decisions taken by the problem solver during the problem solving process). </li></ul></ul></ul><ul><ul><li>Ginat (2001) proposes ‘self-explanation’ activities to develop control skills metacognitively </li></ul></ul>
  33. 33. ID – Teaching Problem Solving <ul><li>Making strategies explicit (Ginat, 2002) </li></ul><ul><ul><li>(Example Problem: Determine an efficient approach to deciding whether a particular number makes up the majority of a large set of numbers. So for a small set of numbers such as {5, 3, 6, 5, 5, 9, 12, 5, 5} the number 5 makes up the majority.) </li></ul></ul><ul><ul><li>‘ Top-down’ solution: count the frequency of numbers stored in a data structure, calculate the maximum frequencies, count the number of elements in the list, determine if the maximum frequency is greater than half the number of elements. </li></ul></ul><ul><ul><li>‘ Range Decomposition’ solution: find the majority element of subsets of the data and then apply rules based on these results to determine the overall majority element, if it exists. </li></ul></ul>
  34. 34. ID – Teaching Problem Solving <ul><li>(continued…) Making strategies explicit (Ginat, 2002) </li></ul><ul><ul><li>(Problem: Determine an efficient approach to deciding whether a particular number makes up the majority of a large set of numbers. Eg, for {5, 3, 6, 5, 5, 9, 12, 5, 5} the number 5 makes up the majority. </li></ul></ul><ul><ul><li>‘ Element Decomposition’ solution: convert the integers into binary numbers and determine the majority element for each binary digit. Then a second linear pass of the original integer set would determine if the number composed of the majority elements from the binary digits was in fact a majority element. </li></ul></ul><ul><ul><li>‘ Inductive Decomposition’ solution: remove pairs of different elements from the set until there is only one (repeated) number left, or there is a set of three different numbers. </li></ul></ul>
  35. 35. ID – Developing Critical Thinking <ul><li>Spiro, Feltovitch and Coulsons’ (1988) Cognitive Flexibility Theory: “the ability to spontaneously restructure one's knowledge, in many ways, in adaptive response to radically changing situational demands...This is a function of both the way knowledge is represented (e.g., along multiple rather single conceptual dimensions) and the processes that operate on those mental representations (e.g., processes of schema assembly rather than intact schema retrieval).“ </li></ul>
  36. 36. ID – Developing Critical Thinking <ul><li>Basic principles of CFT: </li></ul><ul><ul><li>Instruction should reflect the complexity that faces industry practitioners rather than treating domain problems as simple linear decision making processes. This emphasises inter-connectedness and avoids oversimplification. </li></ul></ul><ul><ul><li>Instruction should be based on multiple cases to allow learners to abstract between examples. </li></ul></ul><ul><ul><li>Cases should be context-dependent to allow learners to acquire a deeper appreciation of the subtleties affecting decision making and more easily apply expertise in practice. </li></ul></ul><ul><li>Mendes (2003) reports success applying CFT for teaching Web Engineering. </li></ul>
  37. 37. ID – Promoting Deep Learning <ul><li>&quot;... we learn: 10% of what we read 20% of what we hear 30% of what we see 50% of what we both see and hear 70% of what we discuss 80% of what we experience 95% of what we teach someone else.“ </li></ul><ul><li>(Glasser, 1990) </li></ul>
  38. 38. ID - Promoting Deep Learning <ul><li>Knowles’ (1984) Andragogic theory of adult learning: </li></ul><ul><ul><ul><li>Effective adult learning must be relevancy oriented. </li></ul></ul></ul><ul><ul><ul><li>Adults are self directed learners and need to be free to control their learning experience. </li></ul></ul></ul><ul><ul><ul><li>Experience is the main foundation for learning activities for adults. </li></ul></ul></ul><ul><ul><ul><li>Adults are practically oriented learners. </li></ul></ul></ul><ul><ul><ul><li>Adult learners are goal oriented. </li></ul></ul></ul><ul><ul><li>Andragogy implies </li></ul></ul><ul><ul><ul><li>designing instructional approaches that are task-oriented as opposed to involving direct memorisation, and </li></ul></ul></ul><ul><ul><ul><li>establishing a problem-centred rather than content-oriented focus to courseware. </li></ul></ul></ul>
  39. 39. ID – Promoting Deep Learning <ul><li>Skemp (1976): </li></ul><ul><ul><li>‘ problem-centred’ rather than ‘answer-centred’ </li></ul></ul><ul><ul><li>allows learners to develop a ‘relational’ understanding (knowing both what to do and why) as opposed to an ‘instrumental’ understanding (rules without reasons) </li></ul></ul><ul><li>Carroll’s (1998) Minimalist approach to ID: </li></ul><ul><ul><li>deployment of project based learning as quickly as possible </li></ul></ul><ul><ul><li>relevant activities to promote active engagement </li></ul></ul><ul><ul><li>mistakes as providing the basis for rich learning activities </li></ul></ul>
  40. 40. ID - Scope, Sequencing and Spacing <ul><li>Scope: the amount of novel conceptual material introduced in a learning episode </li></ul><ul><ul><li>must take information processing capacities and level of ability of students into account </li></ul></ul><ul><li>Sequencing: </li></ul><ul><ul><li>Topical (forsters constructivism) </li></ul></ul><ul><ul><li>Spiralling (fosters abstraction) </li></ul></ul><ul><li>Spacing: spreading out instruction and activities in smaller chunks over a longer time frame </li></ul><ul><ul><li>“ one of the most dependable and replicable phenomena in experimental psychology …with little evidence of widespread application” (Dempster, 1998) </li></ul></ul>
  41. 41. Theory Into Practice <ul><li>Sydney University has experimented with Problem Based Learning approaches to teaching programming Kay et al., 2000) </li></ul><ul><ul><li>open ended, authentic, substantial problems which drive learning </li></ul></ul><ul><ul><li>explicit teaching and assessment of generic and metacognitive skills, and </li></ul></ul><ul><ul><li>collaborative learning in groups. </li></ul></ul><ul><ul><li>Example: “implementing a supermarket checkout queue simulator” used as context for </li></ul></ul><ul><ul><ul><li>develop metacognitive (steps taken to solve the problem, delegation of time) </li></ul></ul></ul><ul><ul><ul><li>subject of groupwork (externalising knowledge, developing collaborative skills) </li></ul></ul></ul><ul><ul><li>mean examination mark improved from 63% to 91% over the two year period, increased levels of student satisfaction. </li></ul></ul>
  42. 42. Theory Into Practice <ul><li>constructivist learning through groupwork analysis tasks: </li></ul><ul><ul><li>Code walkthroughs </li></ul></ul><ul><ul><li>Group code writing tasks </li></ul></ul><ul><ul><li>Group code debugging tasks </li></ul></ul><ul><ul><li>Lecture note reconstruction tasks (students listen to a mini-lecture, attempt to construct a summary by memory and then meet in groups to improve their summaries) </li></ul></ul><ul><li>Van Gorp and Grissom (2001) </li></ul>
  43. 43. Theory Into Practice <ul><li>Synthesising Techniques… </li></ul><ul><ul><li>A Data Structures Course: </li></ul></ul><ul><ul><ul><li>Bloom’s taxonomy to the setting of lesson objectives </li></ul></ul></ul><ul><ul><ul><li>Kolb Learning Cycle and Felder’s Learning Styles to determine instructional approach </li></ul></ul></ul><ul><ul><ul><li>Cooperative Learning principles to drive group-work assignments. ( Howard, Carver & Lane, 1996) </li></ul></ul></ul><ul><ul><li>“ Process Education” approach: </li></ul></ul><ul><ul><ul><li>closed computer laboratory sessions </li></ul></ul></ul><ul><ul><ul><li>team projects </li></ul></ul></ul><ul><ul><ul><li>journals, reports, presentations </li></ul></ul></ul><ul><ul><ul><li>discovery learning, developing life long learners </li></ul></ul></ul><ul><ul><ul><li>flexible teacher role (leader, assessor, facilitator, evaluator) </li></ul></ul></ul><ul><ul><ul><li>(Smith, 1996) </li></ul></ul></ul>
  44. 44. Theory Into Practice <ul><li>And yet other principles: </li></ul><ul><ul><li>real time data across a variety of sciences as a way to improve motivation and interest (Tesser et al, 2000) </li></ul></ul><ul><ul><li>Pre-quizzes as ‘Advanced Organisers’ to bring required prerequisite knowledge to working memory, provide distributed practice and promote automaticity </li></ul></ul>
  45. 45. Wrap Up <ul><li>Numerous benefits of research approaches to Computer Science Education </li></ul><ul><li>However, designing over-systematised approaches to instruction that are based on research findings alone can be sub-optimal </li></ul><ul><li>Embrace the challenge and richness of theoretically grounded educational and research! </li></ul>
  46. 46. Questions? <ul><li>[email_address] </li></ul>
  47. 47. References <ul><li>Aharoni, D. (2000) Cogito, Ergo sum! cognitive processes of students dealing with data structures. Proceedings of the thirty-first SIGCSE technical symposium on Computer science education , p. 26-30. </li></ul><ul><li>Allan, V. H. and Kolesar, M. V. (1996) Teaching Computer Science: A Problem Solving Approach that Works. In, Call of the North, NECC '96. Proceedings of the Annual National Educational Computing Conference (17th, Minneapolis, Minnesota, June 11-13, 1996) , p. 2-9. </li></ul><ul><li>Almstrum, V. L. (1996) Investigating Student Difficulties with Mathematical Logic. In Teaching and Learning Formal Methods , (Eds, Dean, C. N. and Hinchey, M. G.) London: Academic Press, p. 131-160. </li></ul><ul><li>Applin, A. G. (2001) Second language acquisition and CS1. In, Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education , p. 174-178. </li></ul><ul><li>Bower, M. (2008 ). A Taxonomy of Task Types in Computing. Proceedings of the 13th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE08), pp. 281-285, Madrid, Spain: ACM Press </li></ul><ul><li>Bonar, J. and Soloway, E. (1989) Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers. In Studying the Novice Programmer , (Eds, Soloway, E. and Spoher, J. C.) Hillsdale, NJ: Lawrence Erlbaum, p. 325-353. </li></ul><ul><li>Byrne, P. and Lyons, G. (2001) The effect of student attributes on success in programming. SIGCSE Bull., 33(3), p. 49-52. </li></ul><ul><li>Chou, H. W. (2001) Influences of cognitive style and training method on training effectiveness. Computers & Education, 37(1). </li></ul><ul><li>du Boulay, B., O'Shea, T. and Monk, J. (1989) The black box inside the glass box: presenting computing concepts to novices. In Studying the Novice Programmer , (Eds, Soloway, E. and Spoher, J. C.) Hillsdale, NJ: Lawrence Erlbaum, p. 431-446. </li></ul><ul><li>Fay, A. L. and Mayer, R. E. (1994) Benefits of Teaching Design Skills Before Teaching Logo Computer Programming: Evidence for Syntax Independent Learning. Journal of Educational Computing Research, v11(3), p. 187-210. </li></ul><ul><li>Fuller, U., Johnson C. G., Ahoniemi, T., Cukierman, D., Hernán-Losada, I., Jackova, J., Lahtinen, E., Lewis, T. L., McGee-Thompson, D., Riedesel, C., Thompson, E. (2007). Developing a computer science-specific learning taxonomy. Working group reports on ITiCSE on Innovation and technology in computer science education, ITiCSE-WGR '07, pp. 152-170, ACM Press </li></ul><ul><li>Gibbs, D. C. (2000) The effect of a constructivist learning environment for field-dependent/independent students on achievement in introductory computer programming. In, Proceedings of the thirty-first SIGCSE technical symposium on Computer Science Education , p. 207-211. </li></ul><ul><li>Ginat, D. (2001) Metacognitive awareness utilized for learning control elements in algorithmic problem solving. SIGCSE Bull., 33(3), p. 81-84. </li></ul>
  48. 48. References <ul><li>Ginat, D. (2002) On varying perspectives of problem decomposition. In, Proceedings of the 33rd SIGCSE technical symposium on Computer science education , p. 331-335. </li></ul><ul><li>Haberman, B. and Kolikant, Y. (2001) Activating “black boxes” instead of opening “zipper” - a method of teaching novices basic CS concepts. SIGCSE Bull., 33(3), p. 41-44. </li></ul><ul><li>Hendrix, T. D., II, J. H. C., Maghsoodloo, S. and McKinney, M. L. (2000) Do visualizations improve program comprehensibility? experiments with control structure diagrams for Java. In Proceedings of the thirty-first SIGCSE technical symposium on Computer science education , ACM Press, p. 382-386. </li></ul><ul><li>Howard, R. A., Carver, C. A. and Lane, W. D. (1996) Felder's learning styles, Bloom's taxonomy, and the Kolb learning cycle: tying it all together in the CS2 course. In, Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education , p. 227-231. </li></ul><ul><li>Kay, J., Barg, M., Fekete, A., Greening, T., Hollands, O., Kingston, J. H. and Crawford, K. (2000) Problem-Based Learning for Foundation Computer Science Courses. Computer Science Education, 10(2), p. 109-128. </li></ul><ul><li>Kurland, D., Pea, R., Clement, C. and Mawby, R. (1989) A Study of the Development of Programming Ability and Thinking Skills in high School Students. In Studying the Novice Programmer , (Eds, Soloway, E. and Spoher, J. C.) Hillsdale, NJ: Lawrence Erlbaum, p. 83-112. </li></ul><ul><li>Mayer, R. E. (1989) The Psychology of How Novices Learn Computer Programming. In Studying the Novice Programmer , (Eds, Soloway, E. and Spoher, J. C.) Hillsdale, NJ: Lawrence Erlbaum, p. 129-159. </li></ul><ul><li>McGill, T. J. and Volet, S. E. (1997) A Conceptual Framework for Analyzing Students' Knowledge of Programming. Journal of Research on Computing in Education, 29(3), p. 276-297. </li></ul><ul><li>Morrison, M. and Newman, T. S. (2001) A study of the impact of student background and preparedness on outcomes in CS I. In Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education , ACM Press, p. 179--183. </li></ul><ul><li>Muller, O., Haberman, B. and Averbuch, H. (2004) (An almost) pedagogical pattern for pattern-based problem-solving instruction. In Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education , ACM Press, p. 102-106. </li></ul><ul><li>Porter, R. and Calder, P. (2004) Patterns in Learning to Program - An Experiment? In, Proc. Sixth Australasian Computing Education Conference (ACE2004) , p. 193-199. </li></ul><ul><li>Robins, A., Roundtree, J. and Roundtree, N. (2003) Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), p. 137-172. </li></ul>
  49. 49. References <ul><li>Rath, A. and Brown, D. E. (1995) Conceptions of Human-Computer Interaction: A Model for Understanding Student Errors. Journal of Educational Computing Research, 12(4), p. 395-409. </li></ul><ul><li>Rist, R. S. (1995) Program Structure and Design. Cognitive Science, 19, p. 507-562. </li></ul><ul><li>Ross, J. L., Drysdale, M. T. B. and Schultz, R. A. (2001) Cognitive Learning Styles and Academic Performance in Two Postsecondary Computer Application Courses. Journal of Research on Technology in Education, 33(4). </li></ul><ul><li>Smith, P. D. (1996) A Process Education Approach To Teaching Computer Science. In: Association of Small Computer Users in Education (ASCUE) Summer Conference Proceedings (29th, North Myrtle Beach, SC, June 9-13, 1996) , p. 11. </li></ul><ul><li>Spohrer, J. C. and Soloway, E. (1989) Novice Mistakes: are the folk wisdoms correct? In Studying the Novice Programmer , (Eds, Soloway, E. and Spoher, J. C.) Hillsdale, NJ: Lawrence Erlbaum, p. 401-416. </li></ul><ul><li>Thomas, L., Ratcliffe, M. and Thomasson, B. (2004) Scaffolding with object diagrams in first year programming classes: some unexpected results. In Proceedings of the 35th SIGCSE technical symposium on Computer science education , ACM Press, p. 250-254. </li></ul><ul><li>Thomas, L., Ratcliffe, M., Woodbury, J. and Jarman, E. (2002) Learning styles and performance in the introductory programming sequence. In, Proceedings of the 33rd SIGCSE technical symposium on Computer science education , p. 33-37. </li></ul><ul><li>Van Gorp, M. J. and Grissom, S. (2001) An Empirical Evaluation of Using Constructive Classroom Activities to Teach Introductory Programming. Computer Science Education, 11(3), p. 247-260. </li></ul><ul><li>Wilson, B. C. and Shrock, S. (2001) Contributing to success in an introductory computer science course: a study of twelve factors. In, Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education , p. 184-188. </li></ul><ul><li>Winslow, L. E. (1996) Programming pedagogy - A psychological overview. SIGCSE Bull., 28, p. 17-22. </li></ul><ul><li>Witkin, H. A., Moore, C. A., Goodenough, D. R. and Cox, P. W. (1977) Field-dependent and field-independent cognitive styles and their educational implications. Review of Educational Research, 47, p. 1-64. </li></ul>

×