Pedagogical Design Issues Tasmania Workshop 18 th March

  • Slides: 20
Download presentation
Pedagogical & Design Issues: Tasmania Workshop 18 th March 2014

Pedagogical & Design Issues: Tasmania Workshop 18 th March 2014

How do we best teach Computational Thinking & Coding? • Teaching is not just

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.

How do we best teach Computational Thinking & Coding? • The tools used must

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.

Gender Differences: Girls DO generally approach coding differently to boys; • For example, research

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 Blox • http: //www. youtube. com/watch? v=IIGy. Va 5 Xftw

Research Needed: • Teachers need to have an active understanding themselves. • To date,

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, DFD’s, CSD’s. . • Also Computational Thinking & Coding is yet to have a significant place in teacher training.

Programming environment: The environment should allow the learner to: • read the vocabulary --

Programming environment: The environment 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

The Coding Language: The language should provide: • identity and metaphor – how can

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?

An Algorithm is: a procedure that consists: of a finite set of instructions which,

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: 1. Problem definition 2. Development of

Steps in development of Algorithms: Software Development Cycle: 1. Problem definition 2. Development of a model 3. Specification of Algorithm 4. Designing an Algorithm 5. Checking the correctness of Algorithm 6. Analysis of Algorithm 7. Implementation of Algorithm 8. Program testing 9. PLUS Documentation

Plan b 4 build: • The design imperative

Plan b 4 build: • The design imperative

Sorting Algorithms

Sorting Algorithms

Sorting Algorithms

Sorting Algorithms

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

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

Nassi- Schneiderman Charts • Following a top-down design, the problem at hand is reduced

Nassi- Schneiderman Charts • 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–Schneiderman diagrams reflect this top-down decomposition in a straightforward way, using nested boxes to represent subproblems

Structure Design Charts

Structure Design Charts

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

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

Practical Session #3 - Structorizer Exercises 1. A worker at ABC Coding is either

Practical Session #3 - Structorizer Exercises 1. 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 30 x$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

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 $2. Next: Wrap-up, etc.

Extra: Q 2 using Pseudo Code

Extra: Q 2 using Pseudo Code

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

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