Et viktig mål for professor Bowles var å styrke undervisningen i programmering ved å utnytte de nye og stadig rimeligere mikroprosessorbaserte systemene på markedet. Med utgangspunkt i en idé skissert av Pascal-språkets far, Niklaus Wirth noen år tidligere (i boken ) ble det definert en virtuell maskin, kalt en 'p-maskin' eller 'pseudo-maskin' med et tilhørende instruksjonssett, 'p-code'. P-koden var hardware-uavhengig og portabel. Med en relativt enkel p-kode oversetter for hver systemtype, kunne programmer flyttes og kjøres uendret på maskiner fra ulike leverandører og med forskjellige arkitekturer. P-kode oversetterne var 'interpreterende', de oversatte i sann tid. Mellomtrinnet med p-kode hadde en betydelig ytelsesmessig kostnad, men portabiliteten veide opp for denne kostnaden. I tillegg er p-koden typisk mer kompakt enn vanlig kode for en gitt maskinarkitektur. P-systemet trengte 48k bytes hukommelse og tilgang til en floppy-disk enhet med minst 150kB kapasitet for å fungere.