I'm sorry to say that but Scrum is more targeted at customers and businesses than development teams. What I mean is that the customer should decide to use Scrum, not only the development team. Quoting Ken Schwaber and Kane Mar (in this old paper):
Scrum consists of practices and rules to be used by management, customers, and project management to maximize the productivity and value of a development effort. Scrum takes the responsibility for development projects out of engineering and IT and puts them squarely back in the business. With Scrum, businesses own and manage projects rather than tossing them over the wall to IT and hoping for the best. Scrum reintroduces accountability for IT projects to the business, requiring the business to maximize the ROI, without excuses. A business uses Scrum to run development projects in a business-like manner, paying particular attention to realizing the value of the investments as soon as possible.
In other words, Scrum, like all Agile methods, requires active customer involvement and if your customer isn't there for the demo (of the product you're developing for him), if he's not there for the sprint planning meeting, if he isn't available to answer questions, in other words if he's not involved, your implementation of Scrum will very likely be suboptimal (I'm extrapolating about the other points but I wonder how you will handle them with a remote customer).
Now I admit that this might not be a "that big" issue for a school project.
So, back to the initial question, if your only impediment is that the customer can't be on site for the sprint demo, you can maybe (because the immediate feedback you'll get is important):
- go to the customer
- use video conference
- plan the demo and the sprint planning meeting the same day to "optimize" the cost of transportation
- have the customer represented by someone else
This is one of the nice things with Scrum, you can make impediments visible and have your ScrumMaster work on them to get the team as productive as possible. And if you can't remove them, at least you know why your velocity isn't optimal.
And I hope you'll be able to use Scrum!