RPi Education

From eLinux.org
Revision as of 19:15, 15 March 2012 by Jim Manley (talk | contribs) (General resources)
Jump to: navigation, search

Back to the Hub.


Community Pages:

Tutorials - a list of tutorials. Learn by doing.

Guides - a list of informative guides. Make something useful.

Projects - a list of community projects. Help others out.

Tasks - for advanced users to collaborate on software tasks.

Datasheets - a frambozenier.org documentation project.

Education - a place to share your group's project and find useful learning sites.

Community - links to the community elsewhere on the web.

Games - all kinds of computer games.


The Manual

A manual is currently in production by members of the Computing At School working group. This began on the 13 October 2011 and is due to be ready for early March 2012. The manual is aimed at the project's target audience, children, so that they can take their "First steps in Computer Science".

For the first release (~January/February 2012), there will mostly likely be very minimal documentation. A 'schools' release is due in June/July 2012.


Your Projects

Doing a project at school or have a Raspberry Pi Club? Add it in this section to allow others to follow your progress!

Please add details of your group and what plans you have for the RPi or provide a link to your homepage.

Organisations

Puppy hacker School

For smarter kids of all ages, teachers, self-tutored and the fast learner. Based on doacracy principles of learning by doing Puppy Hacker School is open for learning on your existing hardware, using Puppy Linux. Whilst awaiting your first punnet of raspberries, get cracking. All bones welcome.

Schools

Manchester Grammar School Computing Society, The

A new co-curricular club for Y9 boys aimed squarely at the new "UK Computing in Schools" initiative. Details of what we're doing are on the MGS Computing Society page.

Winsford E-Act Academy Programming Club

This is an after-school club set up to encourage students to learn programming and more about how computers work. There's a blog site to support the club at teampython. We are very excited about the Raspberry Pi and can't wait to get our hands on one. For the time being, we are learning Python 3 with Pygame. To get the students used to using Linux, we are using a remaster of Puppy that's available here: RacyPy2. Anyone who wants to join in online or share ideas is very welcome!

Universities

Kent - School of Computing, The University of

Many of both the students and staff at the School of Computing have been following the Raspberry Pi for a long time and are eagerly waiting to get started on projects using them. We are also strong supporters of the Foundation's objective in getting more young people interested in "real" computing rather than just playing games or web browsing.

Manchester - School of Computer Science, University of

We want to use the Raspberry Pi with a simple hardware board and set of downloadable activities to use it to encourage young people (or anyone else) get into embedded computing. We're currently looking at piface for the interface board and trying to come up with little activities to do. We've got some ideas but would love some more if anyone else wants to get involved.

We already run Linux workshops for schools and the National UK Schools Animation Competition, which uses Scratch.

Educational Links

Programming languages

