A project is its own scheme and a standalone. It can work fine without a program but a program can't exist without a project or projects. A program is like "an umbrella" that collects certain projects under it. If a project is connected to a program, a better referral for the project could be "a sub project".
It is not possible to make resource allocations for a program as it only collects and sums up the data coming from the projects. When allocations are done for the program's projects, the program will show an overview of all the data.
You can find all the programs from Project > Programs and projects from Projects > Listing.