20
Pedagogical & Design Issues: Tasmania Workshop 18 th March 2014

Pedagogical & Design Issues:

Embed Size (px)

DESCRIPTION

Pedagogical & Design Issues:. Tasmania Workshop 18 th March 2014. 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. - PowerPoint PPT Presentation

Citation preview

Coding Class #1 - Visual Programming

Pedagogical & Design Issues:Tasmania Workshop18th March 2014How 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 shouldnt 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 childs different experiences beyond the classroom.The type of tools we use in the classroom will help. Its not enough for pupils to learn how to move a robot in a certain direction. 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 UnpluggedA 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.

Gender Differences:Girls DO generally approach coding differently to boys;For example, research conducted with Storytelling Alice found that middle school girls not only enjoyed programming a story that was relevant to them but they also enjoyed turning it into a movie;Lego Research & Goldie Bloxhttp://www.youtube.com/watch?v=IIGyVa5Xftw

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 anecdotal

Design methodologies are seen as vital:Flowcharts; NS Charts; Structure Diagrams; Structure Design Charts, DFDs, CSDs. ... Also Computational Thinking & Coding is yet to have a significant place in teacher training.

Programmingenvironment:

Theenvironmentshould 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 sculptcreate by abstracting-- start concrete, then generalize

The Coding Language:The languageshould provide:identity and metaphor how can I relate the computer's world to my own?de-compositionhow do I break down my thoughts into mind-sized pieces?re-compositionhow do I glue pieces together?readabilitywhat do these words mean?

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. Steps in development of Algorithms:Software Development Cycle:Problem definitionDevelopment of a modelSpecification of AlgorithmDesigning an AlgorithmChecking the correctness of AlgorithmAnalysis of AlgorithmImplementation of AlgorithmProgram testingPLUS DocumentationPlan b4 build:The design imperative

Sorting Algorithms

Sorting Algorithms

12Constructs of Algorithms:Along with a assignment option algorithms consist of 3 Main Flow Constructs: SequenceIterationSelection

plus Recursion Nassi- Schneiderman ChartsFollowing atop-down design, the problem at hand is reduced into smaller and smaller subproblems, until only simple statements andcontrol flowconstructs remain.

NassiSchneiderman diagrams reflect this top-down decomposition in a straightforward way, using nested boxes to represent sub-problems

Structure Design Charts

Structorizerhttp://structorizer.fisch.lu/

Practical Session #3 - Structorizer ExercisesA 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).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.Extra: Q2 using Pseudo Code

Pseudo Code:Issues with Pseudo-Code language syntax; cryptic; implied skill base