# Week 3
# Teaching for all. Programming.
# Pre-watching material
- Unversal Design Learning Soon available.
- Inclusivity and diversity Soon available.
- Cultural shift to maker mindset Soon available.
- Programming in education environments Soon available.
- PreClass Presentation Soon available.
# Summary and core material
- Presentation To be updated
- Global Masterclass Recording after de class
- Learning diary (opens new window)
# Discussion topic in groups
- How do you consider diversity when you prepare your lessons? What aspects need to take into account in DF?
- Review of ideas for the field activity.
# Assignment
- This time you have two different options:
- Option 1: absolute beginners:
* Build a simple interactive story / song using Scratch. You can use some of the tutorial examples as starting point.
* Include in your learning diary the code and several screenshots of your application. You can even include a video.
- Option 2:
* Design and implement a simple game or quizz using block programming language. It is recommended that the quizz/game can be used in the classroom
* Include in your learning diary the code and several screenshots of your application. You can even include a video. Include also the programming platform.
- Answer the following reflection questions in your learning diary:
- Remember to include the code and pictures of the generated application in your learning diary.
- When you design a DF learning activity how do you take into account diversity? Could you describe one learning situation in which you did not take into account diversity in planning? How did you solved the situation?
- What aspects would you need to take into consideration if you have kids with a) learning disabilities, b) physical disabilities, c)emotional disabilities when preparing your DF activities
- What are the challenges and opportunities of integrating programming in your classes
# Tasks in the Fab Lab
- Have a look to any of the block programming tutorials suggested below
- Explore principles of programming with your instructor
# Technical content
# Programming environments
- Turtle Logo (opens new window): the father of all programming environments for kids
- Scratch (opens new window): The popular MIT programming environment. The recommended option for starting
- Tinkercad (opens new window) Simulate electronics and microprocessor. Now supports Arduino and microbit.
- Makecode (opens new window) Block programming for different embedded programming platforms as well as minecraft
- MIT App inventor (opens new window): Create applications for Android mobile phones
- Processing (opens new window) Programming tool oriented to creative work.
- Snap (opens new window): Scratch like version for older kids
- Minecraft edu (opens new window): Learn programming in Minecraft world. Check also MakeCode (opens new window)
- Alice (opens new window): One of the oldest programming environments to build stories
- Roblox (opens new window): Create complex games. It includes a marketplace so others can play it. One of the most complex options
- PygameZero (opens new window): programming computer games with python.
- LEGO Educational Spike (opens new window): Lego environment to build and control robots
# Basic Tutorials for programming environments
- Getting started with Scratch (opens new window) for absolute beginners
- Scratch starter projects (opens new window) including animation, games and interactive art.
- Creating a simple quizz with Scratch (opens new window)
- Starting programming with Minecraft (opens new window)
- Minecraft tutorials (opens new window)
# Tutorials and info for different programming environments
Scratch
- Scratch for Educators (opens new window)
- Scratch Educator Guide (opens new window)
- Scratch Creative Computing Curriculum (opens new window)
- Scratch tutorials (opens new window)
- Scratch Ideas page (opens new window)
Snap!
- Berkeley’s Welcome to Snap! (opens new window)
- Snap! Reference manual (opens new window)
- Beauty and Joy of Computing (BJC) (opens new window)
- BJC Sparks Student Material (opens new window)
# Programming basics tutorial
Sequential Programming tutorial
- Exercises with Scratch about sequential programming on different topics, like drawing a Mondrian-like painting. (opens new window)
- A very basic explanation of sequential programming with Scratch (opens new window)
Variables
- A simple tutorial about data representation (opens new window)
- A beginner friendly tutorial about variables with Scratch (opens new window)
- A tutorial that goes a little bit deeper into what are variables (opens new window)
Control Flow Structures
- A basic tutorial about flow control (opens new window)
- Conditional control flow tutorial (opens new window)
- Loop control flow tutorial (opens new window)
- A list of control blocks in Scratch (opens new window)
# Additional material and support content
# Maker Mindsets
- Edsurge Website (opens new window): 6 must haves for developing a maker mindset
- What is a Maker Mindset (opens new window): Short article sumarizing 5 main aspects of maker mindset.
- Growth Mindset vs Fixed Mindset (opens new window): Aspects to develop a growth mindset. Also an interesting video (opens new window) from Dr. Carol Dweck.