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.
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 (SMS) to develop applications for web pages.

New! Alex Karet's ConnectFourLaz is a simulation of Connect4 that allows you to play against a human opponent or against the AI (which implements the Minimax algorithm). We have tested the game but have not found a mistake in the implementation. Can you beat the AI? The version with a scoring system might help you to play better.

The following three paragraphs summarize notable additions in recent weeks.

We invite adventurous beginners and club members to learn Pascal by developing games in Smart Mobile Studio, following this guidance. We have also added demonstrations of the use of a grid and several pages on getting started with WebGL to produce 3D motion graphics. This topic should attract talented and ambitious programmers who are willing to extend their expertise to challenging areas. Note that we now use Version 2.1 of Smart Mobile Studio and offer these instructions for coping with changes. We provide notes and a demonstration on how to use WebGL and a TMetronome in Version 2.1 of Smart Mobile Studio.

Luke Ashcroft and George Wright developed card games including KnockoutWhist in Microsoft C#. We publish a RemObjects C# version together with equivalent Oxygene for .Net classes (with Pascal syntax) so that you can admire the depth of planning and advanced code that these young programmers achieve. We have converted George's Java program BankSimulator to Oxygene for Java for the benefit of Pascal programmers, who should appreciate particularly the use of inheritance amongst its many technical features.

James has set up a web server and website on a Raspberry Pi and has successfully implemented methods for remote control. The website includes online games that students at his school have developed using Smart Mobile Studio. We have added to our introduction to James's programs links to his popular guidance on the use of the Raspberry Pi.

Site Statistics March 2014

The site contains among its 779 pages in the site map:

  • 344 pages of tutorial material for Pascal, 85 for Oxygene for Java and 22 for Smart Mobile Studio (SMS);
  • 74 student programs spread over 255 pages;
  • 22 SMS programs running on our web pages;
  • 52 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 291 terms linked to relevant pages
  • A Pascal index of routines with links to examples of the use of 285 procedures/functions;
  • An Oxygene for Java general index with 149 terms linked to relevant pages;
  • An Oxygene for Java routine index with links to examples of the use of 193 methods.
On March 23, the top ten user countries and their percentages of visits over the previous 30 days were reported by Google Analytics to be: United Kingdom (15.20%), United States (9.67%), Germany (5.60%), Brazil (5.05%), India (4.66%), Netherlands (3.48%), France (3.10%), Indonesia (2.97%), Italy (2.95%) and Russia (2.88%).

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

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

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

  1. Pascal Pokemon Code for Windows
  2. PascalPokemon
  3. MaxCircles
  4. ChristmasProg
  5. RockPaperScissors
  6. Battleships
  7. Morse Code
  8. SUVAT
  9. DelphiManager
  10. BigFibonacci
Programming - a skill for life!

Introducing Pascal Programming for Schools