In my course "Foundations of PostgreSQL v13" the instructor tells:
"Whenever the wal file has been checkpointed, which means: has been synced to the data file ..."
I read the documentation about wal files and checkpoints but maybe not thoroughly enough. I do not understand what he is saying.
What I understood is that with a checkpoint the dirty tables and indexes are written to disk so that the wal file has become superfluous and can be removed (or archived).
WAL and checkpoints are mostly independent from each other. The only dependencies are
PostgreSQL writes a WAL record at the end of the checkpoint
new WAL segments are created and old WAL segments are removed at the end of a checkpoint
But WAL is definitely not synced to the data files during a checkpoint. Perhaps you misunderstood your instructor, perhaps your instructor was out of his depth.