RPi Education

From eLinux.org
Revision as of 21:15, 15 March 2012 by Jim Manley (talk | contribs) (Programming languages)
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.
  • Frink - a full-featured programming language for physical computations which runs on the Java Virtual Machine and has both a terminal-like interface as well as a standard program editor.
  • GA Viewer - open source Linux graphical calculator for Geometric Algebra (GA) for physical applications, a mathematical lingua franca uniting and replacing vectors, quaternions, differential forms, complex analysis, many linear algebra and tensor applications, and homogenous and conformal systems. It condenses the full, relativistic form of Maxwell`s equations into just four symbols and also works well in every other area of physics, including quantum mechanics.

Communities

  • http://madlab.org.uk/about/ - The Manchester Digital Laboratory
  • The Science, Technology, Engineering and Mathematics Network, UK - This covers all the red tape that is necessary when working with children, as well as networking with other like-minded volunteers to share ideas.
  • SchoolForge.net - SchoolForge's mission is to unify independent organizations that advocate, use, and develop open educational resources.
  • WISE-Quatar.org - The World Innovation Summit for Education (WISE) is an international platform for creative thinking, debate and action to raise the status of education through year-round programs to transform education by highlighting its leading role in global development, and by fostering innovative thinking and practices. Efforts include:
      • WISE Summit - 1,000 top decision-makers, thought-leaders, practitioners and education stakeholders from over 100 countries share best practices
      • WISE Prize for Education - recognizes an individual or a team for a world-class contribution to education
      • WISE Awards - identify and spotlight each year six of the most innovative projects in education from around the world
      • WISE Publications - "Innovation in Education: Lessons from Pioneers around the World"
      • Learners' Voice - encourages students aged 18 - 25 to make their voices heard as full delegates, participating in sessions, conducting video interviews, blogging and tweeting on a year-round basis
      • Online Collaborative Web Platform - interactive knowledge base that offers a wide range of tools
      • MyWISE - social networking that enables the WISE community to connect and share knowledge and best practices on a continuing basis
      • Learning World - weekly TV magazine program on education developed in partnership with Euronews broadcast 16 times a week to 155 countries in 11 languages
      • WISE Haiti Task Force - brings together innovators and successful projects that can contribute to rebuilding Haiti's education system
      • WISE Program for Education Leadership - helps prepare newly appointed education leaders from the developing world

    Software suites

    Libraries/applications

    General resources

    Articles/opinion pieces/trade bodies

    In the UK:

    General:

    Direct action