1 / 20

Pedagogical & Design Issues:

Explore pedagogical and design issues in teaching computational thinking and coding. Discover methods for engaging, creative, and contextually relevant learning experiences. Learn how to adapt tools, understand algorithm development, and implement effective teaching strategies.

dannycooper
Download Presentation

Pedagogical & Design Issues:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pedagogical & Design Issues: Tasmania Workshop 18th March 2014

  2. How do we best teach Computational Thinking & Coding? • Teaching is not just a process of imparting knowledge to an attentive child. • Learning needs to be engaging, social and interactive. • It is also vital that the process is creative. • Children shouldn’t just be taught a series of procedures, they need to be able to explore different, novel, personal ideas and to share them with others. • And it needs to be relevant and meaningful to a child’s different experiences beyond the classroom. • The type of tools we use in the classroom will help. • It’s not enough for pupils to learn how to move a robot in a certain direction.

  3. How do we best teach Computational Thinking & Coding? • The tools used must enable students to understand how coding could address a range of problems in different ways and, preferably be adaptable to suit their own interests. But the teacher plays a most significant role.   • If teachers have confidence in, and knowledge of the building blocks of coding and how these relate to the real world, they can adapt these tools. • They could even create their own resources and might not even need digital tools to do it. – eg. CS Unplugged • A well-trained teacher can offer context to their classes by helping them understand how coding affects our daily lives, from its use in Google and Facebook to streetlamps and hand driers.

  4. Gender Differences: Girls DO generally approach coding differently to boys; • For example, research conducted with StorytellingAlice found that middle school girls not only enjoyed“programming” a story that was relevant to them but theyalso enjoyed turning it into a movie; • Lego Research & Goldie Blox • http://www.youtube.com/watch?v=IIGyVa5Xftw

  5. Research Needed: • Teachers need to have an active understanding themselves. • To date, we are lacking research into what makes good coding pedagogy – much of what we have/believe is anecdotalDesign methodologies are seen as vital: • Flowcharts; NS Charts; Structure Diagrams; Structure Design Charts, DFD’s, CSD’s. ... • Also Computational Thinking & Coding is yet to have a significant place in teacher training.

  6. Programmingenvironment: Theenvironment should allow the learner to: • read the vocabulary-- what do these words mean? • follow the flow-- what happens when? • see the state-- what is the computer thinking? • create by reacting-- start somewhere, then sculpt • create by abstracting-- start concrete, then generalize

  7. The Coding Language: The language should provide: • identity and metaphor • how can I relate the computer's world to my own? • de-composition • how do I break down my thoughts into mind-sized pieces? • re-composition • how do I glue pieces together? • readability • what do these words mean?

  8. An Algorithm is: a procedure that consists: of a finite set of instructions which, given an input from some set of possible inputs, enables us to obtain an output if such an output exists or else obtain nothing at all if there is no output for that particular input through a systematic execution of the instructions.

  9. Steps in development of Algorithms: Software Development Cycle: • Problem definition • Development of a model • Specification of Algorithm • Designing an Algorithm • Checking the correctness of Algorithm • Analysis of Algorithm • Implementation of Algorithm • Program testing • PLUS Documentation

  10. Plan b4 build: • The design imperative

  11. Sorting Algorithms

  12. Sorting Algorithms

  13. Constructs of Algorithms: Along with a assignment option algorithms consist of 3 Main Flow Constructs: • Sequence • Iteration • Selection • plus Recursion

  14. Nassi- SchneidermanCharts • Following a top-down design, the problem at hand is reduced into smaller and smaller subproblems, until only simple statements and control flow constructs remain.Nassi–Schneidermandiagrams reflect this top-down decomposition in a straightforward way, using nested boxes to represent sub-problems

  15. Structure Design Charts

  16. Structorizer • http://structorizer.fisch.lu/

  17. Practical Session #3 - StructorizerExercises • A worker at ABC Coding is either a Permanent or Casual employee (Permanent staff are on a lower rate but receive sick pay, holidays, LSL, etc). The Permanent Rate is $25 ph and the Casual Rate is $28.50. Thus a Permanent worker who worked 30 hours for the week would get 30x$25 = $750 pay. Design a Nassi-Shneiderman Chart to ask a user their Name, their Status (Permanent or Casual) and their hours worked for the week. Have the program calculate their pay. The program does not need to loop back and run repeatedly. That is, it needs to be re-run for each worker.(Use of Sequence & Selection constructs) 2. Design an NS Chart that adds the natural numbers up to a limit entered by the user. Thus is the user enters 4 the output would be 1+2+3+4 = 10. (Use of Iteration construct).

  18. Challenge: 'Least Change' Question: Write a program which takes a value of money from $3 to $999 and outputs the least number of notes and $1 and $2 coins that make up this amount. i.e. If 94 entered output should be: $94 = 1 x $50 + 2 x $20 + 2 x $2. Next: Wrap-up, etc.

  19. Extra: Q2 using Pseudo Code

  20. Pseudo Code: • Issues with Pseudo-Code – language syntax; cryptic; implied skill base

More Related