Items in bold specifically support the Raspberry Pi device

  • http://www.kidsruby.com/ - Have fun and make games, or hack your homework using Ruby! Just tell your parents or teachers you're learning Ruby programming... ;)
  • http://scratch.mit.edu/ - Graphical OO-based visual programming environment.
  • http://www.alice.org/ - Similar to scratch AFAICT
  • http://python.org/ - The original 'designed for teaching' language of the 90s
  • http://lua.org/ - Small, extensible and fits in your head
  • BBC BASIC - The original 'designed for teaching' language of the 80s - A large number of implementations are listed here: http://www.bbcbasic.co.uk/bbcbasic.html
  • http://basic256.org/index_en - Another BASIC variant with integrated IDE and simple graphics.
  • C/C++ via GCC + CMake build system for advanced use.
  • Alice (http://en.wikipedia.org/wiki/A…..(software)) – event-driven object-oriented programming via drag-and-drop programming. A variant with an even stronger storytelling approach is Story Telling Alice.
  • Baltie (http://www.sgpsys.com/) – graphics-oriented programming to execute commands, conjure pictures, exercise logical thinking, etc., via play and imagination.
  • CiMPLE (http://www.uptosomething.in/we…..log/?p=531) – visual programming language for the Indian iPitara robotic kit with a strong resemblance to the C programming language.
  • E-Slate (http://e-slate.cti.gr) – exploratory learning environment workbench and pre-fabricated, interoperable computational objects. Software Microworlds are easily constructed by plugging components in various configurations, and the behavior of both components and Microworlds can be programmed in a Logo-based scripting language implemented in Java.
  • Guido van Robot (http://en.wikipedia.org/wiki/G….._van_Robot) – robot control program similar to Logo or Karel, with a minimal Python syntax. A variant that includes the full Python syntax and a canonical set of lessons called RUR-PLE also exists.
  • Laby (http://www.pps.jussieu.fr/~gimenez/laby) – teaches various programming languages (OCaml, Python, Lua, Ruby, C, Java, Prolog and Perl) via ants and spider webs.
  • PythonTurtle (http://en.wikipedia.org/wiki/P…..thonTurtle) – LOGO-like turtle graphics implemented in wxPython. There is also Python standard Turtle graphics module (based on TK), and Python Turtle Demo examples for using Python and turtlegraphics in an educational setting.
  • Pynguin (http://code.google.com/p/pynguin) – Python Turtle Graphics editor, interactive console, and graphics display area implemented in Python and the PyQt toolkit (in contrast to the wxPython of PythonTurtle). Meant to be an easy environment for introducing programming concepts to beginning programmers.
  • Hackety Hack (http://en.wikipedia.org/wiki/H…..ckety_Hack) – Ruby-based environment aiming to make learning programming easy for teenagers.
  • Karel, Karel++, and Karel J. Robot (http://en.wikipedia.org/wiki/K….._language)) – for absolute beginners, used to control a simple robot in a city consisting of a rectangular grid of streets. Karel is its own programming language, Karel++ is a version of Karel implemented in C++, and Karel J. Robot is a version of Karel implemented in Java. NCLab offers free Karel programming (albeit with a modified syntax closer to Python) through a web browser.
  • Kodu (http://en.wikipedia.org/wiki/Kodu) – entirely icon-based Microsoft Research project for younger children and especially girls. Programs are composed of pages, which are divided into rules, which are further divided into conditions and actions, and conditions are evaluated simultaneously. Designed for game development and provides specialized primitives derived from gaming scenarios. Programs are expressed in physical terms, using concepts like vision, hearing, and time to control character behavior. Available as a free Windows download in public beta and academic forms, and as a low-cost Xbox 360 Live download.
  • Learn to Program BASIC (circa 1998) – BASIC interpreter with an interactive course intended to teach the language to middle school students. Game-specific additions to the BASIC language include 2D sprite support. Programs written in "LTPB" could be executed on computers without the software by means of a freely-distributable "runner".
  • Lego Mindstorms (http://en.wikipedia.org/wiki/L…..Mindstorms) – Lego sets combining programmable bricks with electric motors, sensors, Lego bricks, and Lego Technic pieces (such as gears, axles, and beams). Mindstorm programs can be implemented in Logo, BASIC, Java derivatives, Smalltalk, and C.
  • LegoSheets – a programming language for the Lego Mindstorms based on AgentSheets which had a less steep learning curve than Brick Logo.
  • Mama (http://en.wikipedia.org/wiki/M….._(software)) – object oriented programming language for young students in a subset of their local human language, both left-to-right (LTR) and right-to-left (RTL) syntaxes. A variant of Mama was built on top of Alice for scripting of 3-D stage objects for building 3D animations and games.
  • Phrogram (http://en.wikipedia.org/wiki/Phrogram) – second-gen Kid"s Programming Language is a commercial easy-to-learn programming language and integrated development environment (IDE) that emphasizes graphics and sounds, is a simplified structured language, offers component-based development features such as classes and methods, and is modeled on Eclipse and Visual Studio .NET IDEs to help transition to them.
  • RoboMind (http://en.wikipedia.org/wiki/RoboMind) – educational programming environment that lets beginners program a robot via popular programming techniques, some robotics, and artificial intelligence principles. The robot can be programmed in Arabic, Chinese, Dutch, German, English and Swedish.
  • Stagecast Creator (http://en.wikipedia.org/wiki/S…..st_Creator) – visual programming system based on programming by demonstration via movement of icons on the screen, and it generates rules for the objects (characters). Users can create two-dimensional simulations that model a concept, multi-level games, interactive stories, etc.

Communities

Software suites

Libraries/applications

General resources

Articles/opinion pieces/trade bodies

In the UK:

General:

Direct action