PP4S Home Page

Welcome to the PP4S Website!

The aim of the website is to provide valuable, but free, resources to help promote Pascal programming in schools by sharing ideas, knowledge and experience. We welcome contributions and feedback on the site. Please let us know what you think.

We advise most beginners to:
  1. follow the instructions on Getting Started with Lazarus or our section on Getting Started with Delphi;
  2. start to work through the first few tutorials in the order shown in the left panel of the tutorial contents page;
  3. look at the student programs, starting with the more straightforward ones at the beginning of the table and also the first few using the Crt unit.

We invite adventurous beginners to learn Smart Pascal.

Note: We encourage confident Pascal programmers to write applications, applets and Android apps in Oxygene for Java with the help of our tutorial and to use Smart Mobile Studio to develop applications for web pages.

New! We have finished tutorial sections to help you to get started with audio and the physics engine Box2D in Smart Pascal and with Box2D in Lazarus. We demonstrate how well Box2D integrates with the simple fast multimedia library PasSFML. You can compare the code of the Smart Pascal and Lazarus/PasSFML versions of our marionette, for which we provide an entertaining online demo.

The next three paragraphs describe preceding updates.

See our Smart Pascal demonstrations of the use of DIY buttons and inbuilt TW3Buttons for achieving continuous motion of an object by either mouse or touch input. You can also use inbuilt widgets in your canvas games for providing users with options.

Also new in Smart Pascal is a section entitled Datasets and Databases, which features access by Node.js to Firebird and MySQL databases on a Raspberry Pi from web pages. It also covers SQLite databases, which are particularly easy to set up and use.

We have added to the Pascal database tutorial sections about SQLite (including its use on a Raspberry Pi) and Firebird on a Pi. Both new sections cover the handling of date and blob fields.

Site Statistics February 2015

The site contains among its thousand pages:

  • 358 pages of tutorial material for Pascal, 89 for Oxygene for Java and 68 for Smart Pascal (using the Smart Mobile Studio IDE);
  • 91 student programs spread over 327 pages;
  • 80 on-line Smart Pascal programs;
  • 63 pages of resources such as the Getting Started series;
  • 30 pages of challenges such as suggestions for programs, programs to complete and programs to debug;
  • A Pascal general index with 340 terms linked to relevant pages
  • A Pascal index of routines with links to examples of the use of 311 procedures/functions;
  • An Oxygene for Java general index with 151 terms linked to relevant pages;
  • An Oxygene for Java routine index with links to examples of the use of 193 methods;
  • A Smart Pascal general index with 213 terms linked to relevant pages
  • A Smart Pascal routine index with links to examples of the use of 126 procedures/functions.
On February 11, the top ten user countries and their percentages of visits over the previous 31 days were reported by Google Analytics to be: United Kingdom (13.97%), United States (6.59%), Germany (6.27%), India (6.26%), Brazil (3.62%), Poland (3.09%), Indonesia (3.05%), Russia (3.00%), Netherlands (2.76%) and France (2.58%).

During the same period the ten most frequently visited tutorial/resource pages were reported to be:

  1. Using a String Grid
  2. Writing your First Pascal Program using Lazarus
  3. Sorting and Searching
  4. Getting Started with Pascal on the Pi
  5. Common Error Checklists
  6. Delphi Canvas Demonstration
  7. Using a DBGrid in Lazarus
  8. Using a DBGrid in Delphi
  9. Creating and Printing a Report
  10. Using ClientDataSets in Delphi

The top ten most viewed pages of student programs were reported to be:

  1. TowerOfArcher (Smart Pascal)
  2. Cool (Smart Pascal)
  3. Pascal Pokemon Code for Windows
  4. MaxCircles (Smart Pascal)
  5. RockPaperScissors
  6. RandomPlatformScroller (Smart Pascal)
  7. PascalPokemon
  8. Battleships
  9. ChristmasProg
  10. Cars
Programming - a skill for life!

Introducing Pascal Programming for Schools