Teaching Kids to Program Things with Java and the Raspberry Pi Ian Utting & Fabio Hedayioglu.

Slides:



Advertisements
Similar presentations
Introduction to Raspberry Pi
Advertisements

Raspberry Pi Hardware en OS Stijn Van Caekenberghe Raspberry Jam Mechelen – 13 november 2014.
Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
Raspberry Pi Surrey Amateur Radio Club November 12, 2014 AN INTRODUCTION TO THIS NON-EDIBLE DELIGHT.
Embedded Development Club Rob Miles Department of Computer Science University of Hull.
Intel Galileo Gen 2 & Grove Seeed Starter Kit Gen 1
Internet of Things with Intel Edison Presentation Paul Guermonprez Intel Software
Intel® XDK for IoT – Integration Point #1
Introduction to the Raspberry Pi ® Saman Amighi 10/2013 ® Raspberry Pi Foundation.
Marlene Galea.  The JDK (Java Development Kit)  An IDE (Integrated Development Environment) ◦ Different IDEs include:  JCreator  NetBeans  BlueJ.
Embedded Programming and Robotics Lesson 12 Introducing the Raspberry Pi Intro to Raspberry Pi1.
SINGLE BOARD COMPUTERS -KEVIN JOSE. WHY DO WE USE THEM? Good performance at low price GPIO capability to interact with the outside world Small form factor,
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Raspberry Pi.
Hacking your Doorbell Get started building IoT devices – today!
Home Intrusion Detection System Andre, Irena, Priyanka, Balta.
This presentation will cover all of the work that was set during the third week of the course. This means that the task associated with the purpose of.
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
29-Nov-15 Getting Ready for Java. 2 What is Java? Java is a programming language: a language that you can learn to write, and the computer can be made.
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
SINGLE BOARD COMPUTERS ARE YOU ON THE RIGHT AIRPLANE?
1 KaaShiv InfoTech  Presents  INTEL XDK For Inplant Training / Internship, please download the "Inplant training registration form" from our website.
Connected Hardware for Software Engineers 101 Pance Cavkovski, Netcetera.
WEB PI ROVER TEAM : SHAIK SHARIFA V KUSHAL P SRIDHAR PROJECT GUIDE : Mrs.ARCHANA.
F28HS Hardware-Software Interface Lecture 0: Overview.
Lecture 7: Overview Microprocessors / microcontrollers.
Intro to Raspberry Pi A Southwest Florida Hackerspace Workshop Presented by: Russell Benzing & Eric Schiffli.
Rasberry pi 2 model B. Selve computeren i rasberry pi’en.
Raspberry Pi Project Control Your Home Lights with a Raspberry Pi.
Introducing the Raspberry Pi Nauru ICT Department April 2016.
Farhin Al Masud What is Raspberry PI? o Low cost, credit card sized computer o SOC (System on a chip) o Founded by Raspberry PI foundation.
Raspberry Pi. Introduction The Raspberry Pi is a credit-card sized computer It can be plugged into your TV and a keyboard, and can be used for many of.
Raspberry PI 2 Installation & Demo App By Wayne Keadle.
Robotics Grant Agreement No LLP UK-LEONARDO-LMP Project acronym: CLEM Project title: Cloud services for E-Learning in Mechatronics Technology.
Get Started with Raspberry Pi- Single Board Computer.
SAURABH GINGADE 12311A0480. The Raspberry Pi is a credit-card sized computer.
RaspberryPi.
Engineering Innovation Center
Another slice of pi Hands-ON with the raspberry pi computer
Building Raspberry Pi Controllers with Python
Workshop on Raspberry Pi 3
Computer System Laboratory
IoT Milos Hampl.
IoT 101 with Raspberry Pi and Azure
Preserving containers
Multi-Platform User Interfaces using HTMLRenderer
Computer System Laboratory
Chapter A - The Raspberry Pi Computer
From Things to the Internet: Teaching Kids to Code Java on the Raspberry Pi Ian Utting & Fabio Hedayioglu.
IzoT™ Device Stacks March 2014.
Remote Sensor Interface for IoT
Alþingi's Digital Signage System
Programming with Arduinos and Rapsberry Pi
Raspberry Pi.
PRESENTED BY Bitware Technologies
An introduction to the Raspberry Pi
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Raspberry Pi. Introduction to Raspberry Pi Python Electronics Linux Outline.
What we learn during Program
Presenter: Nicholas Exner
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
What is a Raspberry Pi? The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard.
KaaShivInfoTech Presents
Workshop GPIO I2C SPI Panic1 woensdag 10 april 2019.
Beginning Raspberry Pi
Single Board Computers and Dev Boards
Introduction to Single Board Computer
Emphasis: Get it working and do stuff!
Raspberry Pi Hardware By: Mike Kwiatkowski.
Presentation transcript:

Teaching Kids to Program Things with Java and the Raspberry Pi Ian Utting & Fabio Hedayioglu

Overview What is the Pi? What is the Pi for? Developing for/on the Pi Java for the Pi BlueJ for the Pi Challenges Demo

What is the Raspberry Pi? A small, cheap, self-contained, Linux machine Based on a Broadcom SoC: – 700MHz ARM11 processor, 512MB SDRAM – VideoCore IV GPU (OpenGL, 1080p, H264) HDMI out 8 GPIO pins, I2C etc. Ethernet and 2xUSB 2.0 (e.g. for WiFi) Raspbian Linux boots from SD

What is the Raspberry Pi for? To support/encourage/revive programming in schools Conceived as a sensor/actuator hardware platform: – Many daughter boards available and a desktop replacement: – Needs a keyboard/mouse and screen (TV or monitor) In schools, it doesn’t need “permission”

Developing for the Pi: 2 approaches Develop on a separate machine, treat the Pi as a slave – Allows use of standard tools (but their generality adds configuration complexity) – Requires a second machine (and significantly complicates the execution model for beginners) Develop on the Pi itself – Simplifies deploy/debug cycle – Standard tools (NetBeans/Eclipse) are too heavy, so use vi/emacs and the command line (  )

Java on the Pi: 2 approaches Java ME Embedded – Wants to be headless – no GUI APIs – Unfamiliar i/o mechanisms (GCF etc.) – Sees the Pi as a gateway platform for embedded systems Java SE 8 – Includes Swing and JavaFX – Pi4J library provides good access to GPIO etc. – Sees the Pi as a desktop device with hardware extensions

BlueJ on the Pi BlueJ is a lightweight Java IDE designed for beginners. Used by ~2M students/year It includes basic IDE functionality: edit, compile, execute, debug, and version control It also includes direct object manipulation through the GUI – great for exploring APIs and behaviours

Challenges BlueJ is a Swing app, and so doesn’t use the Pi GPU – Remove gradients, drop shadows, transparencies But BlueJ runs user-code in a separate JVM – JavaFX performance gains are available WiringPi (which backs Pi4J) needs to be run as root (for read/write access to /dev/mem!) We’ve had to slightly change the semantics of Pi4J to match BlueJ’s workflows.

Demo

Take Homes The Pi is a great platform for beginners to explore IoT Self-hosted development is much easier for beginners than using remote Pro Tools An IDE helps them focus on the task-in-hand Java ME may be better for really small devices, but, for beginners, all the support is around SE More details and downloads: bluej.org/raspberrypi