plm - Programming exerciser in Java, Python, Scala and others

Distribution: Ubuntu 16.04 LTS (Xenial Xerus)
Repository: Ubuntu Universe amd64
Package name: plm
Package version: 2.6+repack
Package release: 2
Package architecture: all
Package type: deb
Installed size: 3.30 KB
Download size: 2.82 MB
Official Mirror:
The Programmer's Learning Machine (PLM) is a free cross-platform programming exerciser. It lets you explore various concepts of programming through over 190 interactive exercises, that you can solve in either Java, Python or Scala. The PLM interface and content is thoughtfully translated to English and French; we hope that other translations will be contributed in the future. The following concepts are included in this package: - Welcome: teach basics of programming to absolute beginners - Maze: classical maze escaping algorithms for intermediate - Sort: classical sorting algorithms for intermediate. One introduction lesson presents the basics of the sorting algorithms while two additional lessons apply them in more recreative settings. - Recursion: classical logo algorithms for intermediate - Turtle Art: explore a few classical LOGO figures - LightBot: little programmer's brain teaser for intermediate and advanced Other lessons are planned to explore new concepts, such as the backtracking, dynamic programming, object-oriented programming or the standard libraries of python, Scala and Java. Other programming languages (such as Ruby or JavaScript) may be added in the future.



    Binary package: plm_2.6+repack-2_all.deb
    Source package: plm

    Install Howto

    1. Update the package index:
      # sudo apt-get update
    2. Install plm deb package:
      # sudo apt-get install plm


    • /usr/bin/plm
    • /usr/share/applications/plm.desktop
    • /usr/share/doc/plm/changelog.Debian.gz
    • /usr/share/doc/plm/copyright
    • /usr/share/icons/hicolor/16x16/apps/plm.png
    • /usr/share/icons/hicolor/22x22/apps/plm.png
    • /usr/share/icons/hicolor/48x48/apps/plm.png
    • /usr/share/java/plm-2.6+repack.jar
    • /usr/share/java/plm.jar
    • /usr/share/man/man1/plm.1.gz
    • /usr/share/pixmaps/plm.xpm


    2016-02-21 - Martin Quinson <> plm (2.6+repack-2) unstable; urgency=medium * Build-dep on default-jdk instead of specifying the version manually. (Closes: #814171)

    2016-01-01 - Martin Quinson <> plm (2.6+repack-1) unstable; urgency=medium * New Upstream Release: - Missions fully translated to Brazilian The engine is translated at 65%. Thanks to Fred Maranhao for the hard work. - Ask loudly before pushing anything to the remote servers (Fix #772026 -- thanks to Olivier Berger for reporting) - New lesson on Hanoi variations, on recursive decomposition - Various improvements to the pedagogical content and bug fixes * Enable scala teaching, now that Scala 2.11 is in Debian (Fix: #809482) Thanks Rogério Brito for the reminder. * Use ant instead of jh_build, that doesn't like our scala code.

    2014-11-13 - Martin Quinson <> plm (2.4.11+repack-2) unstable; urgency=medium * Specify to jh_build that javac will encounter UTF-8 files (Closes: #768732) Thanks to L. Nussbaum for the report and fix * Update Standards-Version to 3.9.6 (no change needed) * Remove Scala from package description and rules (Closes: #722148) (we don't use it ATM since Debian version is too ancient) * Cherry-pick the new upstream logo.png to please Lintian. * d/p/translate: cherry-pick the translations of 2.5 upstream

    2014-10-24 - Martin Quinson <> plm (2.4.11+repack-1) unstable; urgency=medium * New upstream release. - Lots of polishing to the pedagogical content and engine - Some new exercises, and a lesson about recursive lists - User data gets saved in a git, which is more robust. - Translation to French, and partially to Brazilian and Italian. - Experimental support for the C programming language * Update our patches - Twitter support was removed upstream - Scala still cut of Debian package since we need a recent scala - Cut github interactions, as the needed library are not packaged * Suggests jython to make python usable * d/control: Update VCS field to not use deprecated entries * d/{rules,plm.manifest}: upstream switched to rtextpane and needs git

    2014-05-11 - Martin Quinson <> plm (2.3+repack-4) unstable; urgency=medium * Use json-simple.jar and not json_simple.jar (Closes: #747792)

    2014-04-18 - Martin Quinson <> plm (2.3+repack-3) unstable; urgency=medium * d/control: bump standards-version to 3.9.5 (no change needed) * d/control: Manually add a missing dependency on libhttpmime-java. The automagic seems to miss that one, and I don't want to dig into jh's internals today. Thanks to Nicolas Noury for noticing. * d/ Update our wrapper to also load the jython-related jars.

    2013-11-24 - Martin Quinson <> plm (2.3+repack-1) unstable; urgency=low * New upstream release. * add missing build-deps on libgettext-ant-tasks-java, imagemagick. Thanks to Andreas Moog for noticing (closes: #730312).

    2013-10-06 - Martin Quinson <> plm (2.2.7+repack-2) unstable; urgency=low * Change priority to extra since we depend on an extra package. Cf. policy, section 2.5. * Add a missing Depends: java-wrappers

    2013-10-01 - Martin Quinson <> plm (2.2.7+repack-1) unstable; urgency=low * New upstream release.

    2013-09-12 - Martin Quinson <> plm (2.2.3+repack-1) unstable; urgency=low * New upstream release. Insane amount of bug fixes and polishing after extensive tests of this year's students and some colleagues. This "report feedback" feature is a beauty to crowdsource the polishing. * Refresh our patches. * Add build-dep on libhttpmime-java, that got added upstream.