/
CAS Conference 2017 Diving deep into primary programming - design for quality and independence CAS Conference 2017 Diving deep into primary programming - design for quality and independence

CAS Conference 2017 Diving deep into primary programming - design for quality and independence - PowerPoint Presentation

funname
funname . @funname
Follow
342 views
Uploaded On 2020-08-28

CAS Conference 2017 Diving deep into primary programming - design for quality and independence - PPT Presentation

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

education amp programming acm amp education acm programming computer design computing code science proceedings research teach learning thinking knowledge

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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

Slide2

Sharing research for classroom practise

Slide3

A

B

C

D

Activity 1. What would you call these?

Slide4

Design/ Algorithm

Task (problem)

Code

Running the code

Slide5

Levels of abstraction

Task Design (including algorithms)

Code

Running the code

What % of your SOW are at each level?

(Waite, Curzon, Sentence and Marsh, 2011)

Slide6

Design 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

Slide7

How 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

???

Slide8

Labelled 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

Slide9

Stars twinkle all the time

4 times across

Until space bar clicked

forever

repeat 4

repeat until

Remixing to teach

repetition

Slide10

Activity 2 – annotate a design

Slide11

Concerns about design

Slide12

https://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!

Slide13

Copy 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

Slide14

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

Slide15

Tips 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

Slide16

Use modify create learning progression

(Lee et al., 2011)

Slide17

Pedagogical

Content Knowledge

Research themes

Slide18

Armoni, 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/

Slide19

Jane 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

.

Slide20

Use 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

Slide21

Content Knowledge

Pedagogical Knowledge

Pedagogical Content Knowledge

(PCK)

Sequence

Repetition …

Adapted version of pedagogical content knowledge (PCK) (Shulman, 1986)

In order to teach primary programming