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.

Newest! The latest three developments are for Smart Pascal. A game can often be enhanced by providing options to tailor it to the user's computer and skill, so we provide a way of showing a modal form for data entry at the start of a canvas game. Secondly, we present Compendium, a multi-form showcase of four motion graphics contributions. The third change is an update to our simple TW3Dataset demonstration to include the use of the Locate function that was introduced very recently in Version 2.2 RC 2 of Smart Mobile Studio.

New! We welcome a Smart Pascal game from Hamish, a promising new young contributor. The aim of BounceBlocks is to hit the ball with the paddle and to gain bonus points by striking a stationary goal and moving enemies. The ball bounces off stationary blocks to make the trajectory more difficult to predict and the paddle becomes narrower as the game progresses. Hamish provides background music he created with SonicPi and sound effects.

New! We have completed a short tutorial to help you to get started with GLScene for making 3D games and motion graphics in Lazarus.

New! We are working on a Smart Pascal graphics section to encourage you to try fast rendering with Pixi.JS.

The next four paragraphs describe preceding updates.

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.

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 2016

The site contains among its eleven hundred pages:

  • 382 pages of tutorial material for Pascal, 89 for Oxygene for Java and 105 for Smart Pascal (using the Smart Mobile Studio IDE);
  • 96 student programs spread over 332 pages;
  • 102 on-line Smart Pascal programs;
  • 89 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 374 terms linked to relevant pages
  • A Pascal index of routines with links to examples of the use of 380 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 284 terms linked to relevant pages
  • A Smart Pascal routine index with links to examples of the use of 173 procedures/functions.
On February 24, the top ten user countries and their percentages of visits over the previous 31 days were reported by Google Analytics to be: United Kingdom (11.00%), United States (9.36%), Germany (6.55%), Russia (4.72%), India (4.47%), Brazil (4.00%), Poland (2.83%), France (2.47%), Turkey (2.34%) and Netherlands (2.33%).

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

  1. Using a String Grid
  2. Sorting and Searching
  3. Delphi Canvas Demonstration
  4. Using a DBGrid in Lazarus
  5. Writing your First Pascal Program using Lazarus
  6. C# Firebird Demonstration (.Net)
  7. Using a DBGrid in Delphi
  8. Getting Started with Pascal on the Pi
  9. Displaying Data in a Chart
  10. Let's build a compiler!

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

  1. RockPaperScissors
  2. My_first_sdl2
  3. A_star
  4. CollatzASM
  5. Pascal Pokemon Code for Windows
  6. Morse Code
  7. Cars
  8. ChristmasProg
  9. Calculator
  10. BattleshipGames
Programming - a skill for life!

Introducing Pascal Programming for Schools