Well, I'm currently teaching DB in a course in University. Students had already gone through advanced programming (this includes torturing them through a whole semester with massive projects, they really learn a lot).
In my course there is currently a project in which I give each student an account in a server and he has to connect to PostgreSQL using PHP, show some queries, fix some problems that SQL can't handle using PHP ,etc etc etc.
But I'm thinking of ways to improve this. Currently they use FTP to connect to the server, upload the php files and then see how the changes went. Of course if they forgot a semi colon or something like that Apache just won't render the page and they won't have any clues as to what went wrong.
What do you think about the technologies used?
In another question I asked they told me to use Git but I think Git is slow if you want to test as you need to SSH to the server and do a git pull.
Do you have any suggestions or ideas?