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! We add to our Smart Pascal graphics section Exclusion Zones, which demonstrates code to keep moving players and enemies out of areas such as walls and buildings. You can take advantage of inbuilt methods to make your code more concise.

New! Dom's on-line game Cool is our first Smart Pascal contribution by a Year 7 student. Beginners can learn by tweaking the code to change sizes, colours, speeds and feedback to the user. We wonder if and when Dom will be capable of emulating games like TowerOfArcher.

New! We are delighted to publish TowerOfArcher, George Wright's first Smart Pascal online game with images. See if, like us, you will want to return to the game (with a better performance next time). The game has attracted players from 25 countries within a few days.

New! If you would like to try developing your own visual component to install in Lazarus (and hence be available for dropping onto a form), see our example. For easy ways to display, modify, save and load data in Lazarus (in projects that do not require a relational database such as Access, MySQL or Firebird) follow our detailed instructions for linking a DBGrid, DataSource and DBNavigator to a MemdataSet or TBufDataset component.

The following six paragraphs summarize notable additions made this academic year.

See our demonstration of the TMapViewer component in Lazarus and enjoy adapting it for your own use. See also the start of the general Appendix (with overviews and assorted tips and tricks) and our demonstration of handling XML files in Lazarus.

George Wright contributes his C# program MorseCode to support our expanding tutorial C# after Pascal. Also, we have added a section on JavaScript after Pascal to our Smart Pascal tutorial.

Nathaniel Oshunniyi is using this site to learn Pascal and makes his own educational contribution CombinationPermutation after coming up with this fine idea of how to make use of several basic language features.

We have been developing our tutorial pages on Smart Pascal Forms and you can try out the demonstrations online. We have added pages on the TChart, TPaintBox and TTreeView to our tutorial on Lazarus/Delphi forms.

George Wright developed MovingBallWithParticles amazingly quickly to show to beginners a stunning way of enlivening a starter demonstration once you have become a skilful programmer.

We have converted ten "old favourite" student console programs to Smart Pascal so that you can try the web previews online.

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