1110 to 1150 Jane Waite janewaitecomputingatschoolorguk Sharing research for classroom practise A B C D Activity 1 What would you call these Design Algorithm Task problem Code ID: 807866
Download The PPT/PDF document "CAS Conference 2017 Diving deep into pri..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CAS Conference 2017Diving deep into primary programming - design for quality and independence 11:10 to 11:50
Jane Waite jane.waite@computingatschool.org.uk
Slide2Sharing research for classroom practise
Slide3A
B
C
D
Activity 1. What would you call these?
Slide4Design/ Algorithm
Task (problem)
Code
Running the code
Slide5Levels of abstraction
Task Design (including algorithms)
Code
Running the code
What % of your SOW are at each level?
(Waite, Curzon, Sentence and Marsh, 2011)
Slide6Design can be used asAid memoire – improve independence – tick/what next? Completeness check – improve cohesion/qualityContract for pair programmingAnnotation - scaffold implementation of codeSelf assessment - growth mindsetTo think about ‘do-ability’Reminder of design patterns used
To teach abstraction!For the teacherTo know what to teach nextDifferentiationAssessment
Slide7How might a simple sequence be represented by pupils as an
algorithm /design?1
2
3
4
Norway Longboat sprite
Denmark Longboat sprite
Map background
move
say
???
say
Norway Longboat sprite
move
say
Denmark Longboat sprite
Map background
say
???
Slide8Labelled diagram& Storyboard
???Move
say
move
say
say
say
Santa sprite
Mouse sprite
Tree sprite
Background with stars and moon
Snowman sprite
Move
go to
go to
go to
go to
Slide9Stars twinkle all the time
4 times across
Until space bar clicked
forever
repeat 4
repeat until
Remixing to teach
repetition
Slide10Activity 2 – annotate a design
Slide11Concerns about design
Slide12https://goo.gl/forms/
1drFEXGk0oKiXUMo1 https://tinyurl.com/design-JW
Please help with research on primary programming!
Short 15 minutes survey on how you teach programming!
Slide13Copy this code(from an online system or paper based script)3
Tinkering(no goal, no constraints)7Read this code and predict what it will do
5
Fix this buggy code
8
Shared coding
(like shared writing)
Live coding
2
Change this code (remix)
1
Design and make a program (open goal)
6
Write the code for this design
4
Explore these 3 commands.
(Guided discovery)
9
Which is the most scaffolded task? Least scaffolded?
Handout 3
Slide14Copy code
Targeted tasks
Shared
Coding
Guided exploration
Project design and code
Tinker
Imitate
Innovate
Invent
Vs
Remix
Scaffolding
What % of your SOW are in each section?
Compare to other subjects.
Slide15Tips for independence
Use a blended approachIntroduce design and annotate!
Please complete my survey
https://
goo.gl
/forms/
1drFEXGk0oKiXUMo1
https://
tinyurl.com
/design-JW
Copy code
Targeted tasks
.
Shared
coding
Guided exploration
Project design and code
Tinker
Slide16Use modify create learning progression
(Lee et al., 2011)
Slide17Pedagogical
Content Knowledge
Research themes
Slide18Armoni, M., Meerbaum-Salant, O., & Ben-Ari, M. (2015). From scratch to “real�? programming. ACM Transactions on Computing Education (TOCE), 14(4), 25.Ben-Ari, M. (1998). Constructivism in computer science education. Acm sigcse bulletin (Vol. 30, pp. 257–261). ACM.Ben-Ari, M. (2004). Situated learning in computer science education. Computer Science Education, 14(2), 85–100.
Benton, L., Hoyles, C., & Noss, I. K. anRichard. (2016). Building mathematical knowledge with programming: insights from the ScratchMaths project. Constructionism.Benton, L., Hoyles, C., & Noss, I. K. anRichard. (2017). Bridging Primary Programming and Mathematics: some findings of design research in England. Digital Experiences in Mathematics Education.Bers, M., Flannery, L., Kazakoff, E. R., & Sullivan, A. (2014). Computational thinking and tinkering: Exploration of an early childhood robotics curriculum. Computers & Education,
72, 145–157.Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada
.
Busjahn, T., & Schulte, C. (2013). The use of code reading in teaching programming.
Proceedings of the 13th Koli Calling International Conference on Computing Education Research
(pp. 3–11). ACM.
Curzon, P., McOwan, P. W., Cutts, Q. I., & Bell, T. (2009). Enthusing & inspiring with reusable kinaesthetic activities.
ACM SIGCSE Bulletin
(Vol. 41, pp. 94–98). ACM.
Cutts, Esper, S., Fecho, M., Foster, S., & Simon, B. (2012). The abstraction transition taxonomy: developing desired learning outcomes through the lens of situated cognition.
Proceedings of the ninth annual international conference on International computing education research
(pp. 63–70). ACM.
Denner, J., & Werner, L. (2007). Computer programming in middle school: How pairs respond to challenges.
Journal of Educational Computing Research
,
37
(2), 131–150.
Du Boulay, B. (1986). Some difficulties of learning to program.
Journal of Educational Computing Research
,
2
(1), 57–73.
Falkner, K., Vivian, R., & Falkner, N. (2014). The Australian digital technologies curriculum: challenge and opportunity.
Proceedings of the Sixteenth Australasian Computing Education Conference-Volume 148
(pp. 3–12). Australian Computer Society, Inc.
Franklin, D., Hill, C., Dwyer, H. A., Hansen, A. K., Iveland, A., & Harlow, D. B. (2016). Initialization in Scratch: Seeking Knowledge Transfer.
Proceedings of the 47th ACM Technical Symposium on Computing Science Education
(pp. 217–222). ACM.
Grover, Pea, & Cooper. (2015). Designing for deeper learning in a blended computer science course for middle school students.
Computer Science Education
,
25
(2), 199–237.
Grover, S., & Pea, R. (2013). Computational Thinking in K–12 A Review of the State of the Field.
Educational Researcher
,
42
(1), 38–43. doi:10.3102/0013189X12463051
Hansen, A., Hansen, E., Dwyer, H., Harlow, D., & Franklin, D. (2016). Differentiating for Diversity: Using Universal Design for Learning in Elementary Computer Science Education.
Proceedings of the 47th ACM Technical Symposium on Computing Science Education
(pp. 376–381). ACM.
Kafai, Y. B., & Burke, Q. (2013). The social turn in K-12 programming: moving from computational thinking to computational participation.
Proceeding of the 44th ACM technical symposium on computer science education
(pp. 603–608). ACM.
Kafai, Y. B., & Vasudevan, V. (2015). Constructionist Gaming Beyond the Screen: Middle School Students’ Crafting and Computing of Touchpads, Board Games, and Controllers.
Proceedings of the Workshop in Primary and Secondary Computing Education on ZZZ
(pp. 49–54). ACM.
Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., Malyn-Smith, J., et al. (2011). Computational thinking for youth in practice. Acm Inroads,
2(1), 32–37.Lister, R. (2011). Concrete and other neo-Piagetian forms of reasoning in the novice programmer. Proceedings of the Thirteenth Australasian Computing Education Conference-Volume 114 (pp. 9–18). Australian Computer Society, Inc.Lister, R. (2016). Toward a Developmental Epistemology of Computer Programming.
Proceedings of the 11th Workshop in Primary and Secondary Computing Education (pp. 5–16). ACM.Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2011). Habits of programming in scratch. Proceedings of the 16th annual joint conference on Innovation and technology in computer science education (pp. 168–172). ACM.
Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. (2013). Learning computer science concepts with Scratch. Computer Science Education, 23(3), 239–264.Ruvalcaba, O., Werner, L., & Denner, J. (2016). Observations of Pair Programming: Variations in Collaboration Across Demographic Groups.
Proceedings of the 47th ACM Technical Symposium on Computing Science Education (pp. 90–95). ACM.Schulte, C. (2008). Block Model: an educational model of program comprehension as a tool for a scholarly approach to teaching. Proceedings of the Fourth international Workshop on Computing Education Research
(pp. 149–160). ACM.Shulman, L. S. (1986). Those who understand: Knowledge growth in teaching. Educational researcher, 15(2), 4–14.Statter, D., & Armoni, M. (2016). Teaching Abstract Thinking in Introduction to Computer Science for 7th Graders.
Proceedings of the 11th Workshop in Primary and Secondary Computing Education
(pp. 80–83). ACM.
Teague, D., & Lister, R. (2014a). Programming: reading, writing and reversing.
Proceedings of the 2014 conference on Innovation & technology in computer science education
(pp. 285–290). ACM.
Teague, D., & Lister, R. (2014b). Longitudinal think aloud study of a novice programmer.
Proceedings of the Sixteenth Australasian Computing Education Conference-Volume 148
(pp. 41–50). Australian Computer Society, Inc.
Waite, J., Curzon, P., Marsh, W., & Sentance, S. (2016). Abstraction and common classroom activities.
Proceedings of the 11th Workshop in Primary and Secondary Computing Education
(pp. 112–113). ACM.
Werner, L., Denner, J., Campe, S., Ortiz, E., DeLay, D., Hartl, A., & Laursen, B. (2013). Pair programming for middle school students: does friendship influence academic outcomes?
Proceeding of the 44th ACM technical symposium on Computer science education
(pp. 421–426). ACM.
Sebrabce 2017 https://blogs.kcl.ac.uk/cser/2017/02/20/exploring-pedagogies-for-teaching-programming-in-school/
Slide19Jane Waite jane.waite@computingatschool.org.uk
Would you like ALL your Year 6 pupils to be able to independently and confidently create a Scratch project that meets the task "Make a resource for year 2 to teach them about rainforests", where each pupil creates high quality code, that is not copied? In this session we will look closely at the role of design and how annotated storyboards, mind maps, labelled diagrams can help pupils become more independent to tackle open ended creative projects. We will look at international research, example projects, unpick progression, compare approaches in other subjects to figure out how we can scaffold learning about 'how' to create projects and enable pupils build the experience they need to do it themselves
.
Slide20Use computational thinking
Create algorithms (plan before you program)Remember to abstract, decompose, spot patterns, use logical reasoningIncorporate tinkering to learn a language then move to purposeful programming
Include buggy tasks to teach tracing
Teach collaboration e.g. pair programming
Don’t be scared of technical vocabulary
(split vowel diagraph)
Start with unplugged
then draw then program (concrete/iconic/abstract)
Situate in
cross curricular work
Show your thinking
- make mistakes, show alternative choices, model testing (worked examples/ scaffold tasks/ shared programming)
For projects, teach the process for
progression of independence
(closed to open tasks, imitate/innovate/invent, use/modify/create)
For assessment, the code won’t tell you much
– how did they get there?
(KSU)
Don’t just copy code – be creative, solve problems!
Pedagogy for programming
Slide21Content Knowledge
Pedagogical Knowledge
Pedagogical Content Knowledge
(PCK)
Sequence
Repetition …
Adapted version of pedagogical content knowledge (PCK) (Shulman, 1986)
In order to teach primary programming