I love the idea! You could probably take 2 different routes with this:
Either its a deterministic scenario, you can only hardcode the behavior for a certain level and the player code would need to be limited in a way that they cant write an ai that just wins every level, maybe each level has different amount of blocks of each type or something, like one level doesnt have an 'if' statement at all or something like that.
Alternatively you can freely program a pong ai that can dynamically react to the current situation and each level introduces some completely new mechanic that requires a completely new pong ai, like multiple balls, zones you are not allowed to hit with the ball or paddle, etc. In that case the scenario could be randomized so you cant just hardcode the paddle behavior